問題の説明
次のコマンドを使用して、有線(USB)とワイヤレス「ブリッジ」を設定しようとしました。締め切り方法Debian ベースのディストリビューションを実行する Khadas VIM3L ボードでボリュームオペレーティングシステム。全体の設定は次のとおりです。
[インターネット]---イーサネット---[Linuxホスト0]----usb----[VIM3L]----wifi----[インターネット]
VIM3Lでsystemdとparproroutedを使用する「ブリッジ」構成は次のとおりです。
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インターフェイスに割り当てられ、この新しいIPを削除するまでVIM3Lのインターネット接続が切断されます。
問題の例は次のとおりです。
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
しかし、これは問題を解決しないようです。