如何在启动时启动 dhclient?

如何在启动时启动 dhclient?

问题如下:

root@home:~# ping 8.8.8.8
connect: Network is unreachable

root@home:~# dhclient eth0
RTNETLINK answers: File exists

root@home:~# ping 8.8.8.8 
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=51 time=16.8 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=51 time=16.6 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 16.654/16.737/16.820/0.083 ms
root@home:~#

只有在我手动调用 dhclient 后,网络才能正常工作。我没有 NetworkManager(已将其删除)。以下是来自的相关行/etc/network/interfaces

auto eth0
iface eth0 inet dhcp

以下是启动日志:

root@home:~# cat /var/log/syslog | grep dhclient
May 28 21:39:44 home kernel: [    7.237076] type=1400 audit(1369762781.497:2): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient" pid=405 comm="apparmor_parser"
May 28 21:39:44 home kernel: [    7.238298] type=1400 audit(1369762781.497:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=405 comm="apparmor_parser"
May 28 21:39:45 home dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 (xid=0x79607e29)
May 28 21:39:45 home dhclient: DHCPREQUEST of 192.168.0.103 on eth0 to 255.255.255.255 port 67 (xid=0x79607e29)
May 28 21:39:45 home dhclient: DHCPOFFER of 192.168.0.103 from 192.168.0.1
May 28 21:39:45 home dhclient: DHCPACK of 192.168.0.103 from 192.168.0.1
May 28 21:39:45 home dhclient: bound to 192.168.0.103 -- renewal in 234779 seconds.
May 28 21:39:45 home kernel: [   11.695666] type=1400 audit(1369762785.953:10): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient" pid=1154 comm="apparmor_parser"
May 28 21:40:11 home dhclient: DHCPREQUEST of 192.168.0.103 on eth0 to 255.255.255.255 port 67 (xid=0x2aa61c47)
May 28 21:40:11 home dhclient: DHCPACK of 192.168.0.103 from 192.168.0.1
May 28 21:40:11 home dhclient: bound to 192.168.0.103 -- renewal in 243414 seconds.

有什么想法可能导致此类问题吗?

答案1

看起来是因为 DHCP 客户端启动时 /var/lib/dh​​cp3 或 /var/run 尚未挂载。

根据dhclient 的手册页,尝试指定这些文件的名称和/或位置,分别使用 -cf、-lf、-pf 和 -sf 标志,后跟文件名。(DHCP 客户端通常从

  /etc/dhcp3/dhclient.conf

,其租赁数据库来自

  /var/lib/dhcp3/dhclient.leases

,将其进程 ID 存储在名为

   /var/run/dhclient.pid 

并使用配置网络接口

   /sbin/dhclient-script

相关内容