解决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

TP-Link TL-WR941N Ver 5.1安装OPENWRT过程

昨天为了试验下adsl多拨刷OPENWRT成砖了,硬件是WR941N Ver 5.1,用的是在原厂固件下的web界面直刷openwrt-ar71xx-tl-wr941nd-v4-squashfs-factory.bin的方法,很可惜刷完后除了lan口一个都不亮,复位也无效,折腾了一晚上才救砖成功,今天打算用一下方法再刷一次。

1.打开ddwrt的网站,下载WR941N对应的DD-WRT固件,

然后用TP-LINK自带的固件升级页面升级成ddwrt,,这样DDWRT就刷好了。

2.通过DDWRT为WR941N Ver5.1刷入OPENWRT

DDWRT刷好后,在IE浏览器输入http://192.168.1.1,在DDWRT“服务”页面中开启SSH服务;然后将下载的OPENWRT固件文件(openwrt-ar71xx-generic-tl-wr941nd-v4-squashfs-factory.bin)通过WinSCP上传到/tmp目录,

3.telnet 到路由器,输入以下命令

cd /tmp/

mtd -r write openwrt-ar71xx-generic-tl-wr941nd-v4-squashfs-factory.bin linux

过几分钟后路由器会自动重启,,这里需要说明的是,WR941N的openwrt固件默认没有打开无线功能,需要插上网线到LAN口,然后在IE界面输入http://192.168.1.1,然后将无线功能启用,

这样就可以正常使用无线功能了。

tplink 941n v5.1 ttl线救砖 刷原版固件教程

TTL接线方法参考大大的.
http://www.openwrt.org.cn/bbs/fo … thread&tid=6538

注意这里是应该插3根线(RX TX GND),v5.1并不带底针需要自己焊上去,材料可以在废旧的主板上找。

具体操作方法参考大大的,里面的命令部分按我下面给的
http://www.openwrt.org.cn/bbs/fo … thread&tid=3617

如果网上其他人提供的5.1命令有点问题刷不进去,下面这段可行
命令部分
setenv serverip 192.168.1.169;setenv ipaddr 192.168.1.1
tftp 0x80000000 abcd.bin
erase 0x9f020000 +0x3c0000
cp.b 0x80000000 0x9f020000 0x3c0000

固件到tplink官网下载好改名abcd.bin就好了