重启后网络无法访问
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.
如果您认为对此有更好的永久解决方案,请随时发表评论。
这是我的 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.
如果您认为对此有更好的永久解决方案,请随时发表评论。