问题描述

问题描述

问题描述

我一直在尝试使用以下命令设置有线(USB)到无线“桥”预产期方法在运行基于 Debian 的发行版的 Khadas VIM3L 板上,称为卷操作系统。整个设置如下所示:

[互联网]---以太网---[Linux Host0]----usb----[VIM3L]----wifi----[互联网]

在 VIM3L 上,使用 systemd 和 parprouted 的“桥”配置如下所示:

cat <<'EOF' >/etc/systemd/system/parprouted.service
[Unit]
Description=proxy arp routing service
Documentation=https://raspberrypi.stackexchange.com/q/88954/79866
[Service]
Type=forking
# Restart until wlan0 gained carrier
Restart=on-failure
RestartSec=5
TimeoutStartSec=30
ExecStartPre=/lib/systemd/systemd-networkd-wait-online --interface=wlan0 --timeout=6 --quiet
ExecStartPre=/bin/echo 'systemd-networkd-wait-online: wlan0 is online'
# clone the dhcp-allocated IP to usb0 so dhcp-helper will relay for the correct subnet
ExecStartPre=/bin/bash -c '/sbin/ip addr add $(/usr/bin/get-adapter-ip wlan0)/32 dev usb0'
ExecStartPre=/sbin/ip link set dev usb0 up
ExecStartPre=/sbin/ip link set wlan0 promisc on
ExecStart=-/usr/sbin/parprouted usb0 wlan0
ExecStopPost=/sbin/ip link set wlan0 promisc off
ExecStopPost=/sbin/ip link set dev usb0 down
ExecStopPost=/bin/bash -c '/sbin/ip addr del $(/usr/bin/get-adapter-ip usb0)/32 dev usb0'
[Install]
[email protected]
EOF

哪里的/usr/bin/获取适配器 IP脚本只是提取给定接口的 IP。有关此“桥梁”方法的更多详细信息,请参见 这里

启用该守护程序并启动它后,usb0 接口按预期获得与 wlan0 接口相同的 IP,即使不存在以太网连接,我也可以从 [Linux Host0] 和 [VIM3L] 连接到互联网。

问题

在设置前面描述的整个系统的一段时间后或在以太网电缆断开后,问题就会出现。发生的情况是,由于某种原因,一个新的 IP 地址被分配给 usb0 接口,这会中断 VIM3L 与互联网的连接,直到我删除这个新 IP。

以下是该问题的一个例子:

volumio@volumio:~$ ip addr
...
9: wlan0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 70:f7:54:e4:b5:67 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.42/24 brd 10.0.0.255 scope global dynamic wlan0
       valid_lft 13931sec preferred_lft 13931sec
10: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether fe:8b:d1:fa:e0:b7 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.42/32 scope global usb0
       valid_lft forever preferred_lft forever
    inet 10.0.0.35/24 brd 10.0.0.255 scope global noprefixroute usb0
...

如果我手动删除 IP 10.0.0.35,“网桥”将再次开始工作,直到网络发生更改(如我之前提到的)。

到目前为止我尝试过的

修改/etc/avahi-daemon.conf文件

我最初的怀疑可能是阿瓦希守护进程通过 DHCP 为该接口获取新的 IP,因此我决定通过在以下行中添加以下行来禁用 usb0 接口的 dhcp:/etc/avahi-daemon.conf文件:

[server]
...
deny-interfaces=usb0
...

然后当然是重新启动阿瓦希守护进程:

sudo service avahi-daemon restart

但这似乎并不能解决问题。

相关内容