为什么配置了VPN还是无法上网?
最近在研究基于UDP的私有网络(VPN),首先解答了我一个误区,基于UDP的VPN只能转发UDP数据。其实,这里的基于UDP可以理解为用UDP承载数据,而这个数据具体什么格式的不重要,如果产于传输的两个节点(Peer)的两个应用之间是用TCP传输也是可以的。只是节点Peer1先把数据扔给VPN网卡1,VPN网卡1用UDP封装数据,然后给到Peer2的VPN网卡2,然后用VPN网卡2还原Peer2本应该接收的数据,完成应用之间的数据交换。 在保证了VPN的配置没有问题,两个节点可以正常通讯以后,就算客户端热切的希望能通过VPN上网,但是实际上并不能,原因是:
就算服务端已经配置了NAT,但是还缺少ip_forwarding的配置
GCD上Debian默认ip_forwarding是关闭的 需要用vi工具打开文件sysctl.conf
vi /etc/sysctl.conf
把下面两行前面的#去掉,然后保存
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
然后重新加载ip_forwarding
sysctl -p
搞定!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!