IP 隧道建立后无法 Ping 通,求助网络大佬

2020-10-13 09:35:00 +08:00
 sniperking1234

在机器 A 和机器 B 这两台机器上建立了一条 IP 隧道,用的是 IPIP 模式,但是建立好之后无法 ping 通,用同样的方式在另外的两台机器上建立是能够 ping 通的,百思不得其解,求助 v 友帮忙看下。

A 机器隧道

tun1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ipip 192.168.0.27 peer 192.168.0.53
    inet 1.1.1.1 peer 2.2.2.2/32 brd 255.255.255.255 scope global tun1
       valid_lft forever preferred_lft forever
    inet6 fe80::5efe:c0a8:1b/64 scope link 
       valid_lft forever preferred_lft forever

B 机器隧道

tun1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ipip 192.168.0.53 peer 192.168.0.27
    inet 2.2.2.2 peer 1.1.1.1/32 brd 255.255.255.255 scope global tun1
       valid_lft forever preferred_lft forever
    inet6 fe80::5efe:c0a8:35/64 scope link 
       valid_lft forever preferred_lft forever

在 A 机器中 ping 2.2.2.2 不通,抓包 tun1 结果是

09:32:03.045283 IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1434, length 64
09:32:04.069248 IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1435, length 64
09:32:05.093183 IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1436, length 64
09:32:06.117212 IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1437, length 64

可见只有发出去的包,没有回来的包。 抓包 A 机器 eth0 网卡结果是:

09:32:58.309256 IP 192.168.0.27 > 192.168.0.53: IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1488, length 64 (ipip-proto-4)
09:32:58.310069 IP 192.168.0.53 > 192.168.0.27: IP 2.2.2.2 > 1.1.1.1: ICMP echo reply, id 58496, seq 1488, length 64 (ipip-proto-4)
09:32:59.333270 IP 192.168.0.27 > 192.168.0.53: IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1489, length 64 (ipip-proto-4)
09:32:59.334073 IP 192.168.0.53 > 192.168.0.27: IP 2.2.2.2 > 1.1.1.1: ICMP echo reply, id 58496, seq 1489, length 64 (ipip-proto-4)
09:33:00.357227 IP 192.168.0.27 > 192.168.0.53: IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1490, length 64 (ipip-proto-4)
09:33:00.358090 IP 192.168.0.53 > 192.168.0.27: IP 2.2.2.2 > 1.1.1.1: ICMP echo reply, id 58496, seq 1490, length 64 (ipip-proto-4)
09:33:01.381253 IP 192.168.0.27 > 192.168.0.53: IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1491, length 64 (ipip-proto-4)
09:33:01.382149 IP 192.168.0.53 > 192.168.0.27: IP 2.2.2.2 > 1.1.1.1: ICMP echo reply, id 58496, seq 1491, length 64 (ipip-proto-4)
09:33:02.405262 IP 192.168.0.27 > 192.168.0.53: IP 1.1.1.1 > 2.2.2.2: ICMP echo request, id 58496, seq 1492, length 64 (ipip-proto-4)

既有 request 包也有 reply 包,但是却没有到达机器的 tun1 上,不知道是为什么,这种情况应该怎么解决呢?

1930 次点击
所在节点    程序员
14 条回复
defunct9
2020-10-13 09:37:22 +08:00
开 ssh,让我上去看看
sniperking1234
2020-10-13 09:41:15 +08:00
@defunct9 多谢好意,是公司内网,没法开 ssh
march1993
2020-10-13 10:15:19 +08:00
wireshark 抓包分析
cq65617875
2020-10-13 10:18:29 +08:00
1.1.1.1
2.2.2.2
不是同一个段的啊 并且都是 /32
这样真的能通的么
zhangsanfeng2012
2020-10-13 10:27:59 +08:00
看一下网卡丢包信息,还有防火墙配置
sniperking1234
2020-10-13 10:32:22 +08:00
@cq65617875 是可以的,我在其他的机器用相同的方法配置就能通
https://i.loli.net/2020/10/13/PdeaxR2kZinoE36.png
sniperking1234
2020-10-13 10:40:25 +08:00
@zhangsanfeng2012 没有丢包信息,但是我用了 iptables -F 命令之后,就能 ping 通了,过了一会又无法 ping 通,需要再使用 iptables -F,这是怎么回事呢
sniperking1234
2020-10-13 10:42:57 +08:00
@zhangsanfeng2012 好像是业务上设置了防火墙,我自己查一下
name1991
2020-10-13 11:00:15 +08:00
应该还是 iptables 的问题吧, 可以吧 iptables 的 rule 都 show 出来看看,是不是匹配到某个 rule 了
sniperking1234
2020-10-13 11:03:26 +08:00
@name1991 是的,的确是 iptables 的问题,和 calico 相关
Acoffice
2020-10-13 11:07:50 +08:00
@defunct9 #1 我要笑抽了,每次都有你,每次都是这句话~~~
barathrum
2020-10-13 11:13:55 +08:00
@sniperking1234 让你开 ssh 可不是好意啊。。
sniperking1234
2020-10-13 11:22:14 +08:00
@barathrum 哈哈,我也是客气一下
defunct9
2020-10-13 11:28:32 +08:00
@Acoffice 呵呵,拒绝猜测。上去看是最快的方法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/714378

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX