music unfamous original game design efficient software wtf
life ui algorithm fix programming

VPN 连接后无法上网问题的解决

作者:frinity  Misc    2016-7-10  标签:  wtf 

    自己部署一个基于 Debian PPTP 的 VPN 服务器,客户端用 Win10 自带的客户端连接。配置方法网上有很多。

    服务器的配置可参考这篇

    客户端配置特别简单。

    

    注意 Win10 默认的客户端是虚拟出一个网卡的,毫无疑问,网络仍然走的是物理网卡。后来装过虚拟机,因此又虚拟出来几个网卡。接下来问题就出现了:每当我正常连接 VPN ,就不能上网了。

    起初猜测可能是虚拟机网卡的问题,问题是虚拟机不启动网卡应该是未连接。从而理论上不会影响系统路由表。

    是不是因为安装虚拟机,改变了某些设置?从而影响了 VPN 连接后的状态?

    找到这篇文章,看了看很有道理,但又深深的觉得不是这么回事,因为既然是 windows 自带的 VPN 客户端,使用虚拟网卡的方式,根据 windows 的作风,他没有理由不解决这种双网卡路由的问题。

    重新考虑 VPN 服务器配置过程,发现了一点可能性,重新执行:

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source VPN服务器的IP
这里假设/etc/pptpd.conf 中 localip 配置的为 192.168.10.x。

    原因在于,配置 VPN 服务器完成后服务器重启过,导致 iptables 规则丢失,解决重启的方法的一种是,把这条命令加入开机执行脚本中。