关于VP*N routing 的理解

昨天有一台小VPS的梯子怎么也上不去了,debug了一天才发现原来是routing 的问题。平时一直没有时间仔细看一下梯子的routing,今天仔细解析一下:

在pptpd.conf上,我们通常会加入如下两句命令:

localip 192.168.9.1
remoteip 192.168.9.11-30 //表示vp000n客户端获得ip的范围

如此可见,pptp是将远程服务器和pptp客户端建立一个内网,用类似于192.168.9.0/24的网段,再将远程服务器的IP和localip进行动态NAT,用远程的服务器的IP做为gateway来访问外网

假如说远程服务器的IP是207.210.83.140,我们就需要在IPtable上添加一个NAT的命令:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j SNAT –to-source 207.210.83.140

表示所有用eth0网卡的source ip位192.168.9.0/24的数据包,他的source IP将会被改为207.210.83.140

或者如果这台服务器专门用来扶墙,就可以简单一点,更省事一点

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

MASQUERADE 表示自动获取服务器的默认地址,就不需要–to-source命令了。

在服务器只有一个IP的情况下是可以的,但是如果你有多个IP,最好使用–to-source来区分不同的出口IP

 

 

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.