Rumah  >  Artikel  >  Tutorial sistem  >  Bagaimana untuk menyelesaikan ralat Linux "Tiada laluan ke hos"

Bagaimana untuk menyelesaikan ralat Linux "Tiada laluan ke hos"

WBOY
WBOYasal
2024-02-26 12:24:071109semak imbas

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.

  1. Periksa sambungan rangkaian

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:

  • Periksa sama ada konfigurasi rangkaian mesin adalah betul, termasuk alamat IP, subnet mask, gateway, dsb.
  • Semak sama ada konfigurasi rangkaian hos sasaran adalah betul.
  • Semak sama ada peranti rangkaian (seperti penghala, suis) berfungsi dengan betul.
  1. Semak jadual penghalaan

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 b5fb5721a0103267445eca924213a3b3 dan 3a78ed8311a038a1c300842b0434d2b2

  1. Semak Tetapan Firewall

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 c9e5782ab6ec0eba7182c6da1aa54113 dan ff53872f1c7af46c5af227cd08eb8ff6

  1. Semak resolusi DNS

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn