如何使用不同的接口将 PC 连接到互联网并直接连接到 NAS

如何使用不同的接口将 PC 连接到互联网并直接连接到 NAS

我的目标是使用两个 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。因此,我们设置了一个更合理的网络掩码,以确保路由不会失败。

答案这个帖子也可能有用。

相关内容