1. 프로토콜의 종류
사용법: -p tcp/udp/icmp/all
현재 명시 할 수 있는 프로토콜 - tcp, udp, icmp
다른 것은 !(아닌 것) 또는 all을 써서 제어한다.
2. 필터링 정책(Policy), 목표(target)
사용법: -j ACCEPT/DENY/REJECT/MASQ/REDIRECT/RETURN
ACCEPT 허가
DENY 부인(그냥 죽임)
REJECT 거절(알리고 죽임)
MASQ 패킷을 매스커레이딩 되게 한다.
REDIRECT 패킷이 어디로 향하고 있든 지역포트로 방향을 변경한다.
input 범주와 tcp, udp 프로토콜에서만 가능
선택적으로 포트(이름 또는 번호)를 '-j REDIRECT [port]' 다음에 적음으로써 어떤 특정
포트로 향하고 있던 패킷을 다른 포트로 방향전환 시킬 수 있다.
RETURN 즉시 규칙의 마지막 항목을 떠나도록 한다.
3. 필터링의 범주
사용법: -A/D/I/L input/forward/ouput
input 입력(패킷이 들어 올 때), 가장 빠르다, 내부 PC들에게만 적용 된다.
forward 전달(내부에서 전달 과정), 조금 느리고 마스커레이드 되는 내부의 컴퓨터들만 제한한다.
ouput 출력(패킷이 나갈 때), 속도는 가장 느리지만, 방화벽 컴퓨터 자체도 금지된 사이트에 접속할 수 없다
4. 옵션(OPTIONS command)
-P, --policy 정책, 올 수 있는 값은 ACCEPT/DENY/REJECT
-A, --append 규칙을 기존 것에 덧붙여 추가 한다.
-D, --delete 특정 규칙을 삭제한다.
-I, --insert 규칙을 기존 것의 맨앞에 끼워 넣는다.
-L, --list 설정되있는 규칙 리스트 보기
-F, --flush 규칙을 모두 지운다.
-M, --masquerading ACCEPT된 패킷에 대해 매스커레이딩을 실행한다.
ACCEPT 규칙하고만 같이 사용된다.
-R, --replace 특정 위치의 규칙을 교체한다.
-Z, --zero 모든 규칙에 대한 패킷의 바이트 카운터 값을 0으로 설정한다.
-N, --new-chain 새 규칙 만들기.
-X, --delete-chain 빈 규칙 지우기
-S, --set tcp tcpfin udp
-C, --check
-h Help
-M -L 매스커레이드된 규칙을 나열한다.
-M -S 매스커레이딩 타임아웃 값을 설정한다.
5. 전달인수(PARAMETERS)
-p, --protocol[!] protocol 프로토콜, tcp/udp/icmp/all
-s, --source [!] address[/mask] [!] [port[:port]]
원천지 주소
올 수 있는 표현은 호스트명/네트워크명/IP주소
예) 넷마스크 - 24는 255.255.255.0과 같다.
포트 - 23은 telnet, 25는 smtp와 같다.
포트범위 - 1023:65535 1023부터 65535까지의 포트번호, :1222 0부터 1222까지, 1222: 1222부터 65535까지
모든주소 - 0.0.0.0/0
-d, --destination [!] address[/mask] [!] [port[:port]]
목적지 주소, icmp 포트는 명시 안됨
--source-port [!] [port[:port]]
--destination-port [!] [port[:port]]
--icmp-type [!] typename
-j, --jump target 점프하라
-i, --interface [!] name 랜카드
[!] -f, --fragment
6. 다른 옵션(OTHER OPTIONS)
-b, --bidirectional
-v, --verbose 규칙의 세부 사항 보기, 패킷/바이트카운터/TOS매스크/인터페이스/패킷표식
-n, --numeric 이름이 아닌 숫자로 표현
-l, --log 로그 기록, 주위 꽉 찮다.
-o, --output [maxsize]
-m, --mark markvalue
-t, --TOS andmask xormask
-x, --exact 값이 커도 완전한 숫자로 표현한다.
[!] -y, --syn