web-dev-qa-db-ja.com

LinuxブリッジでAP分離を無効にする方法は?

Context:イーサネット接続をブリッジしてRaspberryPiにWiFiホットスポットを設定しようとしています。

質問:AP分離またはクライアント分離を無効にするにはどうすればよいですか?

事前作業:これが私がまだ行ったことです。

  1. 以下のモジュールをインストールします。

    apt-get install hostapd bridge-utils
    
  2. Hostapdサービスを停止します。

    systemctl stop hostapd
    
  3. Eth0/wlan0ポートがDHCPによって割り当てられないようにします。

    vi /etc/dhcpcd.conf
    
  4. 次の行をファイルの終わりに向かって、ただしインターフェイスブロックの上に追加します。

    denyinterfaces wlan0
    denyinterfaces eth0
    
  5. ブリッジを追加します。

    brctl addbr br0
    
  6. 接続eth0からbr0

    brctl addif br0 eth0
    
  7. インターフェイスに追加します。

    vi /etc/network/interfaces
    auto br0
    iface br0 inet manual
    bridge_ports eth0 wlan0
    
  8. アクセスポイントを設定します。

    vi /etc/hostapd/hostapd.conf
    interface=wlan0
    ssid=wifi-ssid
    hw_mode=g
    channel=7
    wmm_enabled=0
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=2
    wpa_passphrase=passphrase
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP
    
  9. このファイルを使用するようにシステムをポイントします。

    vi /etc/default/hostapd
    DAEMON_CONF="/etc/hostapd/hostapd.conf"
    
  10. リブート

    systemctl start hostapd
    reboot
    
2
sid

hostapd.conf を見ると、

# Client isolation can be used to prevent low-level bridging of frames between
# associated stations in the BSS. By default, this bridging is allowed.
#ap_isolate=1

したがって、クライアント分離(同じAP上のWLANクライアントは相互に通信できます)はデフォルトで無効になっています。ビルドされたhostapdでデフォルトで有効になっていない限り、クライアントは相互に通信できるはずです。その場合は、設定ファイルで有効にしてください。

WLANクライアントが相互に通信できず、クライアントの分離が有効になっていることをどのように判断しましたか? 2つのWLANクライアントが相互にpingを実行していますか?

クライアントの分離ではなく、eth0wlan0の間のブリッジが機能しないことについての質問の場合:繰り返しますが、機能しないことをどのようにテストしましたか? LAN上のホストとWLAN上のホストが相互にpingを実行していますか?これらの各ホストのIP構成を確認しましたか?ホストはどのようにしてIPアドレスを取得しますか(どのDHCPサーバーからですか?または静的ですか?)ルートを確認しましたか?重要なインターフェイスごとにターミナルウィンドウでtcpdump -ni interface_nameを使用してデバッグし、パケットがスタックする場所を確認できます。

実際にLANをWLANから分離するには、通常ebtablesルールを使用し、誤って正しいルールを挿入する可能性はほとんどありません。動作していません。

1
dirkt