使用zeroconf网络断开电缆连接后,必须重新启动网络服务

韦斯

我正在使用运行Ubuntu 15.04的Wandboard(imx6)设备来实现类似自助服务终端的目的。在网络之间移动(现场无键盘访问)后,我将zeroconf网络用于初始配置。将网络更改为zeroconf设置后,网络接口无法正常工作。这是我的再现步骤(让我知道是否还有其他有用的内容可放入我的diag脚本中):

  1. 我重置为zeroconf设置,并在设备仍然插入lan的情况下重新启动
wandboard@lnm:~$ ./network-diag.sh 
+ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 169.254.254.254
  netmask 255.255.0.0
  gateway 1.1.1.1

+ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:1f:7b:b2:14:96 brd ff:ff:ff:ff:ff:ff
    inet 169.254.254.254/16 brd 169.254.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::21f:7bff:feb2:1496/64 scope link 
       valid_lft forever preferred_lft forever
+ ip route
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.254.254 

+ systemctl status sys-subsystem-net-devices-eth0.device
� sys-subsystem-net-devices-eth0.device - /sys/subsystem/net/devices/eth0
   Loaded: loaded
   Active: active (plugged) since Fri 2016-08-12 18:40:17 UTC; 1min 17s ago
   Device: /sys/devices/soc0/soc.1/2100000.aips-bus/2188000.ethernet/net/eth0
  1. 拔下电缆,插入临时零配置网络
wandboard@lnm:~$ ./network-diag.sh 
+ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 169.254.254.254
  netmask 255.255.0.0
  gateway 1.1.1.1

+ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:1f:7b:b2:14:96 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21f:7bff:feb2:1496/64 scope link 
       valid_lft forever preferred_lft forever
+ ip route

+ systemctl status sys-subsystem-net-devices-eth0.device
�  sys-subsystem-net-devices-eth0.device - /sys/subsystem/net/devices/eth0
   Loaded: loaded
   Active: active (plugged) since Fri 2016-08-12 18:40:17 UTC; 5min ago
   Device: /sys/devices/soc0/soc.1/2100000.aips-bus/2188000.ethernet/net/eth0
  1. 现在,从Windows计算机在Zeroconf模式下无法访问设备。Pings返回“目标主机不可达”。但是随着网络的快速重启...
wandboard@lnm:~$ sudo service networking restart                                                                    
wandboard@lnm:~$ ./network-diag.sh 
+ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 169.254.254.254
  netmask 255.255.0.0
  gateway 1.1.1.1

+ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:1f:7b:b2:14:96 brd ff:ff:ff:ff:ff:ff
    inet 169.254.254.254/16 brd 169.254.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::21f:7bff:feb2:1496/64 scope link 
       valid_lft forever preferred_lft forever
+ ip route
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.254.254 

+ systemctl status sys-subsystem-net-devices-eth0.device
�  sys-subsystem-net-devices-eth0.device - /sys/subsystem/net/devices/eth0
   Loaded: loaded
   Active: active (plugged) since Fri 2016-08-12 18:40:17 UTC; 7min ago
   Device: /sys/devices/soc0/soc.1/2100000.aips-bus/2188000.ethernet/net/eth0

然后一切都很好。Windows计算机上的Ping立即开始完成。

这在现场给用户带来了困惑,他们最终关闭了设备并重新打开电源,直到设备响应为止。电缆切换事件发生后,如何在Zeroconf模式下按预期方式重新连接网络?


更新:allow-hotplug eth0似乎没有任何改变。

更新-更新:
遵循maxf的建议,仅在安装ifplugd(并对其进行配置!)之后,我的许多问题就消失了。注意:如果希望它监视接口,则必须在/ etc / default / ifplugd中配置ifplugd。我发现除了一种情况外,我的界面都可以正常联机:

╔═══════════╦═══════════════╦═══════════╦═════════╗
║ Boot with ║   bad link    ║ good link ║ no link ║
╠═══════════╬═══════════════╬═══════════╬═════════╣
║ dhcp      ║ ok            ║ ok        ║ ok      ║
║ zeroconf  ║ needs restart ║ ok        ║ ok      ║
╚═══════════╩═══════════════╩═══════════╩═════════╝

在此表中,我将引导配置了dhcp / zeroconf-static的设备,并且电缆插入所需的相对网络(坏链路),正确的网络(正常链路)或未连接(无链路)。然后,我将其连接到正确的网络,并查看接口是否正确联机。我发现只有在启动时连接到我的LAN的zeroconf配置无法连接到Zeroconf便携式计算机的临时网络。

这是我在/etc/ifplugd/action.d/中的动作脚本

#!/bin/sh

LNM_LOG=/tmp/ifplug.log
ZEROCONF_IP=169.254.254.254
date >> $LNM_LOG
echo $1 $2 >> $LNM_LOG
if [ "$1" = "eth0" -a "$2" = "up" -a $(grep -c $ZEROCONF_IP /etc/network/interfaces) -ne 0  ] ; then
    echo "eth0 plugged in for zeroconf, restart networking" >> $LNM_LOG
    service networking restart
    echo "network restarted" >> $LNM_LOG
fi
麦克斯

从理论上讲,不必重新启动网络。尝试在“ auto eth0”行之后将“ allow-hotplug eth0”添加到/ etc / network / interfaces中,以查看是否可以解决该问题。

至于您最初的问题:您可以使用ifplugdIfplugd基本上是一个小的守护程序,它监视以太网接口的链接状态并在更改时调用用户定义的脚本(默认为/etc/ifplugd/ifplugd.action)。该脚本获取单个参数(“ up”或“ down”),设置后,您可以使用以下参数:

#!/bin/sh

if [ "$1" = "up" ] ; then
    service networking restart
fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新启动网络服务时出现问题

来自分类Dev

通过SSH重新启动本地VM的网络服务

来自分类Dev

当网络断开连接时,如何让我的 Python 代码重新启动

来自分类Dev

使用网络服务

来自分类Dev

路由器重新启动后,NAS无法重新连接到网络

来自分类Dev

不重新启动网络管理器服务,Ubuntu 16.04无法重新连接到VPN

来自分类Dev

更新期间重新启动计算机;“系统网络服务与此版本不兼容”

来自分类Dev

更新期间重新启动计算机;“系统网络服务与此版本不兼容”

来自分类Dev

Ubuntu 16.04更改IP地址-重新启动网络服务,切换旧IP地址

来自分类Dev

无法使用网络服务

来自分类Dev

SocketException后如何重新启动网络流

来自分类Dev

重新启动网络后IP路由错误

来自分类Dev

重新启动后如何保留网络命名空间

来自分类Dev

systemctl重新启动网络后,网桥配置重置

来自分类Dev

如何使用密码映射网络驱动器,使其在重新启动后保持映射状态?

来自分类Dev

运行sysctl -p后是否必须重新启动服务?

来自分类Dev

使用OPC UA milo断开或重新启动服务器后,如何处理重新订阅?

来自分类Dev

使用OPC UA milo断开或重新启动服务器后,如何处理重新订阅?

来自分类Dev

使用命令重新启动网络,无需提供密码

来自分类Dev

使用命令重新启动网络,无需提供密码

来自分类Dev

无法使用Systemd重新启动Debian上的网络

来自分类Dev

是什么会导致设备失去网络连接性,但是快速断开连接并重新连接网络电缆会恢复连接性吗?

来自分类Dev

Virtualbox桥接网络以太网电缆断开连接

来自分类Dev

Ansible:在Ubuntu上重新启动网络

来自分类Dev

重新启动网络接口-Angstrom Linux

来自分类Dev

无法重新启动网络守护程序

来自分类Dev

重新启动网络管理器

来自分类Dev

轮询网络服务

来自分类Dev

共享网络服务

Related 相关文章

  1. 1

    重新启动网络服务时出现问题

  2. 2

    通过SSH重新启动本地VM的网络服务

  3. 3

    当网络断开连接时,如何让我的 Python 代码重新启动

  4. 4

    使用网络服务

  5. 5

    路由器重新启动后,NAS无法重新连接到网络

  6. 6

    不重新启动网络管理器服务,Ubuntu 16.04无法重新连接到VPN

  7. 7

    更新期间重新启动计算机;“系统网络服务与此版本不兼容”

  8. 8

    更新期间重新启动计算机;“系统网络服务与此版本不兼容”

  9. 9

    Ubuntu 16.04更改IP地址-重新启动网络服务,切换旧IP地址

  10. 10

    无法使用网络服务

  11. 11

    SocketException后如何重新启动网络流

  12. 12

    重新启动网络后IP路由错误

  13. 13

    重新启动后如何保留网络命名空间

  14. 14

    systemctl重新启动网络后,网桥配置重置

  15. 15

    如何使用密码映射网络驱动器,使其在重新启动后保持映射状态?

  16. 16

    运行sysctl -p后是否必须重新启动服务?

  17. 17

    使用OPC UA milo断开或重新启动服务器后,如何处理重新订阅?

  18. 18

    使用OPC UA milo断开或重新启动服务器后,如何处理重新订阅?

  19. 19

    使用命令重新启动网络,无需提供密码

  20. 20

    使用命令重新启动网络,无需提供密码

  21. 21

    无法使用Systemd重新启动Debian上的网络

  22. 22

    是什么会导致设备失去网络连接性,但是快速断开连接并重新连接网络电缆会恢复连接性吗?

  23. 23

    Virtualbox桥接网络以太网电缆断开连接

  24. 24

    Ansible:在Ubuntu上重新启动网络

  25. 25

    重新启动网络接口-Angstrom Linux

  26. 26

    无法重新启动网络守护程序

  27. 27

    重新启动网络管理器

  28. 28

    轮询网络服务

  29. 29

    共享网络服务

热门标签

归档