如何路由回到原始界面

时间:2018-08-21 13:45:33

标签: networking proxy routing iptables

对不起,我的网络交流能力很差

我有一个场景,我有2个不同的网络,并且在那些网络中有2台服务器,服务器A在网络A中,服务器B在网络B中

当某人尝试通过Internet连接到外部服务器时,我们在A和B(IPIP隧道)之间配置了虚拟接口

1) 如果我尝试使用netcat / telnet外部服务器(x.x.100.3),则serverA上有一条路由到我的虚拟接口(tunnel1)

2)tunnel1通过IPIP隧道将数据包发送到其对等“ tunnel2”

3)我需要将对x.x.100.3的所有请求路由到另一个面向Internet的p1p1接口

4)serverB通过p1p1接口将数据包发送到外部serverC(我测试了运行 tcpdump -i p1p1 并可以看到数据包出局

5)来自C的回复又回到p1p1

如果我从B执行相同的netcat cmd,则可以连接。但是从A,我超时了。

所以我的问题是,如何配置此设置,以便在服务器A上启动Netcat的用户得到服务器C的答复?现在,连接停止在服务器B(p1p1)上,因为数据包头在B上的路由之后发生了变化。

我尝试使用iproute2表规则,但无法使其正常工作。对于进入外部服务器C的任何请求,我基本上都需要使用服务器B作为“代理”网络服务器。

谢谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

解决了这个问题,我没有适当的网关路由。这样可以防止数据包来回流动。

这里写了如何在两个网络之间建立IPIP隧道,

https://sites.google.com/site/mrxpalmeiras/linux/create-ipip-tunnel-between-networks