메뉴 닫기

Linux iptables


iptables는 리눅스에서 네트워크 트래픽을 제어하는 도구입니다.
iptables를 사용할 경우 다음과 같은 방화벽 정책을 통해 패킷을 필터링할 수 있습니다.

iptables의 기본적인 기능은 아래와 같습니다.

– 모든것을 허용 후 일부 패킷을 제한한다.
– 모든것을 거부 후 일부 패킷을 허용한다.

iptables 체인(chain)이란? 


iptables체인은 패킷이 처리되는 상태를 지정하는 기본단위입니다.
iptables는 3개의 테이블로 구성되어 있으며, 각 테이블은 패킷의 방향에 따라 INPUT, FORWARD, OUTPUT으로 구분합니다.

iptables체인은 외부에서 리눅스로 유입되는 패킷과 리눅스 내부에서 외부로 전송되는
패킷에 대한 접근제어를 설정할 수 있습니다.

해당 체인의 종류는 아래와 같습니다.

– INPUT : 리눅스로 들어오는 패킷(입력 패킷)
– FORWORD : INPUT과 OUTPUT 역할, (라우터에 방화벽을 적용할 때 사용합니다.)
– OUTPUT : 외부로 나가는 패킷(출력패킷)

● 상태확인 명령어 : sudo ufw status
●  포트 규칙추가 명령어 : sudo ufw allow 포트번호

iptables에 등록된 정보는 INPUT , FORWORD , OUTPUT 체인별로 확인할 수 있는데
등록된 체인을 확인하고싶을경우 iptables -L 명령을 통해 확인할 수 있습니다.

※ 등록된 체인을 삭제하고싶을 경우 iptables -F output 명령어를 통해 삭제할 수 있습니다.
※ 모든 규칙을 삭제하고 싶을경우 체인명을 지정하지 않고 ‘iptables -F’로 삭제할 수 있습니다.

하단 명령어를 통해 효율적으로 관리할 수 있습니다. 

규칙을 저장할 때는 iptables-save > /root/firewall.rules를 사용하여 규칙을 파일에 저장합니다. 

규칙을 복원할 때는 iptables-restore < /root/firewall.rules를 사용하여 저장된 파일에서 규칙을 불러옵니다.

iptables 규칙을 저장 및 복원할 경우 아래와 같은 이점이 있습니다.

● 규칙을 쉽게 백업하고 복원할 수 있습니다.
● 규칙을 다른 시스템에 쉽게 전송할 수 있습니다.
● 규칙을 테스트하기 위해 임시로 적용할 수 있습니다.

iptables 규칙을 변경한 경우 항상 규칙을 저장하고 복원하는 것이 좋습니다.

▶ iptables 사용법 

-A (–append) : 규칙을 추가합니다.
-N(–new-chain) :새로운 체인을 생성합니다.
-X(–delete-chain) : 체인을 제거합니다.
-P(–Policy) : 체인 기본정책을 변경합니다.
-L(–list) : 체인의 규칙상태를 볼 수 있습니다.
-F(–flush) : 체인내의 모든 규칙을 제거합니다 (방화벽 초기화)
-Z(–Zero) : 체인내의 모든 규칙의 패킷과 바이트의 카운트를 0으로 초기화합니다.
-D(–Delete) : 규칙을 삭제합니다.
-R(–replace) : 새로운 규치긍로 대체합니다.
-I(–insert) : 체인의 가장 첫 규칙을 추가합니다.
-E(–rename-chain) : 체인의 이름을 변경합니다.  

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x