無法到達本機主機(High Sierra)

無法到達本機主機(High Sierra)

今天早些時候強制重啟(崩潰)後,我的 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)

相關內容