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 사이에 방화벽을 제거해야합니다.
댓글
h3>
- 네트워크 마스크? " PC "의 eth0 및 eth1을 연결 하시겠습니까?
- 서버 " ISP 연결 및 " 라우터 " 서버 뒤에서 …
- @HaukeLaging 예, ' 비정상적이지만 방화벽 규칙과 트래픽 제어를 적용해야합니다. 라우터는 그렇지 않습니다. '이 기능이 없습니다.
- " 라우터 "라고 말할 때 , 정말 " 무선 액세스 포인트 "를 의미합니까? 확실히 그렇게 보입니다 …
- @derobert 예, 정말 라우터, Dlink를 의미합니다 … Cha0s의 응답으로 네트워크를 구성했고 이제 예상대로 작동합니다!
Answer
이를 수행하려면 PC에서 eth0 및 eth1을 브리지 모드로 설정하고 브리지에 1ip를 제공해야합니다. 인터페이스 (개별 eth가 아님)
다음은 Linux에서 브리징을 시작하기위한 기본 사항입니다. http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html
배포판에 따라 브리징을 수행하는 더 빠르고 더 나은 방법이있을 수 있습니다.
지금 언급 한 무선 IP 범위는 일부 구성을 통해 지정할 수 없습니다. . 할당 할 IP는 사용자에게 달려 있습니다.
DHCP를 통해 제어 할 수 있지만 전체 설정 및 요구 사항에 따라 다릅니다.
댓글
- 알겠습니다. ' 읽겠습니다 … ArchLinux를 사용하고 ' ll ArchWiki에서 일부 검색을 수행하십시오. 답변 해 주셔서 감사합니다!
- netctl (Archlinux 기본값 ' s)을 사용하여 브리지를 설정 한 후 라우터를 설정했습니다 (D-Link DI-524). 브리지 모드에서도 네트워크가 작동합니다. 다시 한 번 감사드립니다!
- 브리지 설정을 사용하면 일반적인 iptables 방화벽 규칙이 적용되지 않습니다. 방화벽을 사용하려는 경우
ebtables
에 약간의 운이있을 수 있지만 대신 라우팅 설정을 ' 권장합니다.
답변
먼저 네트워크 주소 변환을 활성화해야합니다.
이 줄 삽입
net.ipv4.ip_forward = 1
에서
/etc/sysctl.conf
(줄 삽입 후 즉시 적용) 및 방화벽 규칙 추가 :
iptables -t NAT -A POSTROUTING-! o lo -j MASQUERADE
그리고 지금 무선 네트워크는 서버 PC에서 ISP로 패킷을 보낼 수 있습니다.
한 가지 더 제안 : 서버에 대한 “모든”액세스를 비활성화하고 필요한 것만 활성화하십시오.
iptables -P INPUT DROP
iptables -A INPUT -m state –state RELATED, ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m state –state NEW -j ACCPET
이 설정은 기본 “모든 허용”패킷 흐름을 비활성화하며 ISP에서 연결하는 것은 비활성화됩니다. (및 WAN)을 서버 포트에 연결하여 무선 네트워크에서 나가는 연결을 활성화합니다.
방화벽에서 서버 포트를 열어야하는 경우 :
iptables- A INPUT -p tcp -m tcp –dport 22 -j ACCEPT
필요한 경우 tcp를 udp로 바꾸고 포트 범위는 from : to 패턴으로 추가합니다.
문제가있는 경우 방화벽 규칙을 재설정 할 수 있습니다.
iptables -F
가장 쉬운 방법은 웹민을 서버 시스템에 설치하는 것입니다. 방화벽 구성 기 GUI가 훌륭합니다. 그러나 자신을 닫고 webmin에 액세스 할 수없는 경우 항상 “iptables -F”명령을 기억하십시오.
댓글
- I '이 작업을 시도했지만 ' 작동하지 않습니다. eth0 : 10.90.10.1/24; eth1 : 10.90.10.100/24; 라우터 : 10.90.10.101/24;
% sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
% sudo iptables -t nat -L -n [...] Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
추신 :# iptables -t nat -A POSTROUTING ! -o lo -j MASQUERADE
에 대한 iptables 규칙을 변경했습니다.
답변
당신이 eth0 (그리고 아마도 eth1도)을 다음과 같이 정의한다면 (서버의 관점에서) 가능할 것입니다. 지점 간 인터페이스 (man ip-address
, peer
참조)
내 생각에 주소 선택은 다음과 같습니다. eth1과 WLAN의 네트워크는 겹치지 않아야합니다.eth1이 포인트-투-포인트 인터페이스가 아니고 WLAN이 102에서 시작하면 불가능합니다.
라우터에서 더 나쁘게 : LAN IP는 WLAN 네트워크의 일부이므로 p2p도 마찬가지입니다 (라우터에서 구성 할 수 있습니까?).