Saya tidak bisa ifdown
menggunakan antarmuka di Debian 6.0.5:
user@box:/etc/network$ sudo ifdown eth0 && sudo ifup eth0
ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.
user@box:/etc/network$ cat interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
allow-hotplug eth1
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
auto eth1
iface eth1 inet manual
Seperti yang diminta oleh marco:
user@box:/etc/network/$ cat /run/network/ifstate
lo=lo
eth1=eth1
debian
networking
jwbensley
sumber
sumber
/run/network/ifstate
mengandung?Jawaban:
Periksa isi file
/run/network/ifstate
.ifup
danifdown
gunakan file ini untuk mencatat antarmuka jaringan mana yang dapat dinaikkan dan turun. Dengan demikian,ifup
dapat dengan mudah bingung ketika alat jaringan lain digunakan untuk membuka antarmuka (misalnyaifconfig
).Dari man ifup
sumber
eth0=eth0
agar/run/network/ifstate
dapat mengenali antarmuka dan mengkonfigurasinya dengan benar. Jawaban ini membantu mengarahkan saya ke file, tetapi berhenti menyarankan penambahan itu, yang memecahkan masalah saya yang serupa.auto
di/etc/network/interfaces
? Itu harus muncul/run/network/ifstate
tanpa perlu memodifikasi file secara manual.--force
adalah jawaban untuk saya; ternyataifup
tidak membawa antarmuka di tempat pertama karena perintah yang gagal di/etc/network/if-pre-up.d
; beruntung saya memiliki jaringan sama sekali!ifdown
adalah program tingkat tinggi yang melakukan banyak hal yang mungkin tidak Anda butuhkan. Selain itu, tidak tersedia di mana-mana. Cara yang lebih portabel mungkin cocok untuk Anda:Jika Anda tidak bisa
ifup
, kemungkinan Anda memiliki beberapa masalah konfigurasi. Membicarakannya secara manualifconfig eth0 up
mungkin bukan hal yang benar dalam kasus itu. Di Debian,ifup
ini adalah biner yang dapat dieksekusi, jadi Anda mungkin harus melakukannyastrace
untuk mencari tahu di mana ia ditutup:Itu akan memberi tahu Anda file mana
ifup
yang dibuka saat berfungsi, yang mungkin akan memberi Anda petunjuk tentang masalah tersebut.Pada sistem lain (mis. RHEL dan turunannya)
ifup
adalah skrip shell, jadi jauh lebih mudah untuk di-debug:Menjalankan skrip shell dengan
sh -x
membuatnya mencetak setiap baris yang dijalankannya, sehingga Anda dapat melacak eksekusi.sumber
sudo ifconfig eth0 down && sudo ifconfig eth0 up
yang akan mengepakkan antarmuka ke atas dan ke bawah tetapi saya mencoba untuk secara manual memicu skrip if-up yang telah saya tulis dan itu tidak melakukannya. Setelah memperbarui file / etc / network / run / ifstate saya, ifdown / up berfungsi sekarang. Terima kasih atas info Anda! :)ifdown
adalah program tingkat tinggi yang melakukan banyak hal yang mungkin Anda butuhkan.ifconfig eth0 down
lebih portabel dan selalu dapat dijalankan, tetapi tidak melakukan tugas pembersihan yangifdown
mungkin dilakukan.ifconfig
sepanjang waktu, menghindariifup/down
. Saya menyarankan itu hanya sebagai langkah pemecahan masalah. Ketika saya memahami masalahnya, itu ternyata merupakan hasil dari penggunaanifconfig
alih-alihifup/down
, sehingga membingungkan mekanisme tingkat tinggi. Tapi, saya tidak tahu ketika saya memposting jawaban saya.Saya pernah melihat ini sebelumnya ketika ethX tidak dikonfigurasi dengan benar
/etc/network/interfaces
. Ini perlu sesuatu seperti: -Bahkan dengan
/etc/network/interfaces
file yang tidak terkonfigurasi dengan benar , Anda masih dapat menghapus eth0 dengan:sumber
auto
. Terima kasih.Bagi siapa pun yang berjuang dengan masalah ini:
Saya memeriksa file ifstate. "Interface-name" di / run / network.
Itu kosong jadi saya memasukkan "interface-name" (eth0) ke ifstate. "Interface-name" file di / run / network.
sumber
Tambahkan
eth0=eth0
ke/run/network/ifstate
. Ini berhasil untuk sayasumber
Apa yang saya temukan membantu saya adalah memanggil
rm
perintah untuk menghapus file kunci di dalamnya/run/network/
Lakukan
ls -la
dan Anda akan melihat.ifstate
file tersembunyi atau sesuatu dengan nama itu.Hapus itu dan coba:
ifdown && ifup
Jika Anda khawatir Anda dapat merusak sesuatu, buatlah salinan file itu di luar direktori dan hapus satu di dalam direktori.
sumber