使用iptables做一个VPN路由器

我试图build立到第三方VPN站点的VPN连接,然后将stream量从我的内部计算机(现在的ssh和ping)转发到使用IPTables的VPN站点。

第三方< – >(tun0 / eth0)Linux VPN盒(eth1)< – > Windows7TestBox

我在CentOS 6.3 Linux上运行,并有两个networking连接eth0-> public eth1-> private。 我正在运行目前连接到我的目的地的vpnc-0.5.3-4。

当我连接时,我可以ping通目标IPAddresses,但是尽可能的我可以得到。

ping -I tun0 10.1.33.26成功

ping -I eth0 10.1.33.26失败

ping -I eth1 10.1.33.26失败

我有我的私人networkingWindows 7testing框设置为我的VPN服务器的eth1(私人)networking作为其网关,并可以ping他好。 我需要IPTables将Windows 7stream量发送出VPN隧道。

我已经尝试了几天不同的IPTablesconfiguration从这个站点和其他例子,或者其他例子太简单或过于复杂。 这台服务器唯一做的就是连接到VPN并转发所有stream量。

所以我们可以“冲洗”一切,从头开始。 这是一个空白的石板。

#!/斌/庆典

回声“定义variables”

IPT = “/ sbin目录/ iptables的”

回声“清零所有计数器”

$ ipt -Z

$ ipt -t nat -Z

$ ipt -t mangle -Z

回声“刷新所有活动规则,删除所有链”

$ ipt -F

$ ipt -X

$ ipt -t nat -F

$ ipt -t nat -X

$ ipt -t mangle -F

$ ipt -t mangle -X

$ ipt -Pinput接受

$ ipt -P FORWARD ACCEPT

$ ipt -P OUTPUT ACCEPT

$ ipt -t nat -A POSTROUTING -o tun0 -j MASQUERADE

$ ipt -A FORWARD -i eth1 -o eth0 -j ACCEPT

$ ipt -A FORWARD -i eth0 -o eth1 -j ACCEPT

$ ipt -A FORWARD -i eth0 -o tun0 -j ACCEPT

$ ipt -A FORWARD -i tun0 -o eth0 -j ACCEPT

再次,我已经做了许多其他的变化,以及其他职位的许多其他规则,但无法前进。 这似乎是这样一个简单的任务,但….