在自己家搭建一个 VPS

这个只有在朋友圈环游世界的国庆,闲来无聊,弄了几个技术。其中一个,就是自己在家的 vps 。

具体为啥?

因为我想免流,然后,国外的那个 vps 太慢,又没钱买一个国内的。自己弄一个,方便自己使用,多好啊。
家里的 vps 能干啥,不知道,反正用的是 pcduino 弄得,性能过得去,随便外网使用咯。以后想干啥,就干啥了。


准备

  • 一条有外网 IP 的网线
  • 路由器,条件:能绑定虚拟服务器,固定内网设备的 ip,例如我这个的 tplink TD-W89841N增强型。
  • 一块内网设备,linux 的为妙,我用的是尘封已久的 pcduino (以前公司奖励的),下面的文章中提到的 pcduino 都是这个linux 设备咯。

下面开始操作啦。


第一步,链接设备

链接网络,链接 pcduino 设备,上电,链接。

然后为 pcduino 设定固定的 ip ,避免每次重启之后的 ip 都变动了。

如图。

其中那个 ip 为 192.168.1.3 的那个就是 pcduino 机器。固定为了 192.168.1.3 ,记着这个 ip ,下面会用到。
固定的步骤粗略说下把:

  • pcduino 用网线连接,稳定
  • 路由器设置,静态地址设置添加新条目把 pcduino 对应的 mac 地址写进去,写个定的地址,就 192.168.1.3
  • 重启 pcduino ,启动完毕之后,就是上面提到的固定了的 ip 了。

第二步,ddns

其实就是怎么知道外网的ip咯。

现在的宽带,重启路由,就给你换个 ip ,你怎么知道下次重启路由之后的 ip 是啥。

所以用到了 ddns 大法。 外边有提供服务的, 就 http://ddns.pboehm.org/

我弄个特定的,假设弄一个 demoddns.d.pboehm.de

网站给的代码是

1
curl "http://ddns.pboehm.org/update/demoddns/bf98352df343a71130fc3d8b298aa1a70f477a5a"

所以只需要跑一下这个指令,就能设置 ddns 了。

然后,你知道了 demoddns.d.pboehm.de 的对应解析记录,就肯定知道了自己的宽度此时的 ip 啦。

跑下 dig 看看咯。

1
dig @dns.pboehm.de demoddns.d.pboehm.de

这个时候,我都都不知道绑定到谁的 ip 了,因为我在文章里面设定了个动作,自动把 ddns 更新到最新查看的人的 ip ,所以你过一会 dig 一下,估计就解析到你的 ip 了。

ps: 解析可能有点延迟,就酱。但是这个 server 是解析最快了的,因为是他家的。


第三步,让 pcduino 自动更新 ddns

就是弄个定时任务咯,我定时了每一分钟跑一次。

把上线的网站给的 curl 指令存到 /home/linaro/crontab/ddns.sh 中,并增加全部人 x 权限。

看我的 crontab,加进自己的 crontab 。(如果开机 crontab 没自动启动,记得启动下, /etc/init.d/anacron 这个能帮你。)

1
* * * * * linaro /bin/sh /home/linaro/crontab/ddns.sh

就这样,每一分钟都泡一下那个 ddns.sh 的指令


第四步,内网转发咯。

看图

我把部分开启的端口,通过这样子绑定虚拟服务器方式,暴露到了公网。最重要的是,把 ssh 链接端口暴露,这样才能链接进来。

注意,外网上面的人都很邪恶,记得把 ssh 登录的密码设定很复杂,或者不让 ssh 密码登录。


第五步,内网漫游

有了一个 vps ,你说能干啥,要是能远程管理路由器,那就完美了。所以这个时候,ss 就帮了很大的忙。

在 pcduino 上面搭建一个 ss 服务,然后想要在外网控制路由器的时候,就使用这个 ss 进行全局代理,肯定能帮你忙咯。

这个时候,你都能在外网控制自己的路由器了,还有什么鬼干不了?


第六步,局限

貌似 80, 8080 之类的端口,都不能访问,被运营商限制了,怕被像我这样的人弄成家里的 vps 挂个 1024 网站,那还得了?


第七步,免流

目前来说,都是失败中。


总结

  • 第一,这是一篇流水账,语文老师教的不好,就这样吧。
  • 第二,ss 链接的端口,千万不能手贱从路由器去掉绑定了,不然你就回不来内网了。
  • 第三,允许 ssh 登录,密码一定要设定为复杂密码,不然被爆破了就不好了。
  • 第四,今天感觉 blog 就是老人机模式,破字体,一直不知道哪个字体最佳。反正 iphone 上面看起来挺不错的。结果,换了 qq.com 的那个。