커널 2.4대에서 방화벽, 규칙 설정, IP 매스커레이딩을 조정하는 커널 도구
iptables는 netfilter 필터링 룰에 사용한다. 대부분 ipchains와 사용법이 거의 같으나, 가장 큰 차이점은 확장성에 있다. 정상적으로 커널 확장은 커널 모듈 하부 디렉토리(/lib/modules/커널버전/kernel/net)에 존재하는데, iptables는 요구에 의하여 적재된다. 그래서 아들 모듈을 직접 적재할 필요는 없다. iptables의 확장들은 공유 라이브러리 형태로 보통 /usr/local/lib/iptables에 위치한다. 배포판은 이것을 /lib/iptables나 /usr/lib/iptables에 넣으려 할 것이다.
ipchain이 iptable에서 변경된 사항들은 다음과 같다.
*미리 만들어진 체인 이름(input, output. forward)가 소문자에서 대문자로 바뀌었다.
*-i 지시자는 들어오는 인터페이스만 의미하고 INPUT과 FORWARD chain에서만 작동한다. FORWARD나 OUTPUT chain은 -o로 사용한다.
*TCP와 UDP 포트는 --source-port, --sport (--destination-port, --dport)과 사용하게 된다. -p tcp 또는 -p udp 옵션과 함께 사용되어져야 한다.
*TCP -y 지시자는 --syn으로 바뀌었고 -p tcp다음에 와야한다.
*DENY target는 DROP으로 바뀌었다.
--iptable 자세한 사항은 보안 게시판에서 올리겠습니다--
사용법 : iptables -[ADC] chain 상세룰 [옵션] iptables -[RI] chain 룰번호 상세룰 [옵션] iptables -D chain 룰번호 [옵션] iptables -[LFZ] [chain] [옵션] iptables -[NX] chain iptables -E 이전체인이름 새로운 체인 이름 iptables -P chain target [옵션] iptables -h
-A chain, --append chain : chain을 추가한다. -D chain, --delete chain : chain에서 룰을 삭제한다. -D chain 룰넘버, --delete chain 룰넘버 : chain 정책 중 지정한 룰넘버를 삭제한다. 만일 룰넘버가 1이라면 chain 규칙의 첫 번째 룰을 삭제한다. -l chain [룰넘버], --insert chain [룰넘버] : chain 정책에 지정한 숫자번째에 상빕하거나, 마지막에 룰을 삽입한다. -R chain 룰넘버, --replace : chain 정책 중 지정한 숫자번째의 룰을 교체한다. -L [chain], --list [chain] : 모든 chain 정책을 보거나, 지정한 chain 정책을 본다. -F [chain], --flush : 모든 chain 정책을 삭제하거나, 지정한 chain 정책을 삭제한다. -Z [chain], --zero : 모든 chain 정책을 제로로 만들거나, 지정한 chain 정책을 제로로 만든다. -C chain, --check chain : 설정한 chain 정책을 테스트한다. -N chain, --new-chain : 새로운 정책을 만든다. -X [chain], --delete-chain : 사용자가 만든 chain이나 모든 chain을 삭제한다. -P chain target, --policy chain target : chain 정책을 지정한 chain 정책으로 바꾼다. -E old-chain new-chain, --rename-chain old-chain new-chain : Chain명을 바꾼다. -p, --procotol [!] proto : 프로토콜을 지정한다. !은 제외의 의미이다. -s, --source [!] address[/mask] : 출발지 주소를 지정한다. mask는 C클래스면 255.255.255.0이나 24 비트로 표현된다. -d, --destination [!] address[/mask] : 목적지 주소를 지정한다. -i, --in-interface [!] input name[+] : 수신하는 네트워크 인터페이스 이름을 지정한다. name+은 name으로 시작하는 모든 인터페이스 이름이다. -j, --jump target : 지정하는 target으로 리다이렉트 시킨다. -m : 지정한 match로 확장이 가능하다. -n : IP주소와 포트번호를 숫자 그대로 보여준다. -o, --out-interface [!] output name[+] : 발신하는 네트워크 인터페이스 이름을 지정한다. -v, --verbose : 상세한 정보를 보여준다. --line-numbers : 룰정책을 보여줄 때 줄번호도 나타낸다. -x, --exact : 정확한 값으로 나타낸다. -V, --version : 버전 정보를 보여준다.
iptables는 netfilter 필터링 룰에 사용한다. 대부분 ipchains와 사용법이 거의 같으나, 가장 큰 차이점은 확장성에 있다. 정상적으로 커널 확장은 커널 모듈 하부 디렉토리(/lib/modules/커널버전/kernel/net)에 존재하는데, iptables는 요구에 의하여 적재된다. 그래서 아들 모듈을 직접 적재할 필요는 없다. iptables의 확장들은 공유 라이브러리 형태로 보통 /usr/local/lib/iptables에 위치한다. 배포판은 이것을 /lib/iptables나 /usr/lib/iptables에 넣으려 할 것이다.
ipchain이 iptable에서 변경된 사항들은 다음과 같다.
*미리 만들어진 체인 이름(input, output. forward)가 소문자에서 대문자로 바뀌었다.
*-i 지시자는 들어오는 인터페이스만 의미하고 INPUT과 FORWARD chain에서만 작동한다. FORWARD나 OUTPUT chain은 -o로 사용한다.
*TCP와 UDP 포트는 --source-port, --sport (--destination-port, --dport)과 사용하게 된다. -p tcp 또는 -p udp 옵션과 함께 사용되어져야 한다.
*TCP -y 지시자는 --syn으로 바뀌었고 -p tcp다음에 와야한다.
*DENY target는 DROP으로 바뀌었다.
--iptable 자세한 사항은 보안 게시판에서 올리겠습니다--