我正在尝试使用 WiFi 适配器和板载以太网同时访问两个不同的网络。以太网只有一台设备,不经过路由器或交换机。 WiFi网络将用于全部通过我的路由器的其他网络流量。
到目前为止,在遵循了许多其他人在论坛上发布的许多在线文章、指南和问题之后,我以某种方式设法使用一些可重复的步骤让它工作;但是,只有在我输入一些命令后,它才能在重新启动时正常工作。
这是我的接口文件中的内容:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo enp2s0 wlx0013eff5755b
iface lo inet loopback
# The primary network interface
allow-hotplug enp2s0
iface enp2s0 inet static
address 10.10.10.83
gateway 10.10.10.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 10.10.10.1
up route del default gw 10.10.10.1
iface wlx0013eff5755b inet static
address 192.168.1.83
gateway 192.168.1.1
# # dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.1.1
up route add default gw 192.168.1.1
这是我的网络设置工作时显示的内容:
joshua@printnc:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether bc:30:5b:aa:32:01 brd ff:ff:ff:ff:ff:ff
3: wlx0013eff5755b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 00:13:ef:f5:75:5b brd ff:ff:ff:ff:ff:ff
joshua@printnc:~$ sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 wlx0013eff5755b
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 enp2s0
localnet 0.0.0.0 255.255.255.0 U 0 0 0 wlx0013eff5755b
这是机器首次启动时在我的网络设置中显示的内容:
joshua@printnc:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether bc:30:5b:aa:32:01 brd ff:ff:ff:ff:ff:ff
3: wlx0013eff5755b: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 00:13:ef:f5:75:5b brd ff:ff:ff:ff:ff:ff
joshua@printnc:~$ sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 wlx0013eff5755b
default 192.168.1.1 0.0.0.0 UG 0 0 0 wlx0013eff5755b
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 enp2s0
localnet 0.0.0.0 255.255.255.0 U 0 0 0 wlx0013eff5755b
此时重启后,只有enp2s0工作正常。我接下来的步骤是:
手动连接 WiFi。这会中断 enp2s0 连接。
输入关闭 enp2s0 接口的命令(给我一个错误):
joshua@printnc:~$ sudo ifdown enp2s0
RTNETLINK answers: No such process
- 输入启动 enp2s0 接口的命令(给我一个错误,输入此命令后,enp2s0 接口立即开始正常工作,并且我已连接到两个网络):
joshua@printnc:~$ sudo ifup enp2s0
RTNETLINK answers: File exists
ifup: failed to bring up enp2s0
我不知道为什么它有效或者我做错了什么。欢迎任何帮助!我的希望是在重新启动时使其正常工作,而无需执行我的 3 步过程。
编辑添加:这是在 Debian Buster 上,内核为 4.19.0-11-rt-amd64
答案1
您从 RTNETLINK 收到错误消息,因为您正在执行多余的操作。
让我们看一下您的第一个网络节:
# The primary network interface
allow-hotplug enp2s0
iface enp2s0 inet static
address 10.10.10.83
gateway 10.10.10.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 10.10.10.1
up route del default gw 10.10.10.1
您设置 IP 地址(并完全省略网络掩码/网络地址,这是草率的,导致系统由于该10.
地址而假定它是 /8,但如果这对您有用,那就这样吧),定义默认网关,然后立即添加一个删除默认网关的功能。
(你为什么要这样做而不是仅仅一开始就不添加网关?)
当您调用ifdown enp2s0
它时,它会查看接口定义并尝试在停用接口之前删除默认网关,因为这就是ifupdown
工作原理,但因为您已经删除了该路由,RTNETLINK 告诉它找不到该路由来删除它,并且该过程失败。
同样的情况也发生在你的第二节中:
iface wlx0013eff5755b inet static
address 192.168.1.83
gateway 192.168.1.1
# # dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.1.1
up route add default gw 192.168.1.1
(同样,没有网络掩码,但192.168.x.x
被定义为一组/24
私有子网,因此系统再次做出假设。同样,我建议在这里明确说明。)
您定义默认网关,然后显式尝试添加默认网关再次。 RTNETLINK 告诉您该路由已经存在,并且脚本再次失败。
远程两个up
条目以及gateway
第一节的条目,它可能会起作用。我不能自信地告诉你它会做你想做的事,因为你实际上描述的内容相当不清楚,而且该interfaces
文件非常含糊不清,因为我怀疑你只是复制了你实际上并没有费心去理解的东西。