重启后网络无法访问

Network is unreachable after reboot

这是我的 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.

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