我有2个HN(每个有2个上行链路和3个IP地址范围),上面有多个容器。
HN1和HN2可以到达所有容器。 来自相同地址范围的容器可以相互连接。 但是,如果来自不同HN的容器的IP地址来自不同的范围,则它们无法相互接触。
网络结构:
Cont1(5.yy.yy.171) - HN1(5.yy.yy.162,85.xx.xx.51) - 开关 - HN2(5.yy.yy.163,85.xx.xx .52) - 续2(85.xx.xx.54)
来自HN2的路由(它们在HN1上是相同的,唯一的区别是它的IP地址):
# ip ru l
0: from all lookup local
1: from all lookup main
32748: from 5.yy.yy.160/27 lookup 120
32749: from 85.xx.xx.18/28 lookup 130
32750: from 85.xx.xx.48/28 lookup 140
32766: from all lookup 130
32767: from all lookup default
# ip ro l table main:
5.yy.yy.189 dev venet0 scope link
5.yy.yy.175 dev venet0 scope link
85.xx.xx.54 dev venet0 scope link
85.xx.xx.55 dev venet0 scope link
85.xx.xx.48/28 dev eth0 proto kernel scope link src 85.xx.xx.52
85.xx.xx.16/28 dev eth0 proto kernel scope link src 85.xx.xx.22
5.yy.yy.160/27 dev eth1 proto kernel scope link src 5.yy.yy.163
# ip ro l table 120:
5.yy.yy.160/27 dev eth1 scope link src 5.yy.yy.163
default via 5.yy.yy.161 dev eth1
# ip ro l table 130:
85.xx.xx.16/28 dev eth0 scope link src 85.xx.xx.22
default via 85.xx.xx.17 dev eth0
# ip ro l table 140:
85.xx.xx.48/28 dev eth0 scope link src 85.xx.xx.52
default via 85.xx.xx.49 dev eth0
iptables是空的,默认接受。
有什么建议吗?
答案 0 :(得分:0)
解决方案非常简单,除了源路由之外,我还需要非对称路由。
设置rp_filter = 0解决了我的问题。