Gateway default berubah

28

Saya menggunakan 3 antarmuka ethernet di Ubuntu tetapi ketika saya memulai kembali, gateway default berubah ke antarmuka yang berbeda. Setiap kali saya boot saya harus mengubah gateway default kembali ke eth1 dengan menghapus gateway default dan menambahkannya kembali dengan eth1. Bagaimana saya bisa memperbaiki masalah ini?

Baran
sumber
Sudahkah Anda mengonfigurasinya secara manual menggunakan /etc/network/interfacesfile, atau dengan perangkat lunak seperti Network Manager atau wicd?
Lekensteyn
1
"Gateway" tidak sama dengan "rute". Gateway khusus untuk antarmuka di mana rute mengatakan antarmuka mana yang harus digunakan.
Lekensteyn
Gateway biasanya merupakan antarmuka pada perangkat jarak jauh yang menjadi andalan simpul lokal untuk keputusan routing. Pernyataan rute itu sendiri dapat merujuk ke antarmuka lokal atau tidak, tetapi tujuan rute harus dapat ditemukan dari pencarian rekursif, antarmuka yang terhubung, atau rute default. Rute default atau gateway default adalah 'gateway of last resort' - yang akan digunakan jika tidak ada rute yang lebih spesifik yang tersedia.
belacqua
Bisakah Anda memberikan tabel perutean dan daftar antarmuka, dan konfigurasi jaringan lain yang relevan yang telah Anda lakukan?
belacqua

Jawaban:

33

Untuk sementara mengubah rute default, Anda dapat menggunakan perintah ip seperti ini:

$ sudo ip route change default via 192.168.1.1 dev eth0

Jika Anda memiliki konfigurasi ip statis, /etc/network/interfacesAnda dapat menambahkan pernyataan gateway untuk menjadikan ini permanen.

iface eth0 inet static
    gateway 192.168.1.1
    […]

Menggunakan DHCP untuk mengkonfigurasi jaringan Anda harus menyesuaikan file lain. Tambahkan pernyataan menggantikan di /etc/dhcp/dhclient.conf.

supersede routers 192.168.1.1;
webwurst
sumber
1
Versi skrip (harus berupa spasi di antara tanda kutip):echo supersede routers $(ip route | grep default | cut -f3 -d" ")\; | sudo tee --append /etc/dhcp/dhclient.conf
colan
Bagaimana jika saya memiliki banyak antarmuka? Tidakkah seharusnya mereka semua memiliki 'gateway' untuk setiap antarmuka? Tapi apa yang mempengaruhi contoh '' default via 192.168.3.1 dev eth6 "output dari perintah ip route? Ini mencantumkan antarmuka spesifik, kan?
JohnyTex
7

Buka file /etc/network/interfaces

temukan antarmuka yang diinginkan dan tambahkan berikut ini:

gateway 192.x.x.x

Mulai ulang jaringan:

sudo /etc/init.d/networking restart
mount.cifs
sumber
16
Bagaimana jika antarmuka yang diinginkan dikonfigurasi melalui DHCP dan saya tidak tahu alamat gateway yang akan ditetapkannya?
devmiles.com
0

Saya memiliki masalah yang sama untuk antarmuka wifi saya wlp3s0di Ubuntu 18.04. Itu memengaruhi kemampuan saya untuk terhubung ke tethering Android dan router di luar rumah. Cara untuk memecahkan masalah bagi saya adalah dengan mengomentari /etc/dhcpcd.confsebagai berikut:

interface wlp3s0
        static ip_address=192.168.0.16/24
        static routers=192.168.0.1
        static domain_name_servers=127.0.0.1

untuk mendapatkan yang berikut ini

#interface wlp3s0
#        static ip_address=192.168.0.16/24
#        static routers=192.168.0.1
#        static domain_name_servers=127.0.0.1

Kemudian, saya telah terputus dari jaringan saya saat ini dan menghubungkan kembali mencoba route -natau nmclimelihat perubahan

Anda juga dapat menghapus garis yang sama ketika Anda yakin itu bekerja untuk Anda.

Karena garis-garis ini, NetworkManager selalu menambahkan rute default dengan gateway yang salah, khususnya ketika saya tidak berada di jaringan rumah saya. Saya mendapatkan "Host Tujuan Tidak Dapat Dicapai" ketika saya sedang melakukan ping 8.8.8.8. Hardcoding gateway in /etc/network/interfacesbukan solusi yang layak karena saya menghubungkan banyak ke wifis publik (jadi, tidak pernah router wifi atau gateway yang sama) dan biasanya DHCP harus bekerja "di luar kotak" IMHO.

PS: Saya tidak pernah mengedit secara manual /etc/dhcpcd.confjadi saya tidak tahu mengapa file /etc/dhcpcd.confitu mengandung baris-baris ini.

ThomasG77
sumber