1-1. iptables 기본 명령어 목록
* -L : 적용 되어 있는 정책 목록을 출력한다.
* -A : 새로운 정책을 추가한다.
* -I : 위치를 선택하여 정책을 삽입한다.
* -R : 위치를 선택하여 정책을 교환한다.
* -D : 위치를 선택하여 정책을 제거한다.
* -N : 새로운 체인을 만든다.(INPUT, OUTPUT, FORWARD 외에)
* -P : 체인에 미리 정의되어 있는 정책을 수정한다.
* -F : 체인으로 부터 규칙들을 지운다.
* -Z : 체인의 모든 규칙들의 패킷과 바이트 카운트를 0으로 만든다.
* -X : 비어있는 체인을 제거한다.
1-2. iptables 기본 명령어 사용 예제
* iptables -L : 적용 시킨 정책 목록 출력
* iptables -D INPUT 1 : INPUT 체인 첫번째 줄에 있는 정책을 삭제한다.
2. iptables 제어 옵션 명령어
2-1. iptables 제어 옵션 명령어 목록
* -s : 패킷의 송신지를 제어한다.
* -d : 패킷의 수신지를 제어한다.
* -j : 방화벽을 지난 후 패킷의 상태를 제어한다.
* -p : 프로토콜을 제어한다.
* --sport : 송신지 포트를 제어한다.
* --dport : 수신지 포트를 제어한다.
2-2. iptables 제어 옵션 명령어 사용 예제
* iptables -A INPUT -s 192.168.0.5 -j DROP : 192.168.0.5로 부터 오는 패킷을 모두 차단한다.
* iptables -A INPUT -d ! 192.168.0.10 -j ACCEPT : 192.168.0.10를 향해 가는 패킷이 아니라면 허용한다.
* iptables -A INPUT -p TCP -j ACCEPT : TCP 프로토콜 패킷을 모두 허용한다.
* iptables -A INPUT -p TCP --dport 80 -j DROP : 80번 포트를 향해가는 TCP 패킷을 차단한다.
3. 패킷 상세 내역에 따른 제어 옵션 명령어
3-1. iptables 패킷의 상세 내역에 따른 제어 옵션 목록
* --tcp-flags : TCP 플래그에 따라 패킷을 제어한다.(첫 번째 인자를 검사하고 두 번째 인자는 설정이 되어야 함)
* -m state --state : 패킷의 상태와 목적에 따라 제어한다.
※ -m state 명령어 상태 리스트 ( -m state --state [상태] )
- NEW : 새로 접속을 시도하는 패킷
- ESTABLISHED : 접속을 한 상태에 있는 패킷
- INVALID : 유효하지 않은 패킷 (보통 DROP된다.)
- RELATED : 접속에 연관성을 가지는 패킷 ( e.g. FTP 접속 패킷, ICMP 에러 메세지)
3-2. iptables 패킷의 상세 내역 제어옵션 예제
* iptables -A INPUT -p TCP --tcp-flags SYN,RST,ACK SYN -j DROP : SYN패킷의 set이 1이면 DROP시킨다.
* iptables -A INPUT -p TCP -m state --state NEW -j DROP : 접속을 시도하는 SYN, ACK 플래그 패킷을 차단한다.
'개발이야기' 카테고리의 다른 글
MYSQL 내 DB insert 시 기존 값 유무 검사 후 insert 하기 (0) | 2018.09.30 |
---|---|
[Linux] 리눅스 명령어 - find (0) | 2018.09.20 |
[Linux] 리눅스 명령어 - ps (0) | 2018.09.20 |