상위 네트워크에 액세스할 수 없는 게스트 Wi-Fi 액세스 포인트

상위 네트워크에 액세스할 수 없는 게스트 Wi-Fi 액세스 포인트

기존 네트워크에 대한 게스트 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?)를 구성하는 방법을 잘 모르겠습니다.

  • 장치 A(10.0.0.5)에 대한 액세스가 거부되는 동안 "게스트 장치 X"가 기본 라우터 게이트웨이(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 - 대상에 도달할 수 없음 / 호스트로의 경로 없음 등
  • $핑 8.8.8.8 - 확인
  • $ ping 10.0.0.1 - (괜찮다고 가정할까요?)
  • $ ping 10.0.0.200 - 알 수 없나요?

아래의 대체 잠재적 솔루션에 대한 논의:

이렇게 하면 상황이 다음과 같이 됩니다.

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에 게스트 Wi-Fi 라우터를 사용하는 것과 어떻게 다른지 잘 모르겠습니다.)
  2. 게스트 Wi-Fi 라우터에는 게스트 장치용 DHCP 서버가 필요하다고 가정합니다. 하지만 게스트 장치는 10.0.1.1이 포함된 10.0.1.0/24 서브넷을 게이트웨이로 사용합니까, 아니면 게스트 장치에 대해 다른 서브넷 10.0.2.0/24를 설정합니까?

답변1

내가 올바르게 이해했는지 확인하기 위해 상황을 요약합니다.

게스트 AP는 개인 LAN 또는 WLAN의 일부로 기본 라우터에 연결됩니다. 게다가, 개인 네트워크와 분리된 게스트 네트워크가 필요하지만, 기본 라우터에 연결하기 위해 필요에 따라 개인 네트워크를 사용해야 합니다.

가능한 솔루션의 간략한 개요:

이 작업을 안전하게 수행하는 유일한 방법은 기본 라우터가 두 개의 네트워크가 있음을 인식하고 iptables규칙을 사용하여 적절하게 분리하는 것입니다. 따라서 기본 라우터에 두 개의 네트워크 인터페이스(개인 세그먼트용 10.0.0.0/24와 게스트 세그먼트용 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자동으로 나타나도록 조정할 수 있습니다.

편집하다

방화벽의 경우 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, 가장 좋아하는 것을 선택하세요.

관련 정보