Ubuntu는 하나의 포트를 제외한 IP 액세스를 차단합니다.

Ubuntu는 하나의 포트를 제외한 IP 액세스를 차단합니다.

하나의 포트만 제외하고 모두 차단하는 방법 (예: 9999특정 IP에서 서버에 액세스)192.168.0.1

iptables -A INPUT -s 192.168.0.1 -j DROP모든 포트가 차단됩니다.

특정 IP의 포트 범위를 차단할 수 있나요?

답변1

물론이죠!

iptables규칙은 순서대로 적용됩니다. 따라서 먼저 체인에 대해 매우 엄격한 정책을 만든 다음 특정 포트에서 트래픽을 허용할 수 있습니다.

먼저 기본 체인 정책을 설정할 수 있습니다. 예를 들면 다음과 같습니다. (기본적으로 ACCEPT로 설정되어 있습니다.)

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

이렇게 하면 모든 콘텐츠를 거부하도록 각 체인을 구성할 수 있습니다. 그런 다음 필요한 경우 하나의 포트 또는 특정 네트워크 세그먼트에 대한 트래픽만 허용할 수 있습니다.

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

INPUT규칙을 추가하려는 체인의 이름입니다. -i규칙이 적용되는 인터페이스를 지정하는 데 사용됩니다( eth0예제에서는). -p프로토콜을 지정하는 데 사용됩니다.( tcp) 이 예에서는 --dport어느 포트에서 지정할 수 있습니다. 트래픽이 허용되면 -m state방화벽에 연결 상태를 보도록 지시합니다. 이는 연결 --state NEW,ESTABLISHED을 허용하는 두 가지 상태를 사용할 수 있도록 허용하고 마지막으로 -j ACCEPT앞서 설명한 규칙과 일치하는 연결이 허용된다는 것을 방화벽에 알립니다.

마지막 질문에서 IP 및/또는 포트 범위를 요구하므로 이를 수행하는 방법은 --dport 80:10010(80에서 10010까지의 포트에 규칙이 적용됨) IP 범위를 사용하여 -m iprange --src-range 192.168.1.100-192.168.1.200규칙이 모든 주소에 적용되도록 하는 것입니다. 교통. IP 범위는 192.168.1.100 - 192.168.1.200입니다.

전체 작업 예:

iptables -A INPUT -i eth0 -p tcp --dport 80:10010 -m iprange --src-range 192.168.1.100-192.168.1.200 -m state --state NEW,ESTABLISHED -j ACCEPT

관련 정보