저는 모든 IP에 허용되어야 하는 두 개의 특정 포트 X와 Y를 제외하고 로컬 IP(192.168.2.*)에 대해서만 Debian 서버의 모든 포트에서 연결을 허용하는 방법을 찾고 있습니다. IP가 로컬 IP가 아닌 경우 포트 X와 Y를 제외한 모든 포트에 대한 모든 연결을 차단해야 합니다.
Iptables로 이 상황을 어떻게 처리할 수 있나요?
답변1
제가 잘 이해했는지 모르겠지만, 방법은 다음과 같습니다.
두 개의 포트(X 및 Y)를 제외하고 로컬 IP 범위 192.168.2.0/24에 대한 모든 포트를 허용하려면 다음과 같은 규칙을 사용할 수 있습니다.
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport X -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport Y -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp -j ACCEPT
기타 로컬이 아닌 IP의 경우 X 및 Y에만 연결을 허용하고 다음을 사용할 수 있습니다.
iptables -A INPUT -p tcp --dport X -j ACCEPT
iptables -A INPUT -p tcp --dport Y -j ACCEPT
iptables -A INPUT -p tcp -j DROP
프로토콜(TCP 또는 UDP)을 지정하지 않았으며 위에서 분명히 알 수 있듯이 TCP라고 가정합니다. 이 특정 순서로 규칙을 삽입해야 하며 사전 정의된 다른 규칙은 없다고 가정합니다.