Raspberry Pi 4BのL3「擬似ブリッジ」の実装に関する質問

Raspberry Pi 4BのL3「擬似ブリッジ」の実装に関する質問

ユーザーが提供した静的構成ガイドラインに従って、プロキシARP(パプロルート)を使用してRaspberry Pi 4BにL3「擬似ブリッジ」を実装しました。インゴ確立されたここ外部世界と同期するローカルデータベースをフィールドシステムに提供します。私たちのシステムはBusterを実行します。システムはうまく機能しているようですが、私たちが直面しているように見えるいくつかの微妙な違い/問題を説明して、意図したとおりにシステムを使用していることを確認したかったのです。まず、トポロジーを説明します。

                          ┌─proxy arp─┐     UPLINK
                wired     V           V      wifi            wan
a few hosts <─────────> (eth0)RPi(wlan0) <~.~.~.~.> hotspot <---> INTERNET
     \                           \
(STATIC IP for easy id'ing)   (STATIC IP for easy id'ing)

また、外部接続のためにこのホットスポットに接続するために複数のRPiを使用することにも言及する必要があります。各Raspberry Piは接続を必要とする複数のデバイスを提供しますが、これらのデバイスには有線機能しかありません。これが私たちがそうする唯一の理由ではありません。各デバイスはホットスポットから非常に離れており、6dBiゲイン無指向性アンテナを使用して外部アンテナWiFiをUSBアダプタに接続します。

我々が直面した問題は、特に二つであった。

1.)ホットスポットが有効になっていないと、Raspberry Piをpingできません。

2.) Wi-Fi信号が悪いため、有線緊急計画で長いケーブルをRPiに接続する場合、RPiはこの状況をシームレスに処理することはほとんどなく、通常はeth0を介したトラフィックは良くありませんが、まだwlan0を介して接続します試してみてください。たとえ接続状態は良くないが。ブリッジARP機能がそれらを同じにすることを知っているのでおそらくこれにより、NICの「障害対策」の動作が複雑になる可能性があります。

/etc/systemd/network/08-wlan0.network 問題の1つは、次のように構成スクリプトのゲートウェイまたはDNS設定を指定する方法です。

cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.100.200/16
Gateway=192.168.0.1
DNS=8.8.8.8
IPForward=yes
EOF

そのようなゲートウェイが含まれている場合(この場合はホットスポット)、ホットスポットがオフになっているとRPiに問題が発生しますか?

また、無差別モードが有効になっていないと、擬似ブリッジが正常に動作しないという内容も読みました。 Busterに以下を追加する必要がありますか?

ip link set wlan0 promisc on

ご協力ありがとうございます。

答え1

問題を確認するために設定を再テストしましたが、もちろん現在のOSバージョンとハードウェアを使用していました。 Raspberry Pi 4BのRaspbian Busterです。参照設定は次のとおりです。Raspberry Piでプロキシarpを使用するWi-Fiブリッジソリューション。 ~のため一般設定私は古典的な名前の検証者を持っていますあふれデーモンが削除されましたsystemdで解決より適していると思って活性化しました。システムネットワーク。ぜひご確認ください。

1.)ホットスポットが有効になっていないと、Raspberry Piをpingできません。

これは意図的なものです。 RasPiは、実際のブリッジのように接続されたデバイスに透明でなければなりません。 RasPiではなくホットスポットを表示する必要があります。その IP アドレスは、OSI レイヤ 3 でプロキシ ARPS を管理するためにのみ使用され、接続されたデバイスには意味がありません。見たらイーサネット0そして無線LAN 0彼らはすべて同じIPアドレスを持っています。通常のネットワーク機器では動作しません。したがって、ホットスポットがダウンすると、RasPis インターフェイスもインターフェイスと同じように動作するためダウンします。

2.) RPi[..]に長いケーブルを接続すると、RPiがそれをスムーズに処理することがほとんどなく、通常はeth0を通過するトラフィックが悪く、リンク接続が悪いにもかかわらず、まだwlan0を通過しようとします。します。

長距離イーサネットケーブルがないため、実際には確認できませんが、長さはイーサネット仕様内にあるため問題ありません。そうでない場合は、ケーブル自体、シールド、接点などに問題がある可能性があります。アイデアを得るために、パフォーマンスが悪いテストネットで古いRasPisを使用して帯域幅テストを実行しました。私が実行しているホットスポットの背後にある有線接続デバイスでiperf --server。接続機器でイーサネット0RasPiで、次を実行します。

rpi ~$ iperf --time 60 --client 192.168.50.174
------------------------------------------------------------
Client connecting to 192.168.50.174, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.50.3 port 43434 connected with 192.168.50.174 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.9 sec   286 MBytes  39.4 Mbits/sec

相互作用イーサネット0RasPiではエラーは表示されません。

rpi ~$ ip -statistics link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether dc:a6:32:01:db:ec brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    510673218  338397   0       0       0       155
    TX: bytes  packets  errors  dropped carrier collsns
    2690947    35971    0       0       0       0

存在する無線LAN 0エラーなしで同様のきれいな結果が見つかりました。

固定アドレス、ゲートウェイ、DNS設定が/etc/systemd/network/08-wlan0.network正しいです。同様の構成でテストしましたが、ホットスポットがオフになっているときにRPiをオフにすることとは関係ありません(上記の1項目を参照)。

parprorouted.service 単位ファイルに設定された無差別モードが必要です。そこであなたは見つけるでしょう

ExecStartPre=/sbin/ip link set wlan0 promisc on
# and
ExecStopPost=/sbin/ip link set wlan0 promisc off

したがって、再度行う必要はありません。

関連情報