5.13. iptables를 사용하여 IP 세트 설정 및 제어
firewalld
와 iptables (및 ip6tables) 서비스의 근본적인 차이점은 다음과 같습니다.
- iptables 서비스는
/etc/sysconfig/iptables
및/etc/sysconfig/ip6tables
에 구성을 저장하지만firewalld
는 이를/usr/lib/firewalld/
및/etc/firewalld/
의 다양한 XML 파일에 저장합니다.firewalld
는 Red Hat Enterprise Linux에 기본적으로 설치되므로/etc/sysconfig/iptables
파일이 존재하지 않습니다. - iptables 서비스에서는 모든 변경 사항을 통해 이전 규칙을 모두 플러시하고
/etc/sysconfig/iptables
에서 모든 새 규칙을 읽고,firewalld
를 사용하면 모든 규칙을 다시 생성하지 않습니다. 차이점만 적용됩니다. 결과적으로firewalld
는 기존 연결이 손실되지 않고 런타임 중에 설정을 변경할 수 있습니다.
둘 다 iptables 툴 을 사용하여 커널 패킷 필터와 통신합니다.
firewalld
대신 iptables
및 ip6tables
서비스를 사용하려면 먼저 root
로 다음 명령을 실행하여 firewalld
를 비활성화합니다.
~]# systemctl disable firewalld ~]# systemctl stop firewalld
~]# systemctl disable firewalld
~]# systemctl stop firewalld
그런 다음
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
iptables-services 패키지에는
root
로 다음 명령을 입력하여 iptables-services 패키지를 설치합니다.
~]# yum install iptables-services
~]# yum install iptables-services
iptables
서비스와 ip6tables
서비스가 포함되어 있습니다.
그런 다음
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
모든 시스템에서 서비스를 시작할 수 있도록 하려면 다음 명령을 입력합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
iptables
및 ip6tables
서비스를 시작하려면 root
로 다음 명령을 입력합니다.
~]# systemctl start iptables ~]# systemctl start ip6tables
~]# systemctl start iptables
~]# systemctl start ip6tables
~]# systemctl enable iptables ~]# systemctl enable ip6tables
~]# systemctl enable iptables
~]# systemctl enable ip6tables
ipset 유틸리티는 Linux 커널의 IP 세트를 관리하는 데 사용됩니다. IP 세트는 IP 주소, 포트 번호, IP 및 MAC 주소 쌍 또는 IP 주소와 포트 번호 쌍을 저장하기 위한 프레임워크입니다. 집합이 매우 큰 경우에도 집합에 대해 빠르게 일치할 수 있는 방식으로 집합이 인덱싱됩니다. IP 세트를 사용하면 더 간단하고 관리가 용이한 구성으로 iptables 를 사용할 때 성능상의 이점을 제공할 수 있습니다. iptables 일치 및 대상을 참조하여 커널에서 지정된 세트를 보호하는 참조를 생성합니다. 세트는 이를 가리키는 단일 참조가 있는 동안에는 삭제할 수 없습니다.
ipset 을 사용하면 다음과 같은 iptables 명령을 세트로 교체할 수 있습니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
세트는 다음과 같이 생성됩니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
그런 다음 set가 다음과 같이 iptables 명령에서 참조됩니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
세트가 한 번 이상 사용된 경우 구성 시간에 저장합니다. 집합에 많은 항목이 포함된 경우 처리 시간에 저장 시간이 생성됩니다.If the set contains many entries a saving in processing time is made.
~]# iptables -A INPUT -s 10.0.0.0/8 -j DROP ~]# iptables -A INPUT -s 172.16.0.0/12 -j DROP ~]# iptables -A INPUT -s 192.168.0.0/16 -j DROP
~]# iptables -A INPUT -s 10.0.0.0/8 -j DROP
~]# iptables -A INPUT -s 172.16.0.0/12 -j DROP
~]# iptables -A INPUT -s 192.168.0.0/16 -j DROP
~]# ipset create my-block-set hash:net ~]# ipset add my-block-set 10.0.0.0/8 ~]# ipset add my-block-set 172.16.0.0/12 ~]# ipset add my-block-set 192.168.0.0/16
~]# ipset create my-block-set hash:net
~]# ipset add my-block-set 10.0.0.0/8
~]# ipset add my-block-set 172.16.0.0/12
~]# ipset add my-block-set 192.168.0.0/16
~]# iptables -A INPUT -m set --set my-block-set src -j DROP
~]# iptables -A INPUT -m set --set my-block-set src -j DROP