如何在从睡眠状态恢复后发送网络重新连接消息

如何在从睡眠状态恢复后发送网络重新连接消息

我有台式机和笔记本电脑,我在台式机以太网上配置了 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

确保将其标记为可执行且具有正确的权限。

为了更好的解释,请参阅以下其他问题:

唤醒时运行脚本?

如何在暂停恢复后执行命令?

相关内容