重启后网络无法访问

问题描述

这是我的 Yocto 嵌入式 Linux 开发板上 ifconfig 的输出(我使用的是 eth0.2 接口):

eth0      Link encap:Ethernet  HWaddr f8:dc:7a:3b:e9:f8  
      inet6 addr: fe80::fadc:7aff:fe3b:e9f8/64 Scope:Link
      inet6 addr: 2001:b07:5d28:764:fadc:7aff:fe3b:e9f8/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:10164 errors:14 dropped:2 overruns:0 frame:14
      TX packets:12576 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:2661192 (2.5 MiB)  TX bytes:6310390 (6.0 MiB)

eth0.2    Link encap:Ethernet  HWaddr f8:dc:7a:3b:e9:f8  
      inet addr:192.168.1.65  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::fadc:7aff:fe3b:e9f8/64 Scope:Link
      inet6 addr: 2001:b07:5d28:764:fadc:7aff:fe3b:e9f8/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:10148 errors:0 dropped:416 overruns:0 frame:0
      TX packets:11622 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:2415854 (2.3 MiB)  TX bytes:6199551 (5.9 MiB)

然而,这是我在 reboot 命令后得到的输出:

eth0      Link encap:Ethernet  HWaddr f8:dc:7a:3b:e9:f8  
      inet6 addr: fe80::fadc:7aff:fe3b:e9f8/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:8836 errors:22 dropped:0 overruns:0 frame:22
      TX packets:10417 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:2404061 (2.2 MiB)  TX bytes:4115640 (3.9 MiB)

eth0.2    Link encap:Ethernet  HWaddr f8:dc:7a:3b:e9:f8  
      inet addr:192.168.1.65  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::fadc:7aff:fe3b:e9f8/64 Scope:Link
      inet6 addr: 2001:b07:5d28:764:fadc:7aff:fe3b:e9f8/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:8836 errors:0 dropped:326 overruns:0 frame:0
      TX packets:9648 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:2191997 (2.0 MiB)  TX bytes:4018664 (3.8 MiB)

我能看到的唯一区别是,软件重启后 eth0 中的“Scope:Global”条目丢失了。发生这种情况时,ping 例如:1.1.1.1 给我“网络无法访问”,但我仍然可以通过 192.168.1.65 在本地访问董事会。

让一切恢复正常的唯一方法是拔掉电源,然后再插回去。在我看来,当我发出重启命令时,网络接口没有重新启动(以太网接口上的 LED 没有关闭)。

我该如何解决这个问题?如果您需要更多详细信息,请告诉我。

解决方法

感谢 Zac67 我已经能够通过添加来解决路由问题

ip route add default via 192.168.1.254 dev eth0.2

/etc/rc.local

如果您认为有更好的永久解决方案,请随时发表评论。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...