*telnet
#iptables -A INPUT -m state --state NEW -p tcp -s 192.168.20.200 -d 192.168.20.100 --dport 23 -j ACCEPT
- 192.168.20.200에서 192.168.20.100으로의 telnet의 새로운 연결에 대해서 수락을 한다.
*ssh
#iptables -A INPUT -m state NEW -p tcp -s 192.168.20.0/24 -d 192.168.20.100 --dport 22 -j ACCEPT
- 192.168.20.0/24대역에서 192.168.20.100으로의 ssh의 새로운 연결에 대해서 수락을 한다.
*icmp
#iptables -A OUTPUT -p icmp --icmp-type echo-request -s 192.168.20.100 -d 0/0 -j ACCEPT
- 192.168.20.100에서 출발하는 echo-request ICMP 패킷을 수락한다.
#iptables -A INPUT -p icmp --icmp-type echo-reply -s 0/0 -d 192.168.20.100 -j ACCEPT
- 192.168.20.100으로 들어오는 echo-reply ICMP 패킷을 수락한다
#iptables -A INPUT -p icmp --icmp-type destination-unreachable -s 0/0 -d 192.168.20.100 -j ACCEPT
- 192.168.20.100으로 들어오는 ICMP의 destination-unreachable 패킷을 수락한다.
*WEB
#iptables -A INPUT -m state --state NEW -p tcp -s 0/0 -d 192.168.20.100 --dport 80 -j ACCEPT
- http 서비스 오픈
#iptables -A INPUT -m state --state NEW -p tcp -s 0/0 -d 192.168.20.100 --dport 443 -j ACCEPT
- https 서비스 오픈
*MySQL(MariaDB)
#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
*FTP (active mode)
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#iptables -A INPUT -p tcp --dport 20 -j ACCEPT
*FTP (passive mode)
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT
*DHCP
#iptables -A INPUT -p udp --dport 67:68 –j ACCEPT
*XMAS 패킷 차단
#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
*NULL 패킷 차단
#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
*MAC 주소로 제어
#iptables -A INPUT -s 192.168.0.3 -m mac --mac-source 00:50:80:FD:E6:32 -j ACCEPT
*포트 주소 범위로 지정
#iptables -A INPUT -p tcp --dport 6881:6890 -j ACCEPT
*NAT
SNAT : Source IP 주소 변경
ex) 마스커레이딩
DNAT : Destination IP 주소 변경
ex) Port Forwarding
*SNAT
소스의 주소를 1.2.3.4로 변경하는 예
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
소스의 주소를 1.2.3.4 ~ 1.2.3.6로 변경하는 예
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4-1.2.3.6
소스의 주소 1.2.3.4에 포트 1-1023로 변경하는 예
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4:1-1023
마스쿼레이딩 설정(SNAT 방식의 특이한 경우)
#iptables -t nat -A POSTROUTING -o eth0(ppp0) -j MASQUERADE
- NIC 카드의 IP를 사용하는 것
*DNAT
목적지 주소를 1.2.3.4로 변경하는 경우
#iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 1.2.3.4
목적지 주소를 1.2.3.4 ~ 1.2.3.6로 변경하는 경우
#iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 1.2.3.4-1.2.3.6
웹 트래픽에 대한 목적지 주소를 1.2.3.4의 8080 포트로 변경하는 경우
#itpables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j DNAT --to 1.2.3.4:8080
방향재설정 - Local Port Forwarding
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 443
- http에 대한 서비스를 https로 전환
※위의 설정을 보면 패턴이 보이게 될 것이다. 이를 이용하여 원하는 서비스를 제어하며 이보다 더많은 옵션들이 존재한다.