我有一个 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
互联网。