禁用无线接口后无法通过以太网连接 Pi

禁用无线接口后无法通过以太网连接 Pi

我有一个运行 Arch Linux ARM 的树莓派,连接在两个接口上。它使用systemd-networkd。

  • eth0连接在 DMZ 上。它有一个静态 IP,位于具有公共 IP 和端口转发的路由器后面。
  • wlan0已连接到 wifi 网络 (LAN)。它有一个本地ip。

我可以通过公共 ip 和本地 ip ssh 进入 pi。 pi上运行着一个web服务器,我可以通过公共ip访问ip。

但是,出于安全原因,我现在想阻止 pi 连接到本地网络。但是每当我断开 wifi 连接时,我就会失去与公共 ip(以及本地 ip 以及预期)上的 pi 的所有连接。

这是我尝试断开 wifi 的命令:

systemctl stop [email protected]

ip link set wlan0

我想知道为什么关闭 wlan0 接口也会阻止公共 IP 上任何应该通过 eth0 接口路由的连接。可能存在路由问题,如果您能帮助查明它,我将很高兴。

请查看一些可能感兴趣的命令的结果:

$ ip route show
default via 172.16.16.16 dev wlan0 proto dhcp src 172.16.16.25 metric 1024 
10.0.0.0/29 dev eth0 proto kernel scope link src 10.0.0.2 
172.16.16.0/24 dev wlan0 proto kernel scope link src 172.16.16.25 
172.16.16.16 dev wlan0 proto dhcp scope link src 172.16.16.25 metric 1024 

$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:1c:2b:b1 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.2/29 brd 10.0.0.7 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::dea6:32ff:fe1c:2bb1/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether dc:a6:32:1c:2b:b2 brd ff:ff:ff:ff:ff:ff
    inet 172.16.16.25/24 brd 172.16.16.255 scope global dynamic wlan0
       valid_lft 80544sec preferred_lft 80544sec
    inet6 fe80::dea6:32ff:fe1c:2bb2/64 scope link 
       valid_lft forever preferred_lft forever
....
.... other docker related interface

答案1

问题出在通往网关的路由上。

ip route add default via gateway_ip dev eth0解决了我的问题。

相关内容