답변:
이것은 올바른 방법입니다.
iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT
예로서. 여기에 출처 .
-I
보다 안전합니다 -A
.
-A INPUT -j REJECT --reject-with icmp-host-prohibited
INPUT 및 다른 테이블의 끝 부분). 를 사용 -A
하면 최종 규칙 이후에 테이블 끝에 규칙이 추가되므로 netfilter가 첫 번째 경기에서 승리하는 것으로 간주되지 않습니다. -I
규칙을 사용 하면 표의 시작 부분에 규칙이 삽입되므로 항상 고려됩니다.
-I
것은 아니라는 점을 지적하는 것이 좋습니다 .
잘못 썼지 만 (잊어 버렸습니다 --dport
) 당신이들은 것은 옳습니다 .
iptables -A INPUT -p tcp --dport 1000:2000
TCP 포트 1000에서 2000까지의 인바운드 트래픽을 엽니 다.
-m multiport --dports
예를 들어 열려는 범위가 연속적이지 않은 경우에만 필요합니다. 예를 들어 -m multiport --dports 80,443
, 사이에있는 범위가 아닌 HTTP와 HTTPS 만 열립니다 .
규칙 순서는 중요하며 (Iain이 다른 곳에서 언급 한 것처럼) 추가 한 규칙이 효과적인 위치에 있는지 확인하는 것이 귀하의 임무입니다.
TL; DR이지만 ...
멀티 포트 모듈이없는 순수한 포트 범위 :
iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
동등한 멀티 포트 예 :
iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT
... 다중 범위의 다중 포트에 대한 변형 (예, 가능) :
iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT
... 및 부정을 갖는 동등한 다중 포트 다중 범위 예 :
iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT
푼다.