Fix: Gagal Tidak Ada Rute untuk Di-Host Di Ubuntu Dengan Banyak Jaringan

Ketika Anda memiliki pengaturan jaringan yang rumit, sangat sulit untuk memiliki No Rute to Host mulai muncul setelah membesarkan antarmuka baru. Ini sering disebabkan oleh rute default yang diubah atau diturunkan.

Untuk mengecek rute default Anda masuk

acara rute ip

Seperti ditunjukkan di atas saya memiliki tiga antarmuka fisik, satu menghadap ke luar dan dua ke jaringan internal. Rute default jatuh pada jaringan ketika koneksi direset, menyebabkan sisa jaringan saya beroperasi secara normal, dengan hanya mesin ini yang tidak mengetahui di mana untuk mencapai Internet.

Agar mesin dapat menjangkau Internet, ia harus memiliki rute default yang dapat ditambahkan dengan perintah berikut

sudo ip route menambahkan default melalui 136.63.176.1

Jika Anda memiliki masalah ini muncul lebih dari sekali atau dua kali, itu bisa menjadi gangguan, jadi saya telah menulis beberapa skrip shell untuk memperbaiki situasi dengan cepat.

Skrip pertama akan mengambil ip Anda saat ini untuk Anda. Saya memiliki $ INTF ditetapkan sebagai STDIN, Anda mengubahnya ke antarmuka khusus Anda jika Anda tidak ingin memasukkan nama antarmuka.

Menggunakan editor teks favorit Anda, saya suka vim dan memiliki folder sumber di direktori home saya

mkdir ~ / src && cd ~ / src

vim getip.sh

#! / bin / bash

#fetch alamat ip yang ditetapkan untuk perangkat yang diberikan

INTF = $ {1}

PTH = (~ / src /)

deklarasikan TMP_IP2

TMP_IP2 = $ (ip a | grep $ {INTF} | grep inet | cut -d -f6 | cut -d / -f1> $ {PTH} sekarang _ $ {INTF} .ip)

ip a | grep $ {INTF} | grep inet | potong -d -f6 | potong -d / -f1 | potong -d. -f1-3 | awk '{cetak $ 0 ″ .0 / 24 ″}'> $ {PTH} net _ $ {INTF} .ip

ip a | grep $ {INTF} | grep inet | potong -d -f6 | potong -d / -f1 | potong -d. -f1-3 | awk '{print $ 0 ″ .1 ″}'> $ {PTH} gw _ $ {INTF} .ip

deklarasikan TMP_IP

TMP_IP = $ (cat $ {PTH} saat ini _ $ {INTF} .ip)

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

echo current wan ip $ TMP_IP

Simpan dan keluar, membuatnya dapat dieksekusi, lalu ujilah.

sudo chmod a + x getip.sh

bash getip.sh eth0.2

Dengan asumsi yang bekerja dengan benar untuk Anda pergi ke depan dan salin ke / usr / local / bin / untuk membuatnya dieksekusi secara global.

sudo cp getip.sh / usr / local / bin / getip

Sekarang saya cukup mengetik getip eth0.2 dan ip akan dikembalikan.

Skrip kedua akan menetapkan rute default, serta menjalankan skrip pertama.

vim setip.sh

#! / bin / bash

getip $ {1}

#fetch alamat ip yang ditetapkan untuk perangkat yang diberikan

PTH = (~ / src /)

deklarasikan RT_IP

RT_IP = $ (cat $ {PTH} gw _ $ {1} .ip)

ip route ubah default melalui $ RT_IP

ip route tambahkan default melalui $ RT_IP

echo ip route - default melalui $ RT_IP

Simpan dan keluar. Anda mungkin telah memperhatikan bahwa saya telah mengubah keduanya dan menambahkan rute default, ini adalah untuk kesempatan bahwa Anda memiliki set gateway yang salah.

sudo chmod a + x setip.sh

sudo setip.sh eth0.2

Anda dapat memeriksa tabel routing lagi untuk memeriksa kembali apakah semuanya baik.

sudo ip route show

Anda dapat menyalin skrip ke / usr / local / bin / jika Anda ingin mereka dapat dieksekusi secara global. Ini masih membutuhkan sudo, karena Anda memodifikasi dan antarmuka.

sudo cp setip.sh / usr / local / bin / setip

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Facebook Twitter Google Plus Pinterest