두 개의 특정 포트를 제외하고 로컬 IP에 대해서만 Iptables의 모든 포트를 허용하는 방법

두 개의 특정 포트를 제외하고 로컬 IP에 대해서만 Iptables의 모든 포트를 허용하는 방법

저는 모든 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라고 가정합니다. 이 특정 순서로 규칙을 삽입해야 하며 사전 정의된 다른 규칙은 없다고 가정합니다.

관련 정보