使用iptables建置Linux 防火墙(3)

80酷酷网    80kuku.com

  

  # 从 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



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: