iptables 및 iptables-services 패키지를 기반으로 진행

 

* Rocky Linux는 기본적으로 firewalld를 사용하지만, iptables를 사용할 수 있도록 설정

 

1. iptables 설치 및 설정 준비

Rocky Linux에서 iptables를 사용하려면 iptables-services를 설치해야 함

firewalld 비활성화 및 iptables 활성화

# firewalld 비활성화 ( iptables 사용을 위해 )
$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

# iptables-services 설치
$ sudo dnf install iptables-services -y

 

2. iptables 규칙 작성

규칙을 설정한 뒤 저장함

( 공식 사이트 : https://linux.die.net/man/8/iptables )

iptables 설정 추가
예제 규칙 (필요에 따라 수정하여 사용)

# 기본 정책 설정
$ sudo iptables -P INPUT DROP
$ sudo iptables -P FORWARD DROP
$ sudo iptables -P OUTPUT ACCEPT

# SSH 허용
$ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# HTTP 및 HTTPS 허용
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 로컬호스트 허용
$ sudo iptables -A INPUT -i lo -j ACCEPT

# 응답 패킷 허용
$ sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
* iptables 옵션 
iptables는 상당히 많은 옵션등이 제공

–append, -A : 새로운 규칙을 추가
–policy, -P : 기본정책을 변경
–delete, -D : 규칙을 삭제
–insert, -I : 새로운 규칙을 삽입(기존 규칙은 내려감)
–replace -R : 새로운 규칙으로 교체
–jump, -j : 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시
–in-interface, -i : 입력 인테페이스–state : 연결 상태와의 매칭
–match, -m : 특정 모듈과의 매치

3. iptables 설정 저장

 

iptables-services를 사용하면 설정을 저장하고 재부팅 시 불러올 수 있음

# 현재 iptables 설정 
$ sudo service iptables save

이 명령을 실행하면 설정이 /etc/sysconfig/iptables에 저장됨

 

4. iptables 자동 적용 설정

부팅 시 iptables를 자동으로 적용하도록 설정함

# iptables 서비스 활성화

$ sudo systemctl enable iptables
$ sudo systemctl start iptables

 

5.  부팅 후 확인

시스템을 재부팅한 후 설정이 제대로 적용되었는지 확인

# iptables 규칙 확인

$ sudo iptables -L -v -n

 

6. iptables 규칙 수정

추후 iptables 규칙을 수정할 경우 다음과 같이 진행

1. 규칙 수정

예를 들어 새로운 포트를 허용하려면:
$ sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

2. 변경사항 저장
$ sudo service iptables save

3. 서비스 재시작
$ sudo systemctl restart iptables

 

+ Recent posts