ArchLinux를 사용하여 투명한 방화벽을 설정하는 방법

ArchLinux를 사용하여 투명한 방화벽을 설정하는 방법

ArchLinux를 사용하여 투명한 방화벽을 설정하려고 합니다.

내 설정은 다음과 같습니다.

(ISP, IP: 10.90.10.254)
\
 \
  \ (eth0-> ip: 10.90.10.1 gateway: 10.90.10.254)
   +-----------+
   |           |
   |    PC     |
   |(as server)|
   +-----------+
                \ (eth1-> ip: 10.90.10.100)
                 \
                  \
     (10.90.10.101)\        | (wireless-> ip-range: 10.90.10.102-)
                    +-------+
                    |Router |
                    +-------+

내 라우터에는 방화벽 기능이 없으므로 라우터와 ISP 사이에 방화벽을 설정해야 합니다.

답변1

이렇게 하려면 eth0 및 eth1을 PC에서 브리지 모드로 설정하고 브리지 인터페이스에 1 IP(단일 eth가 아님)를 제공해야 합니다.

시작하기 위해 Linux에서 브리징에 대한 기본 사항은 다음과 같습니다. http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html

배포판에 따라 브리징을 수행하는 더 빠르고 더 나은 방법이 있을 수 있습니다.

이제 언급하신 무선 IP 범위는 일부 구성을 통해 지정할 수 없습니다. 어느 IP가 어디로 갈지 결정하는 것은 귀하에게 달려 있습니다.

DHCP를 통해 제어할 수도 있지만 이는 전체 설정 및 요구 사항에 따라 다릅니다.

답변2

먼저 네트워크 주소 변환을 활성화해야 합니다.
다음 줄을 삽입하세요.

net.ipv4.ip_forward = 1

도착하다

/etc/sysctl.conf

(라인을 연결한 후 즉시 적용됨) 방화벽 규칙을 추가합니다.

iptables -t NAT -A POSTROUTING -!o lo -j MASQUERADE

이제 무선 네트워크는 서버 PC를 통해 ISP로 패킷을 보낼 수 있습니다.
한 가지 추가 제안: 서버에 대한 "모든" 액세스를 비활성화하고 실제로 필요한 것만 활성화하십시오.

iptables -P enter drop
iptables -A enter -m state --state 관련, 설정 -j accept
iptables -A enter -i eth1 -m state --state new -j ACCPET

이 설정은 기본 "모두 허용" 패킷 흐름을 비활성화하여 ISP(및 WAN)에서 서버 포트로의 연결을 비활성화하고 무선 네트워크에서 나가는 연결을 활성화합니다.
방화벽에서 서버 포트를 열어야 하는 경우:

iptables -A 입력 -p tcp -m tcp --dport 22 -j 수락

필요한 경우 tcp를 udp로 바꾸고 from:to 패턴을 사용하여 포트 범위를 추가할 수 있습니다.
문제가 발생하여 자동으로 종료되는 경우 방화벽 규칙을 재설정할 수 있습니다.

iptables-F

가장 쉬운 방법은 서버 시스템에 webmin을 설치하면 뛰어난 방화벽 구성기 GUI를 갖게 되는 것입니다. 그러나 자신을 종료하고 webmin에 액세스할 수 없는 경우 항상 "iptables -F" 명령을 기억하십시오.

답변3

eth0(또는 eth1)을 지점간 인터페이스로 정의하면 (서버 관점에서 man ip-address) 이것이 가능합니다(참고자료, 참고자료 참조) peer.

내 관점에서 볼 때, 주소 선택은 모든 의미에서 나쁜 생각입니다. eth1과 WLAN의 네트워크는 겹칠 수 없습니다. eth1이 지점간 인터페이스가 아니고 WLAN이 102에서 시작하는 경우 이는 불가능합니다.

라우터의 경우 더욱 심각합니다. LAN IP가 WLAN 네트워크의 일부이므로 p2p여야 합니다(라우터에서 구성할 수 있습니까?).

관련 정보