比内网穿透更简单的远程连接家庭方案!

很多文章介绍用内网穿透的方法,远程连接到家庭网络。内网穿透方法适用于你没有权限控制路由器(比如公司的网络)、没有公网IP的情况,因此不得不依赖一个第三方的公网服务器做桥梁建立连接。如果你是想连接到家里,家里的路由器是你所能控制的,只要有个小设备做内应,并且家里的宽带具有公网IP,完全可以用更简单的方式连接。

其实说白了很简单,就是在家的某个服务器上装一个虚拟专用网络(英文缩写为敏感词)服务,再通过路由器开放端口到公网,然后在外的手机或电脑通过系统内置的连接客户端即可建立连接,连接成功后,设备就处于家庭局域网之中了。

虚拟专用网络有多种协议可实现,选型时,因为苹果手机不支持PPTP协议,所以选择了IPSec方案。

安装


我的虚拟专用网络服务搭建在猫盘上,操作系统是Debian 10,直接使用一键安装脚本即可,作者的文档已经写的非常详细,直接参考就可以。脚本是这样的:

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh

注意点:
请记录下一键脚本安装后在屏幕上显示的PSK、账号、密码信息,配置客户端的时候要用。

配置端口映射


虚拟专用网络服务器在家庭内网中,需要在路由器上开端口映射才能在外面连接。
在路由器上添加两个UDP端口映射到服务器,分别是500和4500。注意不要修改端口号,因为客户端无法自定义端口。

DDNS


为了能让客户端找到你家的网络,所以实际上还需要用DDNS,申请个域名,并绑定到宽带的动态公网IP地址。这方面的教程网上很多,这里就不说了。

客户端连接


其实完成上面的步骤就已经结束了。。。
现在的安卓手机和苹果手机都内置虚拟专用网络连接方式,以安卓手机为例,在设置->其他无线连接->威屁N(请自行理解对应英文)中,按照安装环节记录下的连接参数设置好就行,如下图所示,然后就可以试试连接了!


image.png

客户端无法联网问题


在外使用客户端拨号进入家庭网络后,能操作家里的服务器,但却无法上互联网。经排查,发现是因为一键脚本自动配置的iptable设置在Debian 10上无效。参考了这个链接,把/etc/network/if-pre-up.d/下的iptablesload文件移动到/etc/network/if-up.d/下重启即可。这是不是正确的方法我也不知道,请大神指教!

找回PSK、账号、密码


后来要在一台新设备上配置客户端,发现找不到当初记录的账号信息了,最后在服务器上找到了原始信息:

  • 预共享密码(PSK):在/etc/ipsec.secrets文件中
  • 账号、密码:在/etc/ppp/chap-secrets文件中

你可能感兴趣的:(比内网穿透更简单的远程连接家庭方案!)