我的跟踪路由有问题吗?

我的跟踪路由有问题吗?

我正在尝试设置如下网络:

=============================
DHCP fix addresses :
PC1 => 192.168.0.38
PC2 => 192.168.0.39

=============================
PC1:
eth0   inet addr:10.10.0.2     Bcast:10.255.255.255  Mask:255.0.0.0
wlan0  inet addr:192.168.0.38  Bcast:192.168.0.255   Mask:255.255.255.0

Destination     Gateway         Genmask         Flags Iface
0.0.0.0         192.168.0.254   0.0.0.0         UG    wlan0
10.0.0.0        0.0.0.0         255.0.0.0       U     eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     wlan0
=============================
PC2:  
wlan1  inet addr:192.168.0.39  Bcast:192.168.0.255   Mask:255.255.255.0
eth0   inet addr:10.10.0.4     Bcast:10.255.255.255  Mask:255.0.0.0

Destination     Gateway         Genmask         Flags Iface
0.0.0.0         192.168.0.254   0.0.0.0         UG    wlan1
172.17.0.0      0.0.0.0         255.255.0.0     U     docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     wlan1
=============================

所以最初我的两台电脑通过我的互联网盒子 dhcp(固定地址)通过 wifi 连接到互联网。它的坏处是文件传输一切都要通过 wifi。所以我在两台电脑之间加了一根电缆,想用这根电缆传输任何文件。问题是我甚至无法在两台电脑之间 ping 通!

从 PC1 我得到:

traceroute 10.10.0.4
traceroute to 10.10.0.4 (10.10.0.4), 30 hops max, 60 byte packets
 1  10.10.0.2 (10.10.0.2)  2997.858 ms !H  2997.800 ms !H  2997.778 ms !H

'!H' 是什么意思?这表示有错误吗?

并且我无法从 PC2 到达 PC1(因为没有路线 => 我该如何添加路线?)

traceroute 10.10.0.2
traceroute to 10.10.0.2 (10.10.0.2), 30 hops max, 60 byte packets
 1  192.168.0.254 (192.168.0.254)  64.193 ms  69.008 ms  71.722 ms
 2  * * *
 3  * * *
 4  * * *

编辑:

在 PC2 上:

ethtool eth0
Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                         100baseT/Half 100baseT/Full 
                                         1000baseT/Half 1000baseT/Full 
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: on
Cannot get wake-on-lan settings: Operation not permitted
    Current message level: 0x000000ff (255)
                   drv probe link timer ifdown ifup rx_err tx_err
    Link detected: yes

编辑 :

在 PC2 上

$ dmesg | grep eth0
[    5.293971] tg3 0000:04:00.0 eth0: Tigon3 [partno(BCM95723) rev 5784100] (PCI Express) MAC address 3c:4a:92:b2:a2:1e
[    5.293974] tg3 0000:04:00.0 eth0: attached PHY is 5784 (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0])
[    5.293976] tg3 0000:04:00.0 eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
[    5.293978] tg3 0000:04:00.0 eth0: dma_rwctrl[76180000] dma_mask[64-bit]
[    9.124499] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   10.758438] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   10.758756] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   13.183081] tg3 0000:04:00.0 eth0: Link is up at 1000 Mbps, full duplex
[   13.183091] tg3 0000:04:00.0 eth0: Flow control is on for TX and on for RX
[   13.183104] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

答案1

假设您的网络状态与上图相同,则 PC2 没有返回 PC1 的路由。您需要添加一条到 PC2 的路由,但您在注释中尝试的命令:

route add -net 10.10.0.0/255.0.0.0 gw 10.10.0.4

不是您想要的。此命令有几个错误:

  1. /255.0.0.0不是指定网络掩码的正确方法。
  2. gw 10.10.0.4告诉 PC2 将其发送回自己!这不是我们想要的。
  3. 10.10.0.0不是正确的网络 ID。应该是10.0.0.0

以下是我们想要的:

route add -net 10.0.0.0 netmask 255.0.0.0 dev eth0

这会告诉 PC2 将这些数据包通过有线接口 eth0 发送出去。

由于根据您的图表,PC1 已经有到 PC2 的路由,所以这样应该可以。


另外需要注意的是,即使有线连接正常,您的文件仍然可能无法通过有线连接传输,只能通过 Wi-Fi 传输。这取决于您的程序如何尝试到达另一端。如果您指定了相关的 IP 地址 ( 10.10.0.x),则不会出现问题,但如果您通过机器主机名指定,名称解析将发挥作用,并且您无法确保使用的 IP 地址始终是10.10.0.x而不是 Wi-Fi 地址192.168.0.x。如果这成为一个问题,您可能需要考虑编辑 hosts 文件。

相关内容