“Jawaban RTNETLINK: File ada” / etc / network / interfaces Tidak mengandung 2 gateway, jadi apa yang salah?

14

Ini adalah /etc/network/interfacesisi file saya

Satu-satunya cara ini berlaku adalah ketika sistem reboot.

Saya mencoba untuk melakukannya secara manual. Upaya saya di bawah ini.

auto eth0
    iface eth0 inet static
           address 192.168.1.57
           netmask 255.255.255.0
           gateway 192.168.1.1
           up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
           down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
           up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
           down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

Pertama mencoba lari sudo ifup eth0

dan saya terima

RTNETLINK answers: File exists
Failed to bring up eth0.

Satu- /etc/network/interfacessatunya yang berfungsi ketika saya reboot sistem

Selain itu saya sudah mencoba

sudo /etc/init.d/networking restart

sudo service network-manager restart

sudo service networking restart

Tetapi tidak satupun dari mereka akan memunculkan perubahan dalam interfacesfile

Satu-satunya pilihan saya adalah sudo ifup eth0dan itu memberikan kesalahan di atas.

apa yang salah?

Wolfgang
sumber

Jawaban:

8

Edit file konfigurasi Anda untuk menghapus spasi sebelum ifacebait sehingga terlihat seperti ini,

auto eth0
iface eth0 inet static
   address 192.168.1.57
   netmask 255.255.255.0
   gateway 192.168.1.1
   up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
   down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
   up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
   down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

Pesan yang Anda terima hanyalah indikasi bahwa antarmuka sudah menyala, jadi Anda harus melakukannya ifdownsebelum melakukannya ifup. Namun, Anda harus berhati-hati jika terhubung melalui ssh - Anda dapat mengunci diri. Ini cara untuk melakukannya:

sudo ifdown eth0 && sudo ifup eth0

Perhatikan, bagaimana kedua perintah ini dijalankan pada baris yang sama. Dan hanya pencegahan, pastikan Anda bisa mendapatkan akses ke konsol server atau reboot server jika terjadi kesalahan.

dtoubelis
sumber
3
menjalankan sudo ifdown eth0memberi ifdown: interface eth0 not configureddan menjalankan sudo ifdown eth0 && ifup eth0 memberikan hal yang sama
wolfgang
1
@ Wolfgang, coba hapus spasi sebelum ifacebait dalam /etc/network/interfacesfile Anda dan lakukan ifdown/ifuplagi.
dtoubelis
Ini berhasil! tidak mengharapkan spasi sebelum ifaceakan membuat masalah besar. bisakah Anda mengedit ini menjadi jawaban Anda sehingga dapat membantu seseorang? dan harus ada sudosebelum ifup-> sudo ifdown eth0 && sudo ifup eth0kalau tidak saya mendapatkan beberapa permission deniedkesalahan
wolfgang
1

Cobalah untuk mencari / menjalankan / jaringan / ifstate, dan memodifikasinya dengan menambahkan eth (n) = eth (0) jika Anda tidak melihat eth yang diinginkan di sana.

Ex:

$ cat /run/network/ifstate 
eth0=eth0
lo=lo
eth3=eth3
eth1=eth1

Setelah itu gunakan perintah sudo ifdown eth (n) dan kemudian sudo ifup eth (n).

alex
sumber
1

Kepada siapa pun yang berakhir di sini, saya harus menghentikan semua antarmuka dan jembatan dan kemudian membongkar modul sebelum kesalahan RTNETLINK akan hilang.

ifconfig eth0 down
ifconfig br0 down
rmmod e1000e              # or whatever module your nic uses
modprobe e1000e
service networking start

atau hanya reboot.

Kurt
sumber
0

Saya hanya mengalami masalah ini dan tidak ada solusi di atas yang berfungsi untuk saya. Saya tidak dapat mengubah /run/network/ifstatekarena itu direset segera ke keadaan sebelumnya. Juga sudo ifdown eth0 && sudo ifup eth0tidak berhasil.

Saya kemudian menemukan perintah berikut:

sudo ip addr flush dev eth0

yang memecahkan masalah.

digijay
sumber