-F | iptables 체인 초기화 (체인 이름을 생략할 경우 룰 완전 초기화) |
-N | 새로운 체인 생성 |
-X | 체인 제거 |
-P | 체인 정책 변경 (ACCEPT : 허용, DROP : 패킷 폐기) |
-A | 해당 체인에 새로운 규칙 추가 |
-I | 해당 체인 중간에 규칙 삽입 |
-R | 해당 체인 위치의 규칙 내용 변경 |
-D | 해당 체인의 특정 규칙 제거 |
※일반 옵션
-s | 출발지 주소/네트워크 |
-d | 목적지 주소/네트워크 |
-p | 프로토콜 |
-i | 인터페이스 |
-j | 동작 타겟 설정 (ACCEPT : 허용, REJECT : 연결 거부, DROP : 패킷 폐기, 체인 이름) |
--sport | 출발지 포트 |
--dport | 목적지 포트 |
--icmp-type | ICMP타입 (사용 가능한 ICMP 타입 보기 #iptables -p icmp -h) |
--state | 상태 설정 (NEW : 새로운 연결 ESTABLISHED : 기존 연결 RELATED : 기존 연결과 연관된 연결 INVALID : 확인 불가) |
※-j 옵션에 체인 이름을 명시하였을 경우 동작 방식
룰을 검사하던 도중 일치하는 룰을 발견시 target을 체크하고 target이 체인으로 되어있으면 해당 체인을 검사한다.
해당 체인을 모두 검사하여도 일치하는 룰을 발견하지 못하면 다시 원래 체인으로 되돌아가서 룰 검사를 계속한다.
예를 들어 목적지 IP가 168.126.63.1 이고 목적지 포트가 53번인 패킷은 위와 같이 INPUT 체인을 검사하다가 USERCHAIN으로 넘어가서 검사한뒤 다시 INPUT 체인으로 되돌아와 최종적으로 DROP된다.
IPTables 사용 예시
-룰 확인하기
#iptables -L
-INPUT 체인의 룰 초기화
#iptables -F INPUT
-INPUT 체인의 Default 값을 ACCEPT 에서 DROP 변경
#iptables -P INPUT DROP
-루프백 장치의 패킷을 모두 허용
#iptables -A INPUT -j ACCEPT -i lo
-연결된 패킷, 상호의존적 패킷 모두 허용
#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-목적지 IP가 66.249.89.104이고 목적지 포트가 TCP 80번인 패킷 허용
#iptables -A INPUT -d 66.249.89.104 -p tcp --dport 80 -j ACCEPT
※재부팅시 설정 자동 저장/불러오기
[데비안/우분투]
#vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules
[레드햇/페도라]
#vi /etc/sysconfig/iptables-config
IPTABLES_SAVE_ON_STOP="yes"
IPTABLES_SAVE_ON_RESTART="yes"
'컴퓨터 일반 > 운영체제' 카테고리의 다른 글
단순화된 윈도우 아키텍쳐 (0) | 2011.10.19 |
---|---|
유닉스 계열 NIC 속도 설정 (0) | 2010.12.24 |
시스템의 기동 순서(Windows) (0) | 2010.11.27 |
SSH 인증키 생성 (0) | 2010.11.21 |
BackTrack IP 설정 (0) | 2010.11.21 |