Context:イーサネット接続をブリッジしてRaspberryPiにWiFiホットスポットを設定しようとしています。
質問:AP分離またはクライアント分離を無効にするにはどうすればよいですか?
事前作業:これが私がまだ行ったことです。
以下のモジュールをインストールします。
apt-get install hostapd bridge-utils
Hostapdサービスを停止します。
systemctl stop hostapd
Eth0/wlan0ポートがDHCPによって割り当てられないようにします。
vi /etc/dhcpcd.conf
次の行をファイルの終わりに向かって、ただしインターフェイスブロックの上に追加します。
denyinterfaces wlan0
denyinterfaces eth0
ブリッジを追加します。
brctl addbr br0
接続eth0
からbr0
。
brctl addif br0 eth0
インターフェイスに追加します。
vi /etc/network/interfaces
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0
アクセスポイントを設定します。
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
このファイルを使用するようにシステムをポイントします。
vi /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
リブート
systemctl start hostapd
reboot
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を実行していますか?
クライアントの分離ではなく、eth0
とwlan0
の間のブリッジが機能しないことについての質問の場合:繰り返しますが、機能しないことをどのようにテストしましたか? LAN上のホストとWLAN上のホストが相互にpingを実行していますか?これらの各ホストのIP構成を確認しましたか?ホストはどのようにしてIPアドレスを取得しますか(どのDHCPサーバーからですか?または静的ですか?)ルートを確認しましたか?重要なインターフェイスごとにターミナルウィンドウでtcpdump -ni interface_name
を使用してデバッグし、パケットがスタックする場所を確認できます。
実際にLANをWLANから分離するには、通常ebtables
ルールを使用し、誤って正しいルールを挿入する可能性はほとんどありません。動作していません。