V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
shuizhengqi
V2EX  ›  分享创造

改造闲置笔记本成为云服务器

  •  
  •   shuizhengqi · 2017-08-17 10:35:07 +08:00 · 8579 次点击
    这是一个创建于 2648 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为自己有几个阿里云的域名,还有一台闲置的笔记本在家。想着在家放着也是浪费,不如拿来改造一下做成一个自己的云服务器来使用。因为国内种种的原因,80 端口默认被禁掉了,为了安全起见我也没有开启 22 端口,而是在路由器上做了一层端口映射,将路由器收到的 xx 端口转发到笔记本的 22 上。
    脚本是使用 python 和 aliyun 的 sdk 做成的,通过获取到本机的公网 ip 地址,然后调用阿里云解析的 api 来进行修改。目前实现的有三个:
    1.检测本机公网 ip
    2.判断解析是否存在
    3.判断解析地址是否与当前 ip 一致
    因为 ISP 提供的 ip 经常会变,所以使用 crontab 创建一个任务定时执行脚本之后,每次只需要访问自己的域名就能登陆到家里的服务器了

    地址Aliddns

    18 条回复    2017-08-19 07:56:06 +08:00
    Famio
        1
    Famio  
       2017-08-17 10:50:19 +08:00
    感觉你有点绕远路了,现在路由器不都是自带 ddns 服务的么,甚至大多数都是免费的啊。
    hxsf
        2
    hxsf  
       2017-08-17 10:54:56 +08:00
    还差:
    1. 判断是不是公网 IP,否则重播 PPPoE
    2. 断电重启
    shuizhengqi
        3
    shuizhengqi  
    OP
       2017-08-17 10:55:38 +08:00
    @Famio 好久没看过路由器上的了。。之前用过花生壳的,不能用我自己的域名,然后就没搞了
    shuizhengqi
        4
    shuizhengqi  
    OP
       2017-08-17 10:56:53 +08:00
    @hxsf 里面有个获取 ip 的部分,访问一个外网网址然后获取到自己的公网 ip,断电重启这种可以写在开机启动项里面吧
    hxsf
        5
    hxsf  
       2017-08-17 11:00:38 +08:00
    @shuizhengqi #4 你访问外网地址得到 IP1: 123.123.123.123 ,PPPoE 被分配到 IP2: 10.100.xx.xx 。 这种情况,IP1 是你 nat 出口,IP2 才是你的 IP, 这样没用的。

    2. 指的是 笔记本没电关机后, 来电重启。(老电脑我觉得电池应该抗不了多久吧,也不会配备 UPS 吧)
    hxsf
        6
    hxsf  
       2017-08-17 11:01:21 +08:00
    @hxsf #5

    笔记本没电关机后 指的是 停电这种意外情况下。
    ys0290
        7
    ys0290  
       2017-08-17 11:01:23 +08:00 via iPhone
    这叫 DDNS
    shuizhengqi
        8
    shuizhengqi  
    OP
       2017-08-17 11:07:01 +08:00
    @hxsf 我是打算远程拿来开发方便,没打算当作生产服务器什么的。。没考虑到这个问题
    shuizhengqi
        9
    shuizhengqi  
    OP
       2017-08-17 11:09:04 +08:00
    @hxsf ip 的话,我测试了是能用的,暂时还没遇到你说的那种
    Famio
        10
    Famio  
       2017-08-17 11:40:46 +08:00
    @shuizhengqi 我早期做的拓扑,现在已经有些改动了,给你参考下。
    https://www.v2url.com/uploads/89bc971d5f.png
    bengle
        11
    bengle  
       2017-08-17 11:43:13 +08:00
    之前用花生壳,现在电信光猫给禁了
    flyingfz
        12
    flyingfz  
       2017-08-17 11:49:27 +08:00
    我也用 nodejs 写了个,不过 是 dnspod 的。我是直接读取 路由器的状态页面的 ip 地址,然后更新域名信息。
    mritd
        13
    mritd  
       2017-08-17 11:58:04 +08:00
    就一个 DDNS。。。还改造笔记本为云服务器。。。这标题真够可以的,看了下小脚本 哈西欧爱那个 二级域名还是死的.... Tomato 笑而不语 https://github.com/mritd/ttsoft-gdddns
    anyele
        14
    anyele  
       2017-08-17 12:50:55 +08:00
    有公网 IP 就花生壳, 没有公网 IP 就 frp
    Judoon
        15
    Judoon  
       2017-08-17 13:16:52 +08:00   ❤️ 2
    现在路由都带 ddns 的,不能用自己域名也没关系啊,用自己域名 CNAME 一下不就完事了。
    电信没封 443,所以直接开个 nginx,路由器上吧 443 映射到笔记本上,腾讯云搞个免费的 DV 证书,也是美滋滋
    cszeus
        16
    cszeus  
       2017-08-18 07:38:57 +08:00
    @Famio 哥们常熟人啊
    Famio
        17
    Famio  
       2017-08-18 08:35:53 +08:00
    @cszeus 嗯嗯,大常熟
    fox0001
        18
    fox0001  
       2017-08-19 07:56:06 +08:00
    我的需求跟楼主差不多,我的解决方案:
    1 )国外买个 org 域名
    2 ) dnspod.cn 注册个账号,用 dnspod 提供的免费域名绑定服务,重点是提供 API,可以实现程序动态绑定(官方有各种语言的示例代码)
    3 )树莓派写个 Python 脚本,自动检测当前外网 IP,如果和上一次的结果不一致,则调用 dnspod 的 API (就是个 post 请求)更新域名与 IP 的绑定。我是 1 分钟执行一次,反正电脑很闲
    4 ) 80 端口不能访问的问题,可以用 443 端口,即使用 https 协议。申请个免费证书或者自签证书,即可
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:12 · PVG 04:12 · LAX 12:12 · JFK 15:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.