解决15年新版openwrt无法pptp内网穿透的问题

使用openwrt做网关路由器,会存在内网windows客户端 PPTP拨号无法连接外网pptp服务器的问题!错误号:619!
PPTP方式的VPN使用了GRE协议,这个协议跟TCP/UDP是同一级的协议。因为GRE协议没有端口的概念,LINUX不能像TCP/UDP那样IP伪装。所以,LINUX网关后面的pptp vpn客户机连接vpn时总会遇见这种那种的问题。
也就是所谓
pptp pass through
PPTP VPN协议 NAT穿透性问题!
参考:LINUX网关后面的pptp vpn客户机连接vpn:
详见:http://www.bizsn.com/info/a/fuwu … 009/0917/15443.html
参考:http://technet.microsoft.com/zh-cn/library/bb877963.aspx

方法:
1、确保安装以下几个ipk包:  kmod-gre kmod-ipt-conntrack-extra kmod-ipt-nat-extra iptables-mod-conntrack-extra

2、防火墙添加以下规则(防火墙默认开放所有端口):
vi /etc/firewall.user:
iptables -t nat -I PREROUTING -p gre -j DNAT

意思是将所有的GRE包转发到pptp client IP 。注意:这个规则在重启防火墙后要过一段时间(2-3分钟)才起作用!

按照openwrt wiki上说的,安装kmod-ipt-nat-extra,可以解决内网多pptp客户端连接问题,未测试!!

 

在/etc/firewall.user添加
## PPTP: forward initiator 1723/tcp
iptables -t nat -A prerouting_wan -p tcp –dport 1723 -j DNAT –to 192.168.4.194
iptables -A forwarding_wan -p tcp –dport 1723 -d 192.168.4.194 -j ACCEPT

## PPTP: forward tunnel GRE traffic
iptables -t nat -A prerouting_wan -p gre -j DNAT –to 192.168.4.194
iptables -A forwarding_wan -p gre -d 192.168.4.194 -j ACCEPT

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Time limit is exhausted. Please reload CAPTCHA.