对不起,我的网络交流能力很差
我有一个场景,我有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作为“代理”网络服务器。
谢谢!
答案 0 :(得分:0)
解决了这个问题,我没有适当的网关路由。这样可以防止数据包来回流动。
这里写了如何在两个网络之间建立IPIP隧道,
https://sites.google.com/site/mrxpalmeiras/linux/create-ipip-tunnel-between-networks