这一个错误我现在几天,我找不到解决scheme。 对不起,奇怪的标题。 这不是我的主要工作领域,目前我想不出一个更好的标题。
一些事实:
apt-get dist-upgrade
。 除此之外,它们是通过使用静态IP的DHCP进行configuration的。 iptables
规则。 所以,让我来描述一下设置:
我创build了一个networking+子网(10.0.30.10/24)。 networking连接到一个拥有两条静态路由的路由器。 我还创build了两个拥有“主”IP(node0:10.0.30.10/24和node1:10.0.30.11/24)的虚拟机(两个都是ubuntu 16.04.2 LTS),另一个IP位于不同的子网(node0:10.10 .10.2 / 24和node1:10.10.20.2/24)。
我还在路由器上configuration了两条静态路由,将10.10.10.0/24
所有内容转发给node0,将10.10.20.0/24
所有内容转发给node1。
+----------------------------------------+ | test-router | | IP: 10.0.30.1/24 | | | | Static routes: | | - destination_cidr = "10.10.10.0/24" | | next_hop = "10.0.30.10" | | - destination_cidr = "10.10.20.0/24" | | next_hop = "10.0.30.11" | +----------------------------------------+ | | +------------------------+ | test-network | | Subnet: 10.0.30.0/24 | | Router: 10.0.30.1 | +------------------------+ | | | +---------------------+ | | node0 | +-------+ IP: 10.0.30.10/24 | | | 10.10.10.2/24 | | +---------------------+ | | +---------------------+ | | node1 | +-------+ IP: 10.0.30.11/24 | | 10.10.20.2/24 | +---------------------+
两个虚拟机启动后,我可以观察以下内容:
$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.0.30.1 0.0.0.0 UG 0 0 0 ens3 10.0.30.0 * 255.255.255.0 U 0 0 0 ens3 169.254.169.254 10.0.30.100 255.255.255.255 UGH 0 0 0 ens3 $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP group default qlen 1000 link/ether fa:16:3e:31:67:52 brd ff:ff:ff:ff:ff:ff inet 10.0.30.10/24 brd 10.0.30.255 scope global ens3 valid_lft forever preferred_lft forever inet 10.10.10.2/24 scope global ens3 valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fe31:6752/64 scope link valid_lft forever preferred_lft forever $ ping -c10 10.10.20.2 PING 10.10.20.2 (10.10.20.2) 56(84) bytes of data. From 10.0.30.1: icmp_seq=2 Redirect Host(New nexthop: 10.0.30.11) From 10.0.30.1: icmp_seq=3 Redirect Host(New nexthop: 10.0.30.11) --- 10.10.20.2 ping statistics --- 10 packets transmitted, 0 received, 100% packet loss, time 8999ms $ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.0.30.1 0.0.0.0 UG 0 0 0 ens3 10.0.30.0 * 255.255.255.0 U 0 0 0 ens3 10.10.10.0 * 255.255.255.0 U 0 0 0 ens3 169.254.169.254 10.0.30.100 255.255.255.255 UGH 0 0 0 ens3
# tcpdump icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes 09:25:55.451876 IP 10.0.30.10 > 10.10.20.2: ICMP echo request, id 1271, seq 1, length 64 09:25:55.451928 IP 10.10.20.2 > 10.0.30.10: ICMP echo reply, id 1271, seq 1, length 64 09:25:56.451467 IP 10.0.30.10 > 10.10.20.2: ICMP echo request, id 1271, seq 2, length 64 09:25:56.451503 IP 10.10.20.2 > 10.0.30.10: ICMP echo reply, id 1271, seq 2, length 64 09:25:57.451185 IP 10.0.30.10 > 10.10.20.2: ICMP echo request, id 1271, seq 3, length 64 09:25:57.451218 IP 10.10.20.2 > 10.0.30.10: ICMP echo reply, id 1271, seq 3, length 64 [..] 09:26:03.450910 IP 10.0.30.10 > 10.10.20.2: ICMP echo request, id 1271, seq 9, length 64 09:26:03.450943 IP 10.10.20.2 > 10.0.30.10: ICMP echo reply, id 1271, seq 9, length 64 09:26:04.450988 IP 10.0.30.10 > 10.10.20.2: ICMP echo request, id 1271, seq 10, length 64 09:26:04.451022 IP 10.10.20.2 > 10.0.30.10: ICMP echo reply, id 1271, seq 10, length 64
所以,我的结论是:node1收到stream量,但是回复没有到达node0。
如果我在node1上启动一个web服务器,并尝试通过静态路由IP进行curl,则会发生同样的情况。 我看到node1上有stream量进入,但是响应从来没有到达node0。
另一方面:从节点0到arping
的arping工作:
# arping -c3 -i ens3 10.10.20.2 ARPING 10.10.20.2 42 bytes from fa:16:3e:a9:b4:bc (10.10.20.2): index=0 time=7.933 msec 42 bytes from fa:16:3e:a9:b4:bc (10.10.20.2): index=1 time=2.797 msec 42 bytes from fa:16:3e:a9:b4:bc (10.10.20.2): index=2 time=9.703 msec --- 10.10.20.2 statistics --- 3 packets transmitted, 3 packets received, 0% unanswered (0 extra) rtt min/avg/max/std-dev = 2.797/6.811/9.703/2.929 ms
如果我使用“主”IP, 一切工作正常。
我试过的东西(在两个节点上):
/proc/sys/net/ipv4/conf/ens3/rp_filter
到2
和0
(因为我绝望)。 没有改变。 /proc/sys/net/ipv4/ip_forward
为1
。 没有改变。 /proc/sys/net/ipv4/conf/ens3/log_martians
为1
。 没有输出通过journalctl -f
。 编辑:有node0上的输出,如果我ping通过静态IP的node1:
May 03 11:16:01 node0 kernel: IPv4: Redirect from 10.0.30.1 on ens3 about 10.0.30.11 ignored Advised path = 10.0.30.10 -> 10.10.20.2
因为我的想法已经用完了,我需要你的帮助。 感谢您花时间查看我的问题!