忽略路由首选项

忽略路由首选项

我有一个 Raspberry Pi,在 raspbian(牛眼)上有两个网络接口。连接到互联网 (wlan0) 的 wifi 和连接到某个本地网络 (eth0) 的以太网接口。

当尝试访问互联网时(例如执行apt update),linux 会系统地尝试通过 eth0 (192.168.0.10)。

请注意,我已在 eth0 上配置了 dhcpcd:

interface eth0
nogateway
static ip_address=192.168.0.10/24
metric 500
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
[... cut ...]
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether a1:36:ea:34:12:fc brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9129:9d0e:4f4b:34d3/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether de:ad:be:e:ff:42 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.71/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
       valid_lft 85437sec preferred_lft 74637sec
    inet6 2a02:8428:32a2:3501:b81:667b:1484:2004/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 604557sec preferred_lft 604557sec
    inet6 fe80::84d0:1440:d0f3:a758/64 scope link 
       valid_lft forever preferred_lft forever

看看route -n, wlan0 似乎定位更好:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     500    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 wlan0

即使我关闭 eth0:

sudo ip link set eth0 down

它仍然尝试(但失败)连接到互联网。

任何想法?

答案1

我在问题中没有提到的一件事是失败的原因,那就是使用dnsmasq.

因此,dhcpcd将配置一个 DHCP 客户端eth0,将接口地址设置为静态值。然后dnsmasq,通过该接口,充当摄像机的 DHCP 服务器。然而,其主要工作dnsmasq是作为 DNS 服务器。所以默认情况下,dnsmasq 会弄乱 DNS 解析。所以,在 中/etc/dnsmasq.conf,我刚刚添加了:

port=0

请禁用 DNS 服务器,然后请求访问wlan0互联网。

相关内容