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

2017-08-17 10:35:07 +08:00
 shuizhengqi

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

地址Aliddns

8406 次点击
所在节点    分享创造
18 条回复
Famio
2017-08-17 10:50:19 +08:00
感觉你有点绕远路了,现在路由器不都是自带 ddns 服务的么,甚至大多数都是免费的啊。
hxsf
2017-08-17 10:54:56 +08:00
还差:
1. 判断是不是公网 IP,否则重播 PPPoE
2. 断电重启
shuizhengqi
2017-08-17 10:55:38 +08:00
@Famio 好久没看过路由器上的了。。之前用过花生壳的,不能用我自己的域名,然后就没搞了
shuizhengqi
2017-08-17 10:56:53 +08:00
@hxsf 里面有个获取 ip 的部分,访问一个外网网址然后获取到自己的公网 ip,断电重启这种可以写在开机启动项里面吧
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
2017-08-17 11:01:21 +08:00
@hxsf #5

笔记本没电关机后 指的是 停电这种意外情况下。
ys0290
2017-08-17 11:01:23 +08:00
这叫 DDNS
shuizhengqi
2017-08-17 11:07:01 +08:00
@hxsf 我是打算远程拿来开发方便,没打算当作生产服务器什么的。。没考虑到这个问题
shuizhengqi
2017-08-17 11:09:04 +08:00
@hxsf ip 的话,我测试了是能用的,暂时还没遇到你说的那种
Famio
2017-08-17 11:40:46 +08:00
@shuizhengqi 我早期做的拓扑,现在已经有些改动了,给你参考下。
https://www.v2url.com/uploads/89bc971d5f.png
bengle
2017-08-17 11:43:13 +08:00
之前用花生壳,现在电信光猫给禁了
flyingfz
2017-08-17 11:49:27 +08:00
我也用 nodejs 写了个,不过 是 dnspod 的。我是直接读取 路由器的状态页面的 ip 地址,然后更新域名信息。
mritd
2017-08-17 11:58:04 +08:00
就一个 DDNS。。。还改造笔记本为云服务器。。。这标题真够可以的,看了下小脚本 哈西欧爱那个 二级域名还是死的.... Tomato 笑而不语 https://github.com/mritd/ttsoft-gdddns
anyele
2017-08-17 12:50:55 +08:00
有公网 IP 就花生壳, 没有公网 IP 就 frp
Judoon
2017-08-17 13:16:52 +08:00
现在路由都带 ddns 的,不能用自己域名也没关系啊,用自己域名 CNAME 一下不就完事了。
电信没封 443,所以直接开个 nginx,路由器上吧 443 映射到笔记本上,腾讯云搞个免费的 DV 证书,也是美滋滋
cszeus
2017-08-18 07:38:57 +08:00
@Famio 哥们常熟人啊
Famio
2017-08-18 08:35:53 +08:00
@cszeus 嗯嗯,大常熟
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 协议。申请个免费证书或者自签证书,即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/383594

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX