自从我升级到最新版本的 Ubuntu 18.04 LTS 版本后,我在尝试连接任何无线网络时都遇到一个烦人的问题。如果我的笔记本电脑进入睡眠模式,或者我必须离开家去大学或其他地方,当我尝试连接到 WiFi 网络时,它不会立即工作。我可能仍然连接到无线网络,但我没有互联网连接。这发生在我过去使用过的现有 WiFi 点上,也发生在升级后的新 WiFi 点上。所以我必须不断地多次手动执行 dhcp 客户端来更新 IP 地址。看起来它不会自动执行这一操作。我必须通过终端输入几次命令,它才能再次开始工作。
sudo dhclient -v wlan0
我注意到,第一次运行该命令时收到一些错误:
/var/lib/dhcp/dhclient.leases line 40: numeric minute expected.
renew 1 2018/10/22 08:3lease
^
/var/lib/dhcp/dhclient.leases line 40: semicolon expected.
renew 1 2018/10/22 08:3lease {
^
Corrupt lease file - possible data loss!
Corrupt lease file - possible data loss!
Corrupt lease file - possible data loss!
Corrupt lease file - possible data loss!
如果这样做后仍不成功,我必须重新启动计算机并重新执行此操作,直到获得连接。我甚至尝试通过
/etc/init.d/networking restart
但它不起作用!有什么可以实施的永久解决方案吗?或者这是已知的升级过程中出现的错误?
答案1
您的文件似乎/var/lib/dhcp/dhclient.leases
已损坏。您可以查看错误消息中提到的第 40 行。
该文件中应该没有重要信息,因此您可以清除该文件(或先复制其内容)。
答案2
我意识到我的“系统”dhclient
出了问题。我拼命地试图获取 IP,结果却syslog
收到垃圾邮件。dhclient
我第一次意识到这个问题的时候,有 13 个实例dhclient
同时运行。难怪租约文件被破坏,DHCP 服务器感到困惑。
我的解决方法是手动发出此命令:
ps ax|grep dhclient; sudo killall dhclient; sudo dhclient -v
这会显示当前有多少个dhclient
正在运行,然后终止所有正在运行的进程并启动一个新的。
我仍然遇到自动 DHCP 不起作用的问题。我总是必须dhclient
使用上面的命令手动设置。但我再也没有运行过多个 DHCP dhclient
。
仍有几个问题尚未解决:
- 它究竟是如何
dhclient
工作的?从控制台调用时,它会进入后台吗? - 谁负责启动和监控“系统”
dhclient
?