# 從 LAN 進入防火牆主機的 DHCP 封包,予以允許存取,只有當防火牆擔任 DHCP 時才使用
#$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT
# 從 WAN 進入防火牆主機的所有封包,檢查是否為響應封包,若是則予以允許存取
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
# 限制過濾規則的比對頻率為每分鐘平均流量三個封包(超過上限的封包將暫停比對),並將瞬間流量設定為一次最多處理三個封包(超過上限的封包將丟棄不予處理),這類封包通常是駭客用來進行阻斷式攻擊
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level INFO --log-prefix "IPT INPUT packet died: "
#
# 4.1.5 FORWARD chain(過濾要通過防火牆的封包)
#
#
# 通過防火牆的 TCP 封包必須先進行 bad_tcp_packets 過濾
$IPTABLES -A FORWARD -p TCP -j bad_tcp_packets
# 從 LAN 要到 WAN 的封包通通允許存取
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -j ACCEPT
# 從 WAN 要到 LAN 的封包僅允許存取回應封包
$IPTABLES -A FORWARD -i $INET_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允許來自 WAN 的 Ping 封包,遞送到校內所有的伺服器
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP1_IP -j icmp_packets
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP2_IP -j icmp_packets
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP3_IP -j icmp_packets
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP4_IP -j icmp_packets
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP5_IP -j icmp_packets
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP6_IP -j icmp_packets
# 允許來自 WAN 的 HTTP、HTTPS 封包,遞送到校內所有的 WEB 伺服器
$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP1_IP -m multiport --dport $HTTP,$HTTPS -j allowed
$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $LAN_IFACE -d $LAN_HTTP2_IP -m multiport --dport $HTTP,$HTTPS -j allowed