Higuma's Web iptable NAS DNAT sample
iptables の機能
(1)パケットフィルタリング
(2)NAT機能(NAPTやDNATも可)
ウチのD(default)GWにおける設定
・GWのマシンを本来使うため、完全にルータ化することはない。(そのため、OUTPUTはACCEPTである。)
・内部のマシンもNAPTによって、通信させるようにするが、敢えて制限はかけない。フィルタリングは内部マシンにさせる
# # 2003/4/14 # #!/bin/bash #Initialized iptables -F iptables -F -t nat #Default Policy iptables -P INPUT DROP iptables -P OUTPUT ACCEPT #iptables -P OUTPUT DROP <- (this machine is router only) #Loop Back ACCEPT iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #Internet -> Gateway(ppp0) (Private IP address) DROP iptables -A INPUT -i ppp0 -d 10.0.0.0/8 -j DROP iptables -A INPUT -i ppp0 -d 172.16.0.0/12 -j DROP iptables -A INPUT -i ppp0 -d 192.168.0.0/16 -j DROP #22(SSH) OPEN iptables -A INPUT -p tcp --syn -m limit --limit 1/s --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT #23(TELNET) OPEN -> only eth0 Only iptables -A INPUT -i eth0 -p tcp --syn -m limit --limit 1/s --dport 23 -j ACCEPT iptables -A OUTPUT -p tcp --sport 23 -m state --state ESTABLISHED -j ACCEPT #139(Samba) OPEN -> eth0 Only iptables -A INPUT -i eth0 -p tcp --syn -m limit --limit 1/s --dport 139 -j ACCEPT iptables -A OUTPUT -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT #PROTECTED PING OF DEATH iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT #BROADCAST Packet DROP iptables -A INPUT -d 255.255.255.255 -j DROP #Connect Back Packet ACCEPT iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT #Default Policy iptables -P FORWARD ACCEPT # Fowarding echo "1" > /proc/sys/net/ipv4/ip_forward #IP MASQUERADE Configure iptables -A POSTROUTING -t nat -j MASQUERADE #Internet -> LAN(eth0) (Private IP address) DROP iptables -A FORWARD -i eth0 -d 10.0.0.0/8 -j DROP iptables -A FORWARD -i eth0 -d 172.16.0.0/12 -j DROP iptables -A FORWARD -i eth0 -d 192.168.0.0/16 -j DROP #DNAT Configure #ipbales -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2 #