我在CentOS 6.2上遇到路由问题(内核2.6.32-220)
这是设置:一台主机在我的本地网络上.它在说话
到远程位置的两个几乎相同的主机.两个遥控器
主机位于所有相同的网络上,充当冗余备份
对于彼此.
我从本地主机设置了两个GRE隧道,每个隧道一个
远程主机:
ip tunnel add name tunnel1 mode gre local 10.2.1.2 remote 10.2.1.1
ip link set dev tunnel1 up
ip route add 172.16.1.0/24 dev tunnel1 metric 101
ip tunnel add name tunnel2 mode gre local 10.2.1.4 remote 10.2.1.3
ip link set dev tunnel2 up
ip route add 172.16.1.0/24 dev tunnel2 metric 102
传出的数据包路由正常,没问题.传入的数据包
很奇怪.似乎无论哪条隧道都有这条路线
具有更高的度量(上例中的tunnel2)将
忽略传入的数据包他们没事,也可以
用’tcpdump -i tunnel2’在本地机器上看到,但是他们
没有正确路由到本地网络.他们很简单
下降.我可以切换两个指标,然后是tunnel1
丢弃所有传入的数据包隧道路线较低
metric将正确地路由数据包,包括传入和传出.
这是“按设计工作吗?”我想发生什么,
当然,两个隧道上的所有数据包都是正确的
转发.这可能吗?
快速更新:一个人建议(我不知道为什么)在’ip tunnel’命令中添加’key’参数.我试过这个,每个隧道都有不同的密钥,两个隧道都有相同的密钥,但两个试验都没有效果.