请教一个关于 iptables 转发 IPsec VPN 的问题

2018-07-01 12:57:52 +08:00
 2397613259qqq
先上个效果

WAN Computer -- (eth1/80.10.3.5)Server1(eth0/10.10.2.4) -- (eth0/10.11.2.3)Server2(eth1/111.1.1.2) -- WAN

现在手上有两个服务器,打算拿 server1 做跳板连接到 server2 的 IPsec VPN server,但是尝试配置了 iptables 之后无法通过 server1 的 IP 连接到 server2,VPN Server 是 l2tp with IPsec 和 Cisco IPsec 都配置有的。

内网可以通信

eth1 是外网接口,eth0 是内网接口

尝试的配置如下

iptables -t nat -A POSTROUTING -p udp -d 10.11.2.3 --dport 4500 -j SNAT --to-source 10.10.2.4
iptables -t nat -A POSTROUTING -p udp -d 10.11.2.3 --dport 500 -j SNAT --to-source 10.10.2.4
iptables -t nat -A POSTROUTING -p udp -d 10.11.2.3 --dport 1701 -j SNAT --to-source 10.10.2.4
iptables -t nat -A PREROUTING -p udp --dport 500 -j DNAT --to-destination 10.11.2.3
iptables -t nat -A PREROUTING -p udp --dport 4500 -j DNAT --to-destination 10.11.2.3
iptables -t nat -A PREROUTING -p udp --dport 1701 -j DNAT --to-destination 10.11.2.3
iptables -A FORWARD -p esp -j ACCEPT
iptables -A FORWARD -p ah -j ACCEPT

测试了转发至 server2 上的 httpd 之类的都可以正常链接,请问是哪里配置错了呢?
5870 次点击
所在节点    Linux
13 条回复
xuanliang
2018-07-01 16:24:52 +08:00
IP 转发开了么?

修改 /etc/sysctl.conf,设置 net.ipv4.ip_forward = 1。重启。
msfra
2018-07-01 16:36:07 +08:00
一个小问题:配置前几行中 nat table 限定了 UDP 协议,最后 filter table 怎么换成了 esp 和 ah 呢?
henryshen233
2018-07-01 20:37:31 +08:00
iptables -t nat -A PREROUTING -p udp --dport 500 -j DNAT --to-destination 10.11.2.3:500
iptables -t nat -A POSTROUTING -d 10.11.2.3 -p udp -m udp --dport 500 -j SNAT --to-source 10.10.2.4

iptables -t nat -A PREROUTING -p udp --dport 4500 -j DNAT --to-destination 10.11.2.3:500
iptables -t nat -A POSTROUTING -d 10.11.2.3 -p udp -m udp --dport 4500 -j SNAT --to-source 10.10.2.4

iptables -t nat -A PREROUTING -p udp --dport 1701 -j DNAT --to-destination 10.11.2.3:1701
iptables -t nat -A POSTROUTING -d 10.11.2.3 -p udp -m udp --dport 1701 -j SNAT --to-source 10.10.2.4
defunct9
2018-07-01 21:52:46 +08:00
开 ssh,让我上去试试
DevNet
2018-07-01 22:27:26 +08:00
IPsecVPN 穿越放火墙需要放过的只有 ike 协议(UDP500),NAT-T(UDP4500),esp 协议( IP 协议号 50 )。AH 没人用的。
2397613259qqq
2018-07-01 23:44:13 +08:00
@xuanliang ip 转发开了的,ss 之类的都可以链接
2397613259qqq
2018-07-02 00:43:59 +08:00
@henryshen233 感谢回复

不过有一点疑问,在第三行的 prerouting 里面,为什么要把 4500 转发到 500 呢?

还有就是 postrouting 除了增加了 extend match 似乎和我在主题上贴的没有区别。另外按照指教的参数配置后还是没有转发成功
henryshen233
2018-07-02 08:47:48 +08:00
@2397613259qqq 不好意思打错了。。。我这个是用来转发 WebDAV 的和 ssh 的 tcp 流量的,我是可以用的
jinhan13789991
2018-07-02 11:07:00 +08:00
哪里的 vps,有的 vps 商是带防火墙管理的,比如谷歌云,需要在外面手动再次配置一次防火墙
jinhan13789991
2018-07-02 11:07:40 +08:00
不好意思 看错了 以为是 vps
cattyhouse
2018-07-02 13:27:32 +08:00
还在用 IPSec ?这种分分钟给你断掉
moln
2018-07-02 16:58:45 +08:00
换 ssl vpn 吧
2397613259qqq
2018-07-02 23:26:13 +08:00
@cattyhouse 又不是用来绕过某个设备用的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/467217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX