我的 Linux 单板计算机中的当前网络配置如下:
~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:05:B7:EE:88:0A
inet addr:192.168.0.20 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::205:b7ff:feee:880a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:258814 errors:0 dropped:0 overruns:0 frame:0
TX packets:358552 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18117399 (17.2 MiB) TX bytes:122851279 (117.1 MiB)
Memory:d0400000-d047ffff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:3380889 errors:0 dropped:0 overruns:0 frame:0
TX packets:3380889 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:956796465 (912.4 MiB) TX bytes:956796465 (912.4 MiB)
~# ip route
default via 192.168.0.1 dev eth0
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.20
239.255.42.21 dev eth0 scope link
后者的多播路由使我的网络不稳定,这意味着,随机地我无法再使用单播路由访问任何本地网络,当遇到此问题时,我使用此命令来检查问题的来源:
print route get 192.168.0.x
该命令的结果是:
print route get 192.168.0.21
multicast 192.168.0.21 dev eth0 src 192.168.0.20
cache <mc>
然而当我没有这个随机的问题,同样的后一个命令显示:
ip route get 192.168.0.21
192.168.0.21 dev eth0 src 192.168.0.20
cache
我不知道如何解决这个问题——我尝试使用在另一台机器上创建一个 TCP 服务器netcat
,所以当遇到问题时,我尝试启动strace nc 192.168.0.21 12345
来显示发生了什么,我得到的是网络不可达,
我也曾经tcpdump
检查过背后发生了什么,但我没有看到比“网络不可达”更好的有用信息
请问有什么帮助吗?