クライアントは WLAN で互いに接続できません。 ARP要求に対する応答がありません。

クライアントは WLAN で互いに接続できません。 ARP要求に対する応答がありません。

クライアントをインターネットに接続するためのアクセスポイントを持つWLANをインストールしました。クライアントが互いに通信できないことがわかるまで、当初はすべてがうまくいくようです。

詳細は次のとおりです。マシンはeth0を介してインターネットに接続され、wlan1を介してアクセスポイントに接続されます。実行中で、hostapdNATdnsmasq を使用して他のクライアントをインターネットに接続しています。

Client A             Client B
192.168.1.143        192.168.1.235
      \                /
       \              /
        \            /
         Access Point, AP
         wlan1: 192.168.1.1
         eth0:  192.168.0.xxx

この時点で、クライアントは正常にインターネットに接続できます。アクセスポイントに接続できます(例:SSH経由)。そして、アクセスポイントはSSHを介してクライアントに接続できます。

これで問題は、クライアントAがクライアントBに接続できず、その逆も同様です。アクセス ポイントで使用すると、tcpdumpクライアント A がクライアント B に ARP 要求を送信することがわかります。ただし、クライアントBはこれらの要求をまったく受け取らず、応答することもできません。したがって、クライアントBのarpテーブルエントリは不完全です(その逆も同様です)。

テスト目的で、両方のクライアントに対してarpテーブルエントリを手動で設定しましたarp -s <ip> <hw_addr>。今、すべてがうまくいっています。クライアントは互いに接続することも、インターネットに接続することもできます。しかし、実際には、すべてのクライアントシステムに対してarpテーブルエントリを手動で設定したくありません。

今私の質問は:問題はどこですか? arpテーブルを自動的に更新するには?調査するにはどこに行くべきですか?アクセスポイント(ルーティングテーブル、Hostapd、dnsmasq...)に問題がありますか?それともクライアントコンピュータに問題がありますか?

ps:どのマシンにもarptablesルールがインストールされていません。

$ arptables -L
Chain INPUT (policy ACCEPT)

Chain OUTPUT (policy ACCEPT)

編集する: ついに問題が見つかりました。

設定を再確認した後、別のUSB Wi-Fiアダプタを使用してテストを完了しました。私はその時すべてがうまくいくのを見て本当に驚きました。クライアントがARP要求を受信して​​応答しています。任意のクライアント間のPingとSSHもうまく機能します。

確実にするために、最初のUSB Wi-Fiアダプタに戻りました。今回も、クライアントはARP要求を受信(および応答)しません。したがって、これがHostapd構成またはカーネルarpテーブルの問題ではないことを確認できます。問題はWi-Fiアダプタのドライバにあります。

詳細は次のとおりです。

  1. ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLANアダプタ

    • 正常に動作できません。
    • アクセスポイントはARP要求を受信しますが、クライアントはそれを受信しません。
  2. ID 0bda:b812 Realtek Semiconductor Corporation

    • 仕事は満足です。
    • すべてのクライアント間のARP要求とARP応答は正常に機能します。

ベストアンサー1

になるように設定を設定できます ap_isolate = 0

または、ap_isolate = 1hair_modeを最初に設定します(ブリッジは同じインターフェイスを介してフレームを再送信する必要があります)。

echo 1 > /sys/devices/virtual/net/br-lan/lower_wlan.name/brport/hairpin_mode

おすすめ記事