Las*_*sen 9 server 8.04 networking dhclient dhcp
我在 ubuntu-server (8.04) 上遇到了一个很奇怪的错误,我不知道为什么 dhclient 不允许设置网络设置!我不是首先安装服务器的人,所以我对设置了解不多。该服务器仅用作防火墙/网关(自定义 iptables 脚本),它有三个网卡,一个用于互联网,一个用于 LAN,一个用于 DMZ。现在 ISP 已经将设置从静态 ip 更改为通过 dhcp 分配的“静态”ip,我无法真正使用它。
遗憾的是,我不能静态地设置 IP,因为 ISP 在 dhcp 租约结束时关闭了我的连接:o
这是我得到的错误:(然后它就挂在那里..)
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
Run Code Online (Sandbox Code Playgroud)
现在我已经通过killall dhclient; dhclient eth2每小时运行一次然后为接口设置静态 IP 设置来修复它,这足以保持连接有效!但在我看来这是一个非常丑陋的黑客攻击..
基于在所述堆栈跟踪http://silenzio.dk/pi/dhc.strace第一
SIOCSIFADDR: Permission denied在行735发生错误时,处理26092的执行期间:ifconfig eth2 inet 0 up。现在唯一
root可以ifconfig的东西了,所以让我们跟踪链
fork()/exec()查找UID变化。事实证明:
因此,发生错误是因为正在执行的子进程没有必要的 root 权限。为什么会发生这种情况?来源中的
debian/changelog文件dhcp3-3.0.6.dfsg说:
dhcp3 (3.0.1-2ubuntu4) breezy; urgency=low
Derooted the DHCP client:
* Added debian/patches/deroot-client.patch:
- client/dhclient.c: After initialization, dro privileges to dhcp:dhcp and
only keep CAP_NET_RAW and CAP_NET_BIND_SERVICE.
- Add a setuid wrapper call-dhclient-script to call
/etc/dhcp3/dhclient-script as root.
- Install call-dhclient-script into /lib/dhcp3-client/.
Run Code Online (Sandbox Code Playgroud)
我的猜测是它call-dhclient-script已经丢失了它的 set-UID 位,因此没有像它应该的那样以 root 权限执行。(根据debian/dhcp3-client.postinstsources中的文件,应该归root:dhcp和mode所有4754)
| 归档时间: |
|
| 查看次数: |
27370 次 |
| 最近记录: |