pptp做vpn, 连接到内网直接能访问内网IP
原文链接 https://liutaihua.github.io/2013/02/19/pptp-vpn-iptables.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
pptp服务器:
pptp下发下去的ip网段: 10.168.0.0/24
iptables配置: (注意打开ip_forward转发): -A FORWARD -s 10.168.0.0/24 -j ACCEPT -A POSTROUTING -s 10.168.0.0/24 -j MASQUERADE
增加一条路由, 将访问内网172.16.8.0/24的转发到 内网一台已拨pptp到服务器上的一个IP10.168.0.234:
route add -net 172.16.8.0/24 gw 10.168.0.234
在内网这台10.168.0.234的服务器上, 存在另外一个真正的内网网卡IP 172.16.8.213,在这个服务器上启动iptables, 将它当路由器使用来路由网络请求到整个172.16.8.0/24的内网网段:
同样的iptables配置: (注意打开ip_forward转发)
-A FORWARD -s 10.168.0.0/24 -j ACCEPT
-A POSTROUTING -s 10.168.0.0/24 -j MASQUERADE
增加一条route: route add -net 10.168.0.0/24 gw 10.168.0.1
配置完成, 下面是谁想通过pptp真正连接到内网时, 自己的配置方法:
for linux:
使用pptpsetup程序: ./pptpsetup --create test --server 180.153.136.14 --username test --password defage --encrypt --start 然后增加一条路由:
route add -net 172.16.8.0/24 gw 10.168.0.1
若需要访问其他pptp节点, 须增加: route add -net 10.168.0.0/24 gw 10.168.0.1
然后可以直接ping通内网的172.16.8.0/24内任意主机了.
for mac:
连接VPN后, 打开系统偏好设置==>网络设置 ===> 设定服务顺序, 将VPN拖到最高得位置, 表示网络将优先使用vpn连接.
for windows:
限制:
由于180.153.136.14服务器的网关 NAT存在针对pptp协议的对点限制,单个出口IP只能有一个client可以连接上180的VPN服务.