0%

Mac iTerm2 无法 ping 网关

0. 概览

如果 Mac 可以正常上网,但是无法访问本地网络。
解决:“系统设置”→“隐私与安全性”→“本地网络”,打开对应软件的权限。

1. 表象

无法 ping 网关,但是可以上网。

1
2
3
4
5
6
7
8
ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
Request timeout for icmp_seq 0
...
--- 192.168.1.1 ping statistics ---
17 packets transmitted, 0 packets received, 100.0% packet loss

2. 排查

2.1 使用自带终端

可以正常 ping。

2.2 抓包

1
2
3
4
5
6
7
8
9
10
sudo tcpdump -i en0 icmp

listening on en0, link-type EN10MB (Ethernet), snapshot length 524288 bytes
16:50:17.646968 IP 180.165.12.183 > 192.168.1.55: ICMP 180.165.12.183 udp port 49914 unreachable, length 56
16:50:18.135497 IP 117.148.114.147 > 192.168.1.55: ICMP 117.148.114.147 udp port 42944 unreachable, length 56
16:50:18.361302 IP 210.74.154.110 > 192.168.1.55: ICMP 210.74.154.110 udp port 40764 unreachable, length 56
16:50:18.361989 IP 210.74.154.110 > 192.168.1.55: ICMP 210.74.154.110 udp port 61340 unreachable, length 56
16:50:18.434133 IP 117.155.164.106 > 192.168.1.55: ICMP 117.155.164.106 udp port 10218 unreachable, length 56
16:50:18.475222 IP 119.191.82.252 > 192.168.1.55: ICMP 119.191.82.252 udp port hydap unreachable, length 56
16:50:19.077798 IP 140.75.168.17 > 192.168.1.55: ICMP 140.75.168.17 udp port 15464 unreachable, length 56

发现 180 这些 IP,很像 switchhost 上 GitHub 的IP。

2.3 问模型

SwitchHost 会导致 iTerm2 出现无法 ping 网关的问题吗?Mac 自带的终端是可以 ping 的。
答:

1
2
3
本地网络权限问题:
macOS 系统更新(如 Sequoia 15.0.1)后,可能会弹出权限请求窗口,询问是否允许应用访问本地网络。若用户误选“否”,iTerm2 将被禁止访问本地网络,导致无法 ping 通网关。
解决方法:在 macOS 的“系统设置”→“隐私与安全性”→“本地网络”中,确保 iTerm2 的开关处于开启状态。

发现来问题,开启本地网络之后就可以正常使用。