我有一个带有 apache2 网络服务器的树莓派(最新版本的 x64 操作系统,带 Pi3 B+ 桌面),它通过 WiFi wlan0 连接到路由器。它应该可以通过域名通过互联网访问。
它正在工作,但一旦我在 Pi 和接入点之间连接 RJ45,网络服务器就变得不可用。
ip 路由返回: 默认通过 192.168.68.1 dev eth0 proto dhcp src 192.168.68.100 metric 100 默认通过 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.70 metric 600 192.168.1.0/24 dev wlan0 原型内核范围链接 src 192.168.1.70 公制 600 192.168.68.0/24 dev eth0 原型内核范围链接 src 192.168.68.100 公制 100
如果我删除默认的 eth0,它会被重写,但直到它再次可用为止。
我尝试了几种方法:
/etc/systemd/network/10-eth0.network
[Match]
Name=eth0
[Network]
DHCP=yes
[DHCP]
UseRoutes=false
或者创建这个文件(但是找不到 dhcp 服务所以...)
/etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.1.70/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
metric 100
interface eth0
nogateway
metric 600
如何禁用树莓派优先考虑eth0? 我需要两者,因为在 eth0 上我通过 WiFi 连接到多个 arduino,但该连接只能与“curl --interface eth0 192.168.68.103?c=i”命令一起使用。
我快失去理智了。非常感谢您的帮助!
我尝试了另一种方法:
ps aux | grep -E 'dhclient|dhcpcd|NetworkManager|systemd-networkd'
最终确定是谁在幕后操纵:NetworkManager
nmcli connection show
我获得了 WLAN 和以太网的 UUID。然后我使用这个命令给 wlan0 一个比 eth0 更低的指标(我都改变了)
sudo nmcli connection modify -specific UUID- ipv4.route-metric 100
然后我重新启动了 Pi,最后 wlan0 被优先考虑并且可以访问网络服务器。
我不知道这是否是最好的解决方案,或者它是否被普遍接受,但它对我有用,并且我希望它可以帮助其他人,因为我看到了其他类似的问题。