IPTABLES로 다양한 IP를 허용하는 방법은 무엇입니까?


29

다음은 내 iptables입니다 .ETH1 (10.51.xx)에서 다양한 IP를 허용하도록 어떻게 만들 수 있습니까?

# Generated by iptables-save v1.4.4 on Thu Jul  8 13:00:14 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh 
-A INPUT -i lo -j ACCEPT 
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 
-A INPUT -j REJECT --reject-with icmp-port-unreachable 
-A FORWARD -j REJECT --reject-with icmp-port-unreachable 
-A OUTPUT -j ACCEPT 
-A fail2ban-ssh -j RETURN 
COMMIT

답변:


39

10.50.0.0 내에 특정 범위의 IP 주소 만 허용하려는 경우 (예 : 10.50.10.20에서 10.50.10.80까지) 다음 명령을 사용할 수 있습니다.

iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT

전체 범위를 허용하려면 이것을 대신 사용할 수 있습니다.

iptables -A INPUT -i eth1 -s 10.50.0.0/16 -j ACCEPT

iptables 매뉴얼 페이지 와 ServerFault : iptables를 사용하여 허용 된 IP 허용 (입 / 출력) 에 대한이 질문을 참조하십시오 .


이 줄은 어디에 두나요?
마이크 커리

명령 줄에서 실행하는 명령은 다음과 같습니다. [root @ host ~] # iptables -A INPUT -i eth1 -s 10.50.0.0/16 -j ACCEPT
runlevelsix

1
"10.50.10.20-10.50.10.80"을 사용하십시오. "-80"이 원하는 것을 수행하지 않을 수 있습니다 .
basic6

@runlevelsix 10.0.0.0 ~ 10.255.255.255와 같은 IP 범위를 허용하려면 10.0.0.0/24를 사용합니까?
RoboBear

@ MikeCurry 이것은 명령 줄에서 실행할 것을 지정합니다. 또는, "iptables"를 제거하고 줄에서 다음과 같이 공백을 두어 /etc/iptables/rulesets.d(debian Linux를 사용하는 경우)의 iptables 규칙 파일에이 규칙을 추가 할 수 있습니다. -A INPUT -i eth1- m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT.
RoboBear

3

특정 포트의 경우 22라고 말합니다.

iptables -A INPUT -p tcp  -m iprange --src-range  10.50.10.20-10.50.10.80  --dport 22  -j ACCEPT

1

CIDR에서 10.51.xx로 IP를 허용하고 싶은 것을 보았습니다 10.50.0.0/16. 따라서 루프백 인터페이스의 라인과 같은 것 127.0.0.0/8입니다.


1
iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-80 -j ACCEPT

다음과 같은 오류가 발생할 수 있습니다.

iptables: Applying firewall rules: xt_iprange: range 10.50.10.20-80 is reversed and will never match

이 문제를 해결하려면 다음과 같이 대신 전체 IP를 넣으십시오.

iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT

참조 : http://blog.capitar.com/iptables-ip-range-reversed/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.