問題の説明

問題の説明

問題の説明

次のコマンドを使用して、有線(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

しかし、これは問題を解決しないようです。

関連情報