我有台式机和笔记本电脑,我在台式机以太网上配置了 DHCP,并让笔记本电脑连接到它。问题是,我的台式机从睡眠状态唤醒后,它们都处于启动状态,但没有自动重新建立连接。
ip a
在我的桌面上,唤醒后:
eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e0:4f:43:28:14:ff brd ff:ff:ff:ff:ff:ff
inet 192.168.100.1/24 brd 192.168.100.255 scope global noprefixroute eno1
valid_lft forever preferred_lft forever
inet6 fe80::877b:4080:5730:2008/64 scope link noprefixroute
valid_lft forever preferred_lft forever
在我的笔记本电脑上:
enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether e8:6a:64:6e:1b:43 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fcf:313e:903:4d9b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
在我的笔记本电脑上运行sudo dhclient -v -r enp0s31f6
没有重新建立连接:
Listening on LPF/enp0s31f6/e8:6a:64:6e:1b:43
Sending on LPF/enp0s31f6/e8:6a:64:6e:1b:43
Sending on Socket/fallback
我的解决方法是在任意一台机器上运行ip link set <interface> down && ip link set <interface> up
,让它们启动连接。有没有更好的方法让它们在唤醒后重新连接?抱歉,我没有足够的知识来更好地描述我想要的东西。
我的台式机使用的是 18.04 版,内核是 5.4。我的笔记本电脑使用的是 18.04 版,内核是 4.15。
感谢您的任何帮助!
答案1
在 /usr/lib/pm-utils/sleep.d 目录下的脚本中创建一个包含修复内容的脚本:
#!/bin/sh
case "$1" in
resume)
set <interface> down
ip link set <interface>
esac
确保将其标记为可执行且具有正确的权限。
为了更好的解释,请参阅以下其他问题: