본문 바로가기
운영체제/리눅스

리눅스)iptables 명령어 알아보기

by Cloud_Park 2020. 6. 26.

iptables

리눅스에서 방화벽을  설정하는 도구구이며  netfiter 기능을 사용자 공간에서  제어하는 수준으로 사용가능하다.

특정 조건을 가지고 있는 패킷에 대하여  ACCEPT,DORP을 지정할 수 있으며 , 특정 조건등을 통해 다양한 필터링과 처리 방식을 지원한다.

 

*패킷필터링  : 패킷을 헤더(도착지,출발지, 프로토콜, 옵션, 체크썸)을  걸러준다.

 

iptable 정책은 여러 구분으로 나눠지며 중요한 부분은  chain이라고 볼 수 있는다

패킷이 조작될 상태를 지정하며 iptables에 내장된 기본 chain은   INPUT  들어올 때, OUTPUT 나갈 때 , FORWARD 서버를 나가는   이는 영구적이며 삭제 불가능하다.  이외  -N으로  지정하는 사용자 정의 chain이 있다.

 

명령어 구조 

iptables -A INPUT -s [발신자] --sport [발신자 포트] -d [목적지] -dport [목적지 포트] -j [정책]
1. 기본정책을 accept로 설정하기
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
2. 현재 방화벽 규칙보기
#iptables --list     or iptables -L
3. 규칙 추가 후에 저장하기
# service iptables save    -> /etc/sysconfig/iptables에 저장
4. 현재 규칙 초기화하기
iptables -F

 

 

 

기본 명령어 설명
-N (new chain) 새로운 체인 만듬
-L (--list) 새로운 규칙을 만듬
-X (--delete-chain) 비어 있는  체인 삭제
-P (--policy) 기본 정책 변경
-F (--flush) 체인의 모든 규칙을 삭제
-A (--append) 새로운 규칙을 추가
-I (--insert) 새로운 규칙을 삽입
-R (--replace) 새로운 규칙을 교체
-D (--delete) 규칙을 삭제
-C (--ckeck) 패킷을 테스트

 

제어 명령어

제어 명령어 설명
-s 출발지 주소
-d 목적지 주소
--sport 출발지 포트번호
--dport 목적지 포트번호
-p 프로토콜
-i 패킷이 들어오는 네트워크 인터페이스
-o 패킷이 나가는 네트워크 인터페이스
-f 분절된 패킷
-j 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시

 

예제)

127.0.0.1 즉 로컬에서 요청되는 모든 ICMP 패킷에 대해 무시하려면?

iptables -A INPUT -s 127.0.0.1 -p imcp -j DROP