Saya mengalami kesalahan yang sangat aneh di ubuntu-server (8.04), saya tidak tahu mengapa dhclient tidak diizinkan untuk mengatur pengaturan jaringan! Saya bukan orang yang menginstal server di tempat pertama, jadi saya tidak tahu banyak tentang pengaturan. Server hanya digunakan sebagai firewall / gateway (skrip iptables khusus) itu punya tiga nic untuk internet, satu untuk LAN dan satu untuk DMZ. Sekarang ISP telah mengubah pengaturan dari ip statis ke ip "statis" yang ditetapkan melalui dhcp, dan saya benar-benar tidak dapat menggunakannya.
Sayangnya saya tidak bisa mengatur IP secara statis karena ISP menutup koneksi saya ketika leasing dhcp berakhir: o
Ini adalah kesalahan yang saya dapatkan: (dan kemudian hanya hang di sana ..)
root@fw:~# dhclient eth2
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFFLAGS: Permission denied
Listening on LPF/eth2/00:50:52:c1:a1:32
Sending on LPF/eth2/00:50:52:c1:a1:32
Sending on Socket/fallback
DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 8
DHCPOFFER of 2.10.56.19 from 93.87.36.42
DHCPREQUEST of 2.10.56.19 on eth2 to 255.255.255.255 port 67
DHCPACK of 2.10.56.19 from 93.87.36.42
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFNETMASK: Permission denied
SIOCSIFBRDADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCADDRT: Operation not permitted
untuk sekarang saya telah memperbaikinya dengan menjalankan killall dhclient; dhclient eth2
setiap jam dan kemudian menetapkan pengaturan IP statis untuk antarmuka, ini cukup untuk menjaga koneksi tetap hidup! tapi itu hack yang cukup jelek menurut saya ..
strace -o /tmp/dhc$$ dhclient -d eth2
harus menghasilkan informasi berharga tentang panggilan apa yang gagal. Ya, saya tahu semuanya, tetapi melihat argumennya mungkin membantu. Saya menduga beberapa keanehan dengan driver eth2, mungkin modul tidak sinkron dengan kernel.-1
opsi dan tunggu sampai keluar sendiri.-f
opsi dihidupkan: silenzio.dk/pi/dhc.straceJawaban:
Berdasarkan jejak stack di http://silenzio.dk/pi/dhc.strace pertama
SIOCSIFADDR: Permission denied
terjadi kesalahan pada baris 735, selama pelaksanaan proses 26.092:ifconfig eth2 inet 0 up
. Sekarang hanyaroot
dapat melakukanifconfig
sesuatu, jadi mari kita melacak rantaifork()
/exec()
dan mencari perubahan UID. Ternyata itu:Jadi, kesalahan terjadi karena proses eksekusi anak tidak memiliki hak akses root yang diperlukan. Mengapa ini terjadi? The
debian/changelog
file dalamdhcp3-3.0.6.dfsg
sumber mengatakan:Dugaan saya adalah bahwa ia
call-dhclient-script
telah kehilangan bit set-UID-nya, dan karenanya tidak mengeksekusi dengan hak akses root seperti yang seharusnya. (Menurutdebian/dhcp3-client.postinst
file di sumber, itu harus dimiliki olehroot:dhcp
dan mode4754
)sumber
chmod u+s /lib/dhcp3-client/call-dhclient-script
lakukan triknya!Apa yang ditampilkan oleh output "dmesg" Anda saat menjalankan dhclient?
Jika Anda menjalankan Hardy, AppArmor adalah bagian dari pemasangan default. Mungkin saja profil dhclient sudah rusak. Centang "sudo aa-status" untuk melihat apa yang terjadi di sana.
Selain itu, bagaimana file / etc / network / interface Anda membaca? Mungkin Anda memiliki alamat, rute, dll yang saling bertentangan yang dhclient tidak ingin mainkan?
sumber
Saya akan mencoba menginstal nscd jika paket itu hilang, dan jika tidak bekerja dengan ini, instal juga libnss-db.
Namun, tidak yakin apakah itu akan menyelesaikan masalah Anda, itulah hal-hal yang dicari jejak Anda dan gagal.
sumber
Silakan jalankan
sudo dpkg --configure -a
hanya untuk memastikan itu bukan pengulangan situasi di https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/19740/comments/67sumber
dpkg --configure -a
tidak melakukan apa-apa (tidak ada paket yang perlu dikonfigurasi)Ini sebenarnya adalah bug di Ubuntu 8.04. Untuk beberapa kasus penggunaan, Anda PERLU untuk menginstal nscd (mis. Ketika menggunakan openvpn) atau dhclient tidak akan berfungsi. Ini tidak terjadi pada rilis Ubuntu yang lebih baru.
sumber