Memecahkan "jawaban RTNETLINK: File ada" saat menjalankan ifup

43

Saya mengalami masalah ini ketika mendapat dongle Wi-Fi baru dan telah melihat beberapa orang dengan masalah yang sama. Pada dasarnya ketika saya memiliki satu antarmuka yang dikonfigurasi dan ingin bertukar dengan yang lain, itu memunculkan kesalahan ini:

RTNETLINK jawaban: File ada
Gagal memunculkan eth0

atau yang serupa.

/etc/network/interfaces mengajukan:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1
avidreader610
sumber
1
Anda tidak dapat memiliki lebih dari satu gateway default di Linux. Khususnya Anda tidak dapat memiliki gateway default yang sama pada dua antarmuka yang berbeda. Dan Anda tidak dapat memiliki jaringan yang sama pada dua antarmuka yang berbeda.
ceving
@ceving tidak ada masalah dalam memiliki dua antarmuka di jaringan yang sama. Juga tidak ada masalah jika kedua antarmuka ini memiliki gateway yang sama. Tabel perutean diuraikan secara ketat dan Anda dapat membayangkan entri tersebut destination IP -> interface. Dengan demikian itu akan dikirim ke gateway melalui antarmuka yang di-parse terlebih dahulu (dari bawah) di tabel routing.
George
jika berhadapan dengan IPV6 selalu tambahkan panjang jaringan: xxxx: xxxx: ... :: 1/64 pada alamat
fcm

Jawaban:

46

Jika solusi yang diberikan oleh @ theoB610 masih tidak berfungsi, maka Anda mungkin harus menyiram wlan0perangkat sebelum ifupdan ifdown.

sudo ip addr flush dev wlan0

Ini adalah masalah yang tidak terlalu spesifik untuk Raspberry Pi, masalah serupa terjadi dan diselesaikan di jaringan kabel di sini (dari mana saya mendapatkan solusi untuk masalah saya dengan Pi).

Ébe Isaac
sumber
1
Saya mengalami masalah ini pada server HP ProLiant (!), Dan ini memperbaikinya.
sudo
1
Solusi bagus Masalah mendasarnya adalah beberapa konfigurasi sebelumnya, otomatis atau manual (seperti menjalankan ifconfig dari baris cmd) masih ada. Perintah flush memperbaiki situasi itu.
kmarsh
1
Saya memiliki masalah ini ketika ada /etc/sysconfig/network-scripts/ifcfg-*file cacat yang disebabkan oleh NetworkManager tidak menyukai beberapa pengaturan dan membuat file pengganti, sehingga membuat beberapa file tambahan dan menyebabkan kesalahan RTNETLINK answers: File exists. Menghapus yang rusak (yang tidak ditampilkan sebagai profil) tampaknya merupakan perbaikan.
Wilf
2
Jangan pernah salin-tempel ini di server produksi. Saya mengganti wlan0 dengan eth0 dan antarmuka turun segera dan tidak ingin kembali.
Fusseldieb
1
Menarik bahwa tidak ada yang disediakan sederhana dan dengan aturan metode paling aman: reboot. Misalnya dengan antarmuka pembilasan saya punya masalah - antarmuka / IP saya turun dan saya hanya bisa terhubung langsung pada konsol ... jadi reboot selalu merupakan cara untuk saya.
stamster
24

Saya pikir solusinya dapat ditemukan dalam Memecahkan "jawaban RTNETLINK: File ada" saat menjalankan ifup (Lennart's weblog); itu pasti memperbaikinya bagi saya.

Pada dasarnya Anda hanya dapat memiliki satu gateway yang ditetapkan dalam file antarmuka Anda. Hapus garis duplikat yang menentukan gateway sehingga hanya muncul sekali.

Dimodifikasi / etc / network / interfaces file:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    #gateway 192.168.1.1  <= Either comment or remove this line

Semua kredit untuk Lennart untuk menyelesaikan masalah ini!

avidreader610
sumber
Tersandung di jawaban ini melalui Google. Inilah yang berhasil bagi saya di VM Ubuntu di Hyper-V
abhijit
8

Saya diselesaikan dengan:

sudo ifup --ignore-errors wlan0

setelah perintah ini, ifdown dan ifup mulai berfungsi dengan benar.

mauretto
sumber
Ini berguna setelah "restart jaringan layanan" gagal, terima kasih. :)
Adambean
1

Langkah:

1 check-> ip route(jika ip route default adalah selain antarmuka yang Anda butuhkan, ikuti langkah 2d & 3)

2 sudo ip route del default(hapus antarmuka default itu)

3 sudo ip route add default via ip_address dev interface_name(tambahkan antarmuka yang dibutuhkan seperti ini)

Rahul Patil
sumber
0

Dalam kasus saya, saya memiliki koneksi lain yang masih berjalan - begitu saya menurunkan antarmuka dengan ifdown eth0, yang saya tertarik (wlan0) muncul dengan bersih.

Saya tidak merekomendasikan menggunakan opsi --ignore-errors

tamale
sumber
0

Saya sengaja menemukan ini saat bermain-main dengan VMWare vCenter. Jika Anda berada di kapal yang sama, Anda harus menginstal VMWare Tools, perl, dan net-tools dengan manajer paket Anda sebelum membuat Template / Snapshot dari VM.

turiyag
sumber
-1

Paksa de / konfigurasi

ifdown --force --verbose ethX && ifup --force --verbose ethX
Nico
sumber