【发布时间】:2018-06-28 12:51:22
【问题描述】:
我们在一些 Linux 虚拟机(基于云、多个提供商,主要是 Ubuntu 14.04 和 16.04)上遇到了一些奇怪的网络行为。我们有两个不同的网络,中间有一个 Strongswan 网关。
站点 A: 网络 - 10.104.16.0/20 在主路由器上配置 VPN 网关和路由(虚拟机上不需要配置)
站点 B: 网络 - 10.240.132.0/25 Strongswan 网关 - 10.240.132.15 根据与站点 A 通信的需要(或不需要)为每个 VM 配置路由
站点 B 上需要与站点 A 虚拟机通信的虚拟机之一上的内核路由表:
# route -vn
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.240.132.1 0.0.0.0 UG 0 0 0 eth0
10.104.16.0 10.240.132.15 255.255.240.0 UG 0 0 0 eth0
10.240.132.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
现在,问题... 当一切正常时,VM 会 ping 站点 A 上的 VM,这就是 traceroute 命令的输出:
# traceroute 10.104.19.4
traceroute to 10.104.19.4 (10.104.19.4), 30 hops max, 60 byte packets
1 10.240.132.15 (10.240.132.15) 0.248 ms 0.228 ms 0.220 ms
2 * * *
3 10.104.19.4 (10.104.19.4) 15.048 ms 15.042 ms 15.028 ms
然后,VM 突然无法 ping 站点 A 资源,traceroute 输出如下所示:
# traceroute 10.104.19.4
traceroute to 10.104.19.4 (10.104.19.4), 30 hops max, 60 byte packets
1 10.104.19.4 (10.104.19.4) 0.552 ms 0.567 ms 0.616 ms
2 * 10.104.19.4 (10.104.19.4) 0.659 ms 0.707 ms
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *^C
它看起来完全随机。当这种情况最终发生时,我将删除然后再次添加路线:
# route del -net 10.104.16.0 gw 10.240.132.15 netmask 255.255.240.0
# route add -net 10.104.16.0 gw 10.240.132.15 netmask 255.255.240.0
当然,这解决了一段时间的问题,它不会持续很长时间......知道可能出错或我做错了什么吗?
谢谢你们;)
【问题讨论】:
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。