iptablesを用いたNAPTルータの最低限の設定
公開日: | |
---|---|
最終更新日: |
YAMAHAルータ“RTA54i”の設定例を参考に,Linux/UnixなマシンをNAPTルータ(家庭用ブロードバンドルータはこれに該当する)として動作させる場合の最低限のスクリプトを作成した.
#!/bin/sh WANIF=eth0 LANIF=eth1 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP iptables -F iptables -X iptables -F -t nat iptables -X -t nat iptables -F -t mangle iptables -X -t mangle sysctl -w net.ipv4.ip_forward=1 iptables -A POSTROUTING -t nat -o $WANIF -j MASQUERADE iptables -A POSTROUTING -t mangle -o $WANIF -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu iptables -N INGRESS_s iptables -N INGRESS_d iptables -A INGRESS_s -s 10.0.0.0/8 -j DROP iptables -A INGRESS_d -d 10.0.0.0/8 -j REJECT --reject-with icmp-net-unreachable iptables -A INGRESS_s -s 172.16.0.0/12 -j DROP iptables -A INGRESS_d -d 172.16.0.0/12 -j REJECT --reject-with icmp-net-unreachable iptables -A INGRESS_s -s 192.168.0.0/16 -j DROP iptables -A INGRESS_d -d 192.168.0.0/16 -j REJECT --reject-with icmp-net-unreachable iptables -A INPUT -i $WANIF -j INGRESS_s iptables -A FORWARD -i $WANIF -j INGRESS_s iptables -A FORWARD -o $WANIF -j INGRESS_d iptables -A OUTPUT -o $WANIF -j INGRESS_d iptables -N Windows_i iptables -N Windows_o iptables -A Windows_i -p tcp -m multiport --sport 135,137,138,139,445 -j DROP iptables -A Windows_o -p tcp -m multiport --sport 135,137,138,139,445 -j REJECT iptables -A Windows_i -p udp -m multiport --sport 135,137,138,139,445 -j DROP iptables -A Windows_o -p udp -m multiport --sport 135,137,138,139,445 -j REJECT iptables -A Windows_i -p tcp -m multiport --dport 135,137,138,139,445 -j DROP iptables -A Windows_o -p tcp -m multiport --dport 135,137,138,139,445 -j REJECT iptables -A Windows_i -p udp -m multiport --dport 135,137,138,139,445 -j DROP iptables -A Windows_o -p udp -m multiport --dport 135,137,138,139,445 -j REJECT iptables -A INPUT -i $WANIF -j Windows_i iptables -A FORWARD -i $WANIF -j Windows_i iptables -A FORWARD -o $WANIF -j Windows_o iptables -A OUTPUT -o $WANIF -j Windows_o iptables -A INPUT -i $WANIF -p tcp --dport 113 -j REJECT --reject-with tcp-reset iptables -N icmp-error iptables -A icmp-error -p icmp --icmp-type 3 -j ACCEPT iptables -A icmp-error -p icmp --icmp-type 4 -j ACCEPT iptables -A icmp-error -p icmp --icmp-type 5 -j ACCEPT iptables -A icmp-error -p icmp --icmp-type 11 -j ACCEPT iptables -A icmp-error -p icmp --icmp-type 12 -j ACCEPT iptables -A icmp-error -p icmp --icmp-type 31 -j ACCEPT iptables -A icmp-error -p icmp --icmp-type 32 -j ACCEPT iptables -A INPUT -i $WANIF -j icmp-error iptables -A FORWARD -i $WANIF -j icmp-error iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i $LANIF -j ACCEPT iptables -A FORWARD -i $LANIF -j ACCEPT exit 0
3, 4行目
WAN側とLAN側のインタフェースをそれぞれ指定している.
環境に応じて適宜変更する.