pptp做vpn, 连接到内网直接能访问内网IP

2013-02-19 刘太华 更多博文 » 博客 » GitHub »

move from old blog

原文链接 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服务.