web-dev-qa-db-ja.com

親ネットワークにアクセスできないゲストWifiアクセスポイント

既存のネットワーク用にゲストWi-Fiネットワークを設計しようとしていますが、アクセスポイントが親ネットワーク内に含まれている場合、ゲストWi-Fiアクセスポイントを親ネットワークから保護する方法がわかりません。

これを検索してみましたが、「この構成をクリックしてください」というコンシューマーハードウェアから結果が得られ、通常はメインルーターもwifiアクセスポイントであると想定しているため、論理的な分離がはるかに簡単になります。

              +----------+
              | 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 box(Debian 7 with iptables)であり、それ以上のものはありません。ゲストWi-Fiアクセスポイントは、注文しているRaspPIになります。必要な設定はゲストwifiボックスに含まれていると思います。

しかし、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からの望ましい結果:

以下の代替の潜在的な解決策についての議論:

これにより、次のようになります。

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.?.?)

ですから、現時点ではいくつかのことがわかりません

  1. メインルーターのルーティングテーブルを設定して、10.0.1.1から10.0.0.0/24サブネットへのトラフィックを防ぐにはどうすればよいですか?それとも、これはこの時点でのメインルーターのiptablesルールですか?メインルーターは引き続きそのネットワーク上の他のデバイスにルーティングできるため、これが10.0.0.0/24にゲストwifiルーターを配置することとどのように異なるのかわかりませんか?)
  2. ゲストwifiルーターにはゲストデバイス用のDHCPサーバーが必要だと思います。しかし、ゲストデバイスは10.0.1.1をゲートウェイとして10.0.1.0/24サブネットを使用しますか、それともゲストデバイス用に別のサブネット10.0.2.0/24をセットアップしますか?
1
Doug

私が正しく理解したかどうかを確認するために、状況を要約します。

ゲストAPは、プライベートLANまたはWLANの一部としてメインルーターに接続します。その上、プライベートネットワークとは別のゲストネットワークが必要ですが、必然的にプライベートネットワークを使用してメインルーターに到達します。

考えられる解決策の概要:

これを安全に機能させる唯一の方法は、メインルーターに2つのネットワークがあることを認識させ、iptablesルールでそれらを適切に分離することです。したがって、メインルーターに2つのネットワークインターフェイスを表示する必要があります。1つはプライベートセグメント用の10.0.0.0/24で、もう1つはゲストセグメント用の10.0.0.1/24です。コメントを踏まえて、メインルーターをそれで構成する方法を知っていると思います。

つまり、ゲストAP(RaspPi)からメインルーターへの接続では、何らかのトンネルを使用する必要があります。最も簡単なバリアントは [〜#〜] vlan [〜#〜] で、これはプライベートLAN上の(場合によっては複数の)仮想LANを「オーバーレイ」します。

具体的には、RaspPiとDebianボックスの両方に、次のような仮想ネットワークインターフェイスを追加します。

ip link add link eth0 name eth0.55 type vlan id 55.

(VLANタグ)を選択し、通常のネットワークインターフェースのようにeth0.55を使用して構成します。機能したら、/etc/network/interfacesを調整して自動的に起動することができます。

編集

ファイアウォールの場合、インターフェースeth0eth0.55が相互に通信するのを防ぐiptablesルールが必要になるため、

#!/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に関するオンラインチュートリアルはたくさんありますが、最も好きなものを選んでください。

0
dirkt