운영체제 6

운영체제 6

ISP의 IP 블록 세트에 의해 정의된 동적 IP를 사용하고 있습니다. ssh, ftp, MySql을 열고 해당 청크를 기다리고 싶습니다. 각 규칙에 대해 모든 항목을 지정하고 싶지 않습니다. 허용된 모든 주소를 그룹으로 설정한 다음 액세스하려는 각 포트에 할당하는 방법이 있습니까?

답변1

CentOS를 언급했지만 특정 버전은 언급하지 않았습니다.

운영체제 6

CentOS 6에서 방화벽은 다음과 같습니다 /etc/sysconfig/iptables.

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:INTERNAL - [0:0]
:INTERNAL_allow - [0:0]
:LOGGING - [0:0]

#LOGGING Chain
-A LOGGING -p tcp -m limit --limit 2/min -j LOG --log-prefix "iptables DROP: " --log-level 4

#INPUT Chain
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INTERNAL
-A INPUT -j LOGGING
-A INPUT -j REJECT --reject-with icmp-host-prohibited

#INTERNAL Chain to define networks (only networks that match continue to INTERNAL_allow)
-A INTERNAL -s 192.168.10.0/24 -g INTERNAL_allow
-A INTERNAL -s 10.9.8.0/24 -g INTERNAL_allow

#INTERNAL_allow Chain to define allowed ports on those networks
-A INTERNAL_allow -p icmp -j ACCEPT
#open a single port using tcp module
-A INTERNAL_allow -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#open multiple ports using multiport module
-A INTERNAL_allow -p tcp -m state --state NEW -m multiport --dport 21,3306 -j ACCEPT

또한보십시오:

  • man iptables모듈과 매개변수에 대한 것 multiport입니다 .tcp-g

운영체제 7

방화벽에서 영역을 사용할 수 있습니다. 나는 이것에 대한 경험이 많지 않습니다.

답변2

일련의 IPs용도를 생성 ipset한 다음 여기에 제한 사항을 추가할 수 있습니다.

예를 들어 다음을 만듭니다 ipset.

ipset -N myset hash:ip,port

컬렉션에 ip추가 :port

ipset add myset x.x.x.0/24,80-82 
ipset add myset x.x.x.x,udp:53 
ipset add myset y.y.y.y,vrrp:0 

iptables그런 다음 해당 세트에 대한 규칙을 생성하려면 방화벽과 함께 사용할 수 있습니다 .

iptables -A INPUT -m set --set myset dst -j ACCEPT

위 명령은 ipset두 개의 주소( x.x.x.x및 )를 사용하여 y.y.y.y새로운 세트(iphash 유형의 myset)를 생성합니다.

그런 다음 명령은 iptables일치 사양을 사용하여 세트를 참조합니다 -m set --set myset dst. 이는 "대상 헤더가 myset이라는 세트와 일치하는(즉, 포함된) 패킷을 일치시키는 것"을 의미합니다.

이 플래그는 dst"대상" 일치를 나타냅니다. 이 플래그는 src"source"에서 일치하고 src,dst 플래그는 소스 및 대상에서 일치합니다.

관련 정보