要解決 Linux 上的網絡問題,您需要知道如何解決 Linux 上的“No Route to Host error”問題。我們在這裡幫助您弄清楚如何解決本指南中的錯誤。當您嘗試連接到 Linux 上的服務時,“沒有主機路由”是您最不想听到的消息之一。
這是一條一般消息,表示您的計算機無法到達目標服務器,無論它是在您的系統上運行的本地服務器守護程序還是由於某種原因您無法訪問的遠程服務器。有很多事情可能導致該錯誤。 Linux 中的網絡是通過一個複雜的堆棧來完成的,這使得很難準確地找出問題出在哪裡。
“No Route to Host”表示網絡有問題,通常是因為服務器或主機沒有響應。如果網絡出現問題或計算機設置不正確,可能會發生這種情況。您還可以訪問Microsoft 官方支持網站,了解有關此錯誤的更多信息。
在 Linux 上修復“無路由到主機錯誤”問題的方法
配置防火牆
在修補防火牆之前,值得使用 sudo nmap-sS 檢查以確保您確實嘗試連接到正確的端口。
假設端口正確,建議您使用 iptables 編輯防火牆規則。以下命令將允許防火牆上的指定端口並將更改保存到/etc/iptables/rules.v4
sudo iptables-I INPUT 6-m state–state NEW-p tcp–dport
sudo netfilter-persistent save
檢查主機狀態
這可能很明顯,但首先要 ping 遠程主機以驗證它是否確實在線。
如果您可以 ping 通 IP 但無法 ping 通主機名,則錯誤很可能是由於 DNS 問題造成的。如果是這種情況,請使用 sudo nano/etc/systemd/resolved.conf 更改 DNS 地址。
如果主機可訪問,請運行 sudo systemctl status 命令以驗證關聯的服務確實是正在運行。
假設主機在線並且服務正在運行,錯誤很可能是由於權限問題。首先,檢查/etc/hosts.allow 和/etc/hosts.deny。如果這些配置文件沒有問題,最好排除防火牆問題。
創建入口規則
對於虛擬云網絡 (VCN),必須將入口規則添加到子網允許從 Internet 訪問虛擬機。創建規則時,使用以下值
Source Type: CIDR Source CIDR: 0.0.0.0/0 IP Protocol: TCP Destination Port Range: 80
Check Routing Table
錯誤可以也可能是由於主機的路由表有問題。 netstat-rn 可用於查看路由表並查看是否有任何問題。例如,一位用戶發現其中一個條目不正確。
檢查 etc/network/interfaces 顯示其中一個接口上有兩個 IP 地址,兩個為公眾。向其中一個地址添加正確的網絡掩碼解決了路由問題。
常見問題解答
沒有到主機的路由意味著 Linux 是什麼意思?
沒有到主機的路由”指示網絡問題,通常在服務器或主機沒有響應時顯示。這可能是由於網絡問題或配置不當造成的。
什麼是錯誤 113 no route to host?
這是內核返回的錯誤,表示網絡問題:UM庫進行了 send() 套接字調用,但操作系統/內核引發了代碼 113 錯誤,定義為 EHOSTUNREACH(沒有到主機的路由),這是一種可能的情況。
什麼是 no路由到主機 Apache?
當網絡上的機器不知道如何將 TCP 數據包發送到給定機器時,會發生 TCP 無路由到主機錯誤(通常包含在 Java IOException 中)。可能的原因包括: 配置文件中遠程機器的主機名不正確。
如何在 Linux 中添加到主機的路由?
在 Linux 中添加路由的最簡單方法就是跟隨“ip route add”命令,指定要到達的網絡地址和這條路由要使用的網關。默認情況下,如果不指定網絡設備,則排除並選擇第一個網卡,即本地環回。