Penyelesaian kepada pengecualian "tiada laluan ke hos" yang dilaporkan oleh Linux
Apabila menggunakan sistem pengendalian Linux, kadangkala anda akan menghadapi ralat pengecualian "tiada laluan ke hos". Ralat ini biasanya menunjukkan bahawa sistem semasa tidak dapat mencari laluan ke destinasi yang ditentukan. Ia mungkin disebabkan oleh masalah dengan tetapan rangkaian. Dalam artikel ini, beberapa kemungkinan penyelesaian diterangkan dan contoh kod khusus disediakan.
Pertama, kita perlu pastikan sambungan rangkaian adalah normal. Anda boleh menggunakan arahan ping untuk menyemak sama ada hos sasaran boleh dicapai. Jika anda tidak boleh ping hos sasaran, mungkin terdapat kegagalan rangkaian yang menghalang laluan daripada ditemui.
Kod sampel:
ping <目标主机IP>
Jika anda tidak boleh ping hos sasaran, anda boleh menyemak perkara berikut:
Jika sambungan rangkaian adalah normal, tetapi ralat "tiada laluan ke hos" masih dilaporkan, ia mungkin disebabkan oleh masalah dengan jadual penghalaan. Jadual penghalaan adalah bahagian penting yang digunakan untuk menentukan laluan pemajuan paket data. Anda boleh menggunakan arahan laluan atau ip untuk melihat dan mengurus jadual penghalaan.
Kod sampel:
route -n
atau
ip route show
Output akan memaparkan jadual penghalaan sistem semasa. Gerbang yang sesuai harus wujud untuk rekod laluan untuk hos destinasi yang ditentukan.
Jika hos sasaran tidak mempunyai entri yang betul dalam jadual penghalaan, anda boleh menggunakan arahan berikut untuk menambah rekod penghalaan.
Contoh kod:
route add -net <目标子网> gw <网关IP>
atau
ip route add <目标子网> via <网关IP>
Sila gantikan
Firewall boleh menyekat akses kepada hos atau subnet tertentu. Oleh itu, jika laluan ke hos sasaran tidak ditemui, ia mungkin disebabkan oleh tetapan firewall.
Anda boleh menggunakan arahan iptables untuk melihat dan mengurus peraturan firewall.
Kod sampel:
iptables -L
Output akan memaparkan peraturan firewall sistem semasa. Jika anda menemui peraturan penafian yang berkaitan dengan hos sasaran, anda boleh memadamkannya menggunakan arahan berikut.
Kod contoh:
iptables -D INPUT -s <源IP> -d <目标IP> -j REJECT
Sila gantikan
Jika nama domain hos sasaran tidak dapat diselesaikan, laluan ke hos sasaran mungkin tidak ditemui. Anda boleh menggunakan arahan nslookup atau dig untuk menyemak sama ada resolusi DNS adalah normal.
Kod sampel:
nslookup <目标域名>
atau
dig <目标域名>
Jika nama domain hos sasaran tidak dapat diselesaikan, ia mungkin disebabkan masalah dengan konfigurasi DNS. Anda boleh mengedit fail /etc/resolv.conf untuk menambah pelayan DNS yang betul.
Kod contoh:
vim /etc/resolv.conf
Tambah alamat IP pelayan DNS dalam fail dan simpan fail.
Ringkasan
Apabila sistem Linux melaporkan ralat "tiada laluan ke hos", ia biasanya disebabkan oleh masalah dengan tetapan rangkaian. Artikel ini menerangkan beberapa kemungkinan penyelesaian dan menyediakan contoh kod khusus. Dengan menyemak sambungan rangkaian anda, jadual penghalaan, tetapan tembok api dan resolusi DNS, anda sepatutnya dapat menyelesaikan isu ini. Sila pilih penyelesaian yang sesuai berdasarkan situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat Linux 'Tiada laluan ke hos'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!