web-dev-qa-db-ja.com

OpenWRTでWLANクライアントを分離する方法は?

現在、パブリックワイヤレスネットワークを設定しています。クライアント同士の会話を防ぎたい。

これが私の現在の設定です。

Graphically with LuCi

/etc/config/firewall without anything related to lan:

config 'zone'
    option 'name' 'wan'
    option 'input' 'REJECT'
    option 'output' 'ACCEPT'
    option 'forward' 'REJECT'
    option 'masq' '1'
    option 'mtu_fix' '1'
    option 'network' 'wan'

config 'rule'
    option 'src' 'wan'
    option 'proto' 'udp'
    option 'dest_port' '68'
    option 'target' 'ACCEPT'
    option 'family' 'ipv4'

config 'rule'
    option 'src' 'wan'
    option 'proto' 'icmp'
    option 'icmp_type' 'echo-request'
    option 'target' 'ACCEPT'

config 'zone'
    option 'name' 'public'
    option 'network' 'public'
    option 'output' 'ACCEPT'
    option 'input' 'REJECT'
    option 'forward' 'DROP'

config 'forwarding'
    option 'dest' 'wan'
    option 'src' 'public'

config 'rule'
    option 'target' 'ACCEPT'
    option 'src' 'public'
    option 'proto' 'tcpudp'
    option 'dest_port' '53'
    option '_name' 'public dns'

config 'rule'
    option 'target' 'ACCEPT'
    option '_name' 'public dhcp'
    option 'src' 'public'
    option 'proto' 'udp'
    option 'src_port' '67-68'
    option 'dest_port' '67-68'

どういうわけか、クライアントはまだお互いに通信することができます。それはなぜですか、それに対して私は何ができますか?

3
Georg Schölly

Luciは常にすべての設定を提供しているわけではありません。利用可能な場合、isolateはワイヤレスインターフェイスのAdditional fieldとして利用可能になります。フィールドを追加して、チェックボックスをオンにします。ただし、スクリプトを読んでいると、デフォルトでは分離が有効になっています。

そうでない場合は、/etc/config/wirelessを編集し、option isolate 1wifi-ifaceセクションに追加する必要があります。サポートされているオプションを見つけることができるワイヤレス起動スクリプトとしてのディレクトリ/lib/wireless

スイッチ上のすべてのIP間のルーティングを許可している可能性があるため、ファイアウォールが問題になる可能性があります。これらのルールを変更して、アクセス可能なアドレスを制限する必要があります。ルーター自体への接続を許可しますが、他のアドレスへのアクセスを有効にしたくない場合があります。

5
BillThor

AFAIK、OpenWRTはAP分離をネイティブにサポートします。 NVRAM設定wl0_ap_isolateおよびwl_ap_isolateは、それらを1に設定することで有効にできます。ただし、Googleですばやく検索すると、ファームウェアのリビジョンによっては、多くの人が一貫性のない結果を経験していることがわかります。自分で試したことがないので、それを説明することはできません。

クライアントが相互に通信できる理由に関しては、LAN間トラフィックがファイアウォールに到達していない可能性があります。

1
Bacon Bits