
今天早些時候強制重啟(崩潰)後,我的 MBP 運行高塞拉,開始遇到困難。我的問題基本上可以歸結為:
重新啟動後,我無法與 lo0 介面(localhost、127.0.0.1、::1)上的任何內容建立連線。所有請求(唯一的例外是
ping
)都將無限期掛起和/或逾時。 http、tcp、traceroute 等都會出現這種情況。在安全模式下啟動時,不會出現此問題,而且我能夠在 localhost 和 127.0.0.1 上啟動一個簡單的 http 伺服器和curl / wget。我已啟動回到正常模式並停用使用者的所有登入項,但問題仍然存在。防火牆已停用。
知道發生了什麼事嗎?此時我不知所措。
127.0.0.1 可路由
sw14111@OF060VL39VHTD6D:~$ scutil -r 127.0.0.1
Reachable,Local Address,Directly Reachable Address
Ping 運作正常
sw14111@OF060VL39VHTD6D:~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.063 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.117 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.073 ms
捲曲失敗範例
sw14111@OF060VL39VHTD6D:~$ curl -v -x "" localhost:8000
* Rebuilt URL to: localhost:8000/
* Trying ::1...
* TCP_NODELAY set
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connection failed
* connect to ::1 port 8000 failed: Operation timed out
* Trying fe80::1...
* TCP_NODELAY set
* Connection failed
* connect to 127.0.0.1 port 8000 failed: Operation timed out
* Connection failed
* connect to fe80::1 port 8000 failed: Operation timed out
* Failed to connect to localhost port 8000: Operation timed out
* Closing connection 0
curl: (7) Failed to connect to localhost port 8000: Operation timed out
追蹤路由逾時
traceroute to 127.0.0.1 (127.0.0.1), 64 hops max, 52 byte packets
1 * * *
2 * * *
3 * * *
SYN_SENT
當請求正在進行時始終停留在狀態。
sw14111@OF060VL39VHTD6D:~$ netstat -an | grep 127.0.0.1
tcp4 0 0 127.0.0.1.49679 127.0.0.1.8000 SYN_SENT
/etc/主機
##
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
lo0
介面
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
lsof
簡單伺服器的輸出
sw14111@OF060VL39VHTD6D:~$ python -m SimpleHTTPServer 18080
Serving HTTP on 0.0.0.0 port 18080 ...
# another terminal
sw14111@OF060VL39VHTD6D:~$ sudo lsof -a -i -sTCP:LISTEN
Python 2245 sw14111 3u IPv4 0x8d80c2958887276d 0t0 TCP *:18080 (LISTEN)