我的目标是使用两个 USB 至 5 Gbe 适配器直接连接我的 PC 和 NAS,并将它们都连接到可通过 1Gbe NIC 访问互联网的交换机。
因此初始设置是:
- QNAP TS-431P 通过以太网端口连接到交换机
- 装有 Ubuntu 20.04.2 LTS 的 PC 通过以太网端口连接到同一交换机
到目前为止没有问题,我可以看到 NAS 并挂载它的 samba 共享,没有问题。
现在我要做的是向我的 PC 和 NAS 添加一个 USB 以太网适配器并将它们直接连接起来。
ifconfig
这是在 PC 上的结果:
luca@luca-desktop:~$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.54 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::fde4:a653:afea:7688 prefixlen 64 scopeid 0x20<link>
ether f4:4d:30:66:50:cb txqueuelen 1000 (Ethernet)
RX packets 177340 bytes 24973154 (24.9 MB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 167118 bytes 26718368 (26.7 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdf100000-df120000
enx000ec662652b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.100.99 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::5910:d206:4380:e58f prefixlen 64 scopeid 0x20<link>
ether 00:0e:c6:62:65:2b txqueuelen 1000 (Ethernet)
RX packets 8512 bytes 2665143 (2.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1148 bytes 176865 (176.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 231260 bytes 50412790 (50.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 231260 bytes 50412790 (50.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.20.18.9 netmask 255.255.255.0 destination 10.20.18.9
inet6 fe80::fbf1:3985:1dec:aded prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 14077 bytes 2781542 (2.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 21410 bytes 4027823 (4.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在我的 NAS 上,连接到交换机的接口的 IP 地址为 192.168.1.4,USB 适配器接口的 IP 地址为 169.254.119.123。
在我的电脑上我有以下路线:
luca@luca-desktop:~$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.22.18.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eno1
10.0.0.243 10.22.18.1 255.255.255.255 UGH 0 0 0 tun0
10.22.18.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
128.0.0.0 10.22.18.1 128.0.0.0 UG 0 0 0 tun0
156.146.41.87 192.168.1.1 255.255.255.255 UGH 0 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enx000ec662652b
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enx000ec662652b
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
但如果我尝试通过 telnet 连接到我的 NAS,结果如下:
luca@luca-desktop:~$ telnet 169.254.119.123 445
Trying 169.254.119.123...
telnet: Unable to connect to remote host: No route to host
traceroute
这是NAS 两个 IP的结果
luca@luca-desktop:~$ traceroute 169.254.119.123
traceroute to 169.254.119.123 (169.254.119.123), 30 hops max, 60 byte packets
1 luca-desktop.local (169.254.100.99) 3079.052 ms !H 3078.965 ms !H 3078.926 ms !H
luca@luca-desktop:~$ traceroute 192.168.1.4
traceroute to 192.168.1.4 (192.168.1.4), 30 hops max, 60 byte packets
1 192.168.1.4 (192.168.1.4) 0.854 ms 0.790 ms 0.748 ms
有人能帮助我让它工作吗?
谢谢,
卢卡
答案1
使用 ifconfig 很久以前就被弃用了,取而代之的是 iproute2。事实上,几年来 ifconfig 中没有进行任何工作,并且不再建议使用它。使用 PIPA 地址也可能是一个问题,特别是如果您的网络上有 Windows 机器。为了回答这个问题,我将使用 172.0.0.0 范围内的 IP 地址。
设置您需要的链接的最简单方法是使用 iproute2 配置您的接口,如下所示:
# ip addr add 172.0.0.1/24 dev your_usb_eth_interface
在您的 NAS 上也应执行相同的操作,根据需要调整 IP 和接口名称。例如:
# ip addr add 172.0.0.2/24 dev your_usb_eth_interface
请注意,默认情况下,iproute2ip addr add
将创建一个/32
网络掩码,这意味着该子网中只能存在一个 IP。因此,我们设置了一个更合理的网络掩码,以确保路由不会失败。
答案这个帖子也可能有用。