通过加载ip_nat_pptp模块使iptables支持PPTP穿透


之前为了做L7filter的测试,在公司里找了一台Linux主机,通过iptables搭建了一个网关,期间发现通过该网关上网无论如何都无法成功的连接上自己的VPN,开始一直以为是L7filter的过滤策略有问题,把相关策略全部清掉后还是一样。
于是怀疑应该是和iptables的配置有关,登陆到PPTP的服务器上,查看log,发现以下错误信息:
---
Starting negotiation on /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xc93c30c6> <pcomp> <accomp> <mrru 1500> <endpoint [MAC:00:16:3e:d8:d7:39]>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xc93c30c6> <pcomp> <accomp> <mrru 1500>
...
LCP: timeout sending Config-Requests
Connection terminated.
---
经搜索,发现有人提到PPTP穿透需要在iptables中配置,就像一般的路由器一样。通过lsmod查询,发现确实没有pptp模块,于是就通过以下命令加载了一下该模块:
# modprobe ip_nat_pptp
加载之后,果然能够正常拨上VPN了。

为了能够让iptables在每次启动的时候都自动加载该模块,最好在/etc/sysconfig/iptables-config中加入该模块:
IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_pptp"

,

  1. #1 by cherishsir on 2014/11/14 - 10:31

    谢谢你的文章,正好用到

(will not be published)
*