既存のネットワーク用にゲスト Wi-Fi ネットワークを設計しようとしていますが、アクセス ポイントが親ネットワーク内に含まれている場合、ゲスト Wi-Fi アクセス ポイントを親ネットワークから保護する方法がわかりません。
これを検索してみましたが、表示される結果は「この構成をクリックしてください」というコンシューマー ハードウェアからのものばかりで、通常はメイン ルーターが Wi-Fi アクセス ポイント自体でもあると想定されているため、論理的な分離がはるかに簡単になります。
+----------+
| Internet |
+----+-----+
|
|
+-------+------+
| Linux Router | 10.0.0.0/24
+----------+ +--------------+
| | 10.0.0.1 | |
| +-------+------+ |
| Device A - 10.0.0.5 |
| |
| Linux Guest Wifi Router - 10.0.0.200 |
| + |
| | |
+----------------------------------------+
|
|
| Guest Subnet 10.0.1.0/24
+----+--------------------------+
| |
| Guest Device X - 10.0.1.5 |
| |
+-------------------------------+
メイン ルーターはデュアル NIC (ext/int) Linux ボックス (iptables 付き Debian 7) で、それ以上のものはありません。ゲスト Wi-Fi アクセス ポイントは、私が注文している Rasp PI になります。必要な構成はゲスト Wi-Fi ボックスに含まれていると想定しています。
しかし、インターネットへのルーティング以外で親ネットワークにアクセスできないようにするために、PI で iptables(nftables?) を構成する方法がわかりません。
- 「ゲスト デバイス X」は、デバイス A (10.0.0.5) へのアクセスを拒否されているにもかかわらず、どのようにしてメイン ルーター ゲートウェイ (10.0.0.1) にアクセスするのでしょうか。
- メイン ルーターが 10.0.0.5 へのリクエストを 10.0.0.0/24 サブネットに送り返さないことをどうやって確認すればよいですか? Wi-Fi ルーターと連携して動作するように、メイン ルーターで iptables を設定する必要がありますか?
10.0.1.5 からの望ましい結果:
- $ ping 10.0.0.5 - 宛先に到達できません / ホストへのルートがありませんなど。
- $ ping 8.8.8.8 - OK
- $ ping 10.0.0.1 - (OKと仮定)
- $ ping 10.0.0.200 - 不明?
代替の潜在的な解決策についての議論は以下にあります:
- 1 つの提案は、メイン ルーターに 2 番目の IP を作成し、ゲストの Wi-Fi をその IP にルートさせるというものでした。そこでドキュメントを調べて、次のものを見つけました。
こうすると、次のようになります。
Internet
|
Linux Router
(eth1 10.0.0.1) (eth1:1 10.0.1.1)
| |
Reg Network Guest Wifi Router (10.0.1.2)
(DHCP) |
Guest Device (10.0.?.?)
現時点ではいくつかの点については不明です
- メイン ルーターのルーティング テーブルを設定して、10.0.1.1 から 10.0.0.0/24 サブネットへのトラフィックを防止するにはどうすればよいですか? または、これは現時点ではメイン ルーターの iptables ルールですか? メイン ルーターは引き続きそのネットワーク上の他のデバイスにルーティングできるため、ゲスト Wi-Fi ルーターを 10.0.0.0/24 に配置することとどう違うのかよくわかりません。
- ゲスト Wi-Fi ルーターにはゲスト デバイス用の DHCP サーバーが必要であると想定しています。ただし、ゲスト デバイスは 10.0.1.1 をゲートウェイとして 10.0.1.0/24 サブネットを使用するのでしょうか、それともゲスト デバイス用に別のサブネット 10.0.2.0/24 を設定するのでしょうか?
答え1
私が正しく理解したかどうかを確認するために、状況を要約します。
ゲスト AP は、プライベート LAN または WLAN の一部としてメイン ルーターに接続します。さらに、プライベート ネットワークとは別のゲスト ネットワークが必要ですが、メイン ルーターに到達するにはプライベート ネットワークを使用する必要が出てきます。
考えられる解決策の簡単な概要:
これを安全に動作させる唯一の方法は、メイン ルーターに 2 つのネットワークがあることを認識させ、iptables
ルールで適切に分離することです。つまり、メイン ルーターに 2 つのネットワーク インターフェイス (プライベート セグメント用の 10.0.0.0/24 とゲスト セグメント用の 10.0.0.1/24) を表示させる必要があります。コメントから、メイン ルーターをそのように構成する方法はご存じだと思います。
つまり、ゲストAP(RaspPi)からメインルータへの接続には、何らかのトンネルを使用する必要があります。最も簡単なのは、仮想LANプライベート LAN 上に仮想 LAN (複数も可能) を「オーバーレイ」します。
具体的には、RaspPiとDebianボックスの両方に次のような仮想ネットワークインターフェースを追加します。
ip link add link eth0 name eth0.55 type vlan id 55.
(VLAN タグを選択)、eth0.55
通常のネットワーク インターフェイスと同じように使用して構成します。動作したら、/etc/network/interfaces
自動的に起動するように適応できます。
編集
ファイアウォールでは、iptables
インターフェースeth0
とがeth0.55
互いに通信するのを防ぐルールが必要になります。
#!/bin/bash
PRIVIF=eth0
GUESTIF=eth0.55
iptables -P FORWARD ACCEPT
iptables -F FORWARD
iptables -A FORWARD -i $PRIVIF -o $GUESTIF -j DROP
iptables -A FORWAD -i $GUESTIF -o $PRIVIF -j DROP
(未テスト)。または、デフォルトの転送ポリシーを DROP にしてさらに安全にし、ルーターの NAT 機能 (ある場合) を維持しながら、許可するすべての転送を列挙します。
ファイアウォールとに関するオンラインチュートリアルは数多くあります。iptables
最も気に入ったものを選択してください。