我在ubuntu-server(8.04)上遇到了一个很奇怪的错误,我不知道为什么不允许dhclient设置网络设置!我不是首先安装服务器的人,所以我对设置了解不多。该服务器仅用作防火墙/网关(自定义iptables脚本),它具有三个NIC,一个用于Internet,一个用于LAN,一个用于DMZ。现在,ISP已将设置从静态ip更改为通过dhcp分配的“静态” ip,我无法真正使用它。
遗憾的是,由于dhcp租约结束时ISP会关闭我的连接,因此我不能仅静态地设置IP:
这是我得到的错误:(然后它就挂在那里了。)
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
现在,我已经通过killall dhclient; dhclient eth2
每小时运行一次,然后为接口设置静态IP设置来解决此问题,这足以使连接保持活动状态!但我认为这是一个非常丑陋的hack ..
-1
选项并等待其自行退出。
-f
启用了选项的strace :silenzio.dk/pi/dhc.strace
strace -o /tmp/dhc$$ dhclient -d eth2
应该提供有关失败呼叫的有价值的信息。是的,我认识所有这些人,但是看到这些论点可能会有所帮助。我怀疑eth2驱动程序有些奇怪,也许模块与内核不同步。