接上篇能够跑通VPN后, 下一步就是在手机上开启wifi热点, 使得连上移动电源的Rpi2能够顺利连接.
- 首先, 断开 当前跟服务器之间的VPN连接,在Rpi1上输入以下命令, 目的是转发80端口到接通VPN的手机上:
sudo iptables -t nat -A PREROUTING -d 192.XXX.XXX.XXX -p tcp –dport 80 -j DNAT –to-destination 10.8.0.6:80
192.XXX.XXX.XXX 是Rpi1的内网地址
80端口视情况而定, 也可以是8080或者其他的端口
10.8.0.6:80 是连接上VPN的手机内网地址
-
使用 sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 添加Android无线热点, 差不多应该是下面这个样子的, 然后保存关闭, 重启Rpi2
- 过大概5分钟左右, 查看手机上的无线连接情况, 看看是不是已经有客户端连上了.
-
在手机上安装Terminal, 打开Terminal, 依次输入以下命令 # Android为了安全起见, 在连接VPN的同时, 默认是不允许其他设备通过热点连接到本机的.
- su
- iptables -A FORWARD -j ACCEPT
- iptables -t nat -A POSTROUTING -j ACCEPT
- ip rule show #找到Rpi2在当前手机上的IP 地址, 一般来说就是第一行, 或者第二行.
- ip route add XXX.XXX.XXX.XXX/16 dev wlan0 table 60 # XXX.XXX.XXX.XXX/16 就是你在上一条命令中看到的那个地址. table 60 也是你在上一条命令中看到的.
- su
好了, 现在就能打开VPN了, 看看能不能在连上VPN的同时, Rpi2也能同时连接到你的手机.
- 接下去就简单多了, 只要将转发到手机80端口的消息转发到Rpi2上就可以了.
- 在手机上安装Port Forwarder这个APP, 事实上, 使用这款软件只能转发1024以上的端口, 这里以8080为例. 如果你要转发80端口,可以安装Port Forwarder Ultimate, 前提是你的手机必须已经取得root权限.
- 打开Port Forwarder这款APP, 添加目标IP, 也就是Rpi2连接到手机后分配的IP地址. 添加8080端口, 启动服务就可以了. 注意, 如果转发不成功,你可以尝试将APP的Algorithm切换成AlgorithmTCP2012.
- 接着修改路由器的转发端口, 确保8080或者80端口已经转发到你的Rpi1服务器.
- 这时, 如果你在其他的电脑上输入你的路由器IP地址,应该就能直接打开构建在Rpi2上的网站了
如果以上都成功的话, 你还可以将自己的域名绑定到你路由器的IP地址. 这时, 你已经拥有了一个属于自己的可以随身携带的网站了.