iptables를 이용해서 정책을 설정할 때 가장 중요한 것은 rule에 해당하는 match와 target입니다
target은 iptables에서 패킷이 규칙과 일치할 때 취하는 동작을 말하고
매치는 iptables가 규칙 타겟에 의해 명시되는 동작에 따라 패킷을 처리하기 위해 만족해야하는 조건입니다
예를들어 TCP 패킷에만 적용하려면 -p(--protocol) 매치를 사용해서 적용시키면 되고,
만약 -p옵션으로 프로토콜을 명시하지 않으면 모든 프로토콜(tcp, udp, icmp)에 해당정책에 적용됩니다
iptable는 -p 옵션 뒤에 프로토콜을 지정한 뒤에 추가적으로 사용할 수 있는 옵션이 제공됩니다
먼저 -p tcp로 프로토콜을 지정하고 추가로 지정할 옵션을 사용합니다
관련 정보는 iptables -p tcp -h
로 확인할 수 있습니다
먼저 -p udp로 프로토콜을 지정하고 추가로 지정할 옵션을 사용합니다
위에 열거된 TCP의 확장 옵션 중에 --sport 및 --dport를 지원합니다
관련 정보는 iptables -p udp -h
로 확인할 수 있습니다
먼저 -p icmp로 프로토콜을 지정하고 --icmp-type을 추가 옵션으로 지정합니다
많이 사용하는 ICMP 타입 값에는 echo-request(8)
, echo-reply(0)
, destination-unrechable(3)
등이 있고,
관련 정보는 iptables -p icmp -h
를 입력하면 확인할 수 있습니다
명령행에서 iptables로 설정한 정책들은 시스템을 재부팅하면 초기화됩니다
따라서 해당 정책을 지속적으로 반영하려면 설정 규칙을 저장해야 합니다
설정 규칙을 저장하는 방법에는 관련 명령어를 사용한 저장, 스크립트를 사용한 저장, 셸 스크립트를 작성한 저장으로 나눌 수 있습니다
iptables의 관련 로그를 남기려면 정책을 설정해야 합니다
-j LOG
로 선언하면 되고, 로그기록은 /var/log/messages
에 남깁니다
특히 선언하는 위치가 중요하며, 보통 선언된 이후의 정책들만 로그로 남깁니다