iptables的过滤规则
创始人
2024-07-23 06:00:50
0

iptables过滤规则:

  # 过滤表规则

  1.   *filter  
  2.  

  # 默认彻略

  1.   :FORWARD DROP [ ]  
  2.  
  3.   :INPUT DROP [ ]  
  4.  
  5.   :OUTPUT ACCEPT [ ]  
  6.  

  # 定义新链

  1.   -N ICMP_FORWARD  
  2.  
  3.   -N TCP_FORWARD  
  4.  
  5.   -N UDP_FORWARD  
  6.  
  7.   -N ICMP_INPUT  
  8.  
  9.   -N TCP_INPUT  
  10.  
  11.   -N UDP_INPUT  
  12.  
  13.   # Fix a bug  
  14.  
  15.   -A OUTPUT -p icmp -m state --state INVALID -j DROP  
  16.  

  # 以下是FORWARD链的规则

  # 若是ICMP协议则跳到 ICMP_FORWARD

  1.   -A FORWARD -p icmp -j ICMP_FORWARD  
  2.  

  # 若是TCP协议则跳到 TCP_FORWARD

  1.   -A FORWARD -p tcp -j TCP_FORWARD  
  2.  

  # 若是UDP协议则跳到 UDP_FORWARD

  1.   -A FORWARD -p udp -j UDP_FORWARD  
  2.  

  # 允许碎片通过的速率200个/s,从200开始计数

  1.   -A FORWARD -f -m limit --limit 200/s --limit-burst 200 -j ACCEPT  
  2.  

  # 不匹配FORWARD链的所有规则,丢弃数据包,结束FORWARD链

  1.   -A FORWARD -j DROP  
  2.  

  # 以下是FORWARD链中针对ICMP协议的规则

  # 从内网到外网的放行

  1.   -A ICMP_FORWARD -p icmp -s 192.168.0.0/24 -i eth0 -o ppp+ -j ACCEPT  
  2.  

  # 从外网进来的回应包放行

  1.   -A ICMP_FORWARD -p icmp -m state --state ESTABLISHED,RELATED -i ppp+ -j ACCEPT  
  2.  

  # 丢弃所有不匹配的ICMP数据包,结束FORWARD链

  1.   -A ICMP_FORWARD -p icmp -j DROP  
  2.  

  # 以下是FORWARD链中针对TCP协议的规则

  # 允许内网1024以上的端口连接外网

  1.   -A TCP_FORWARD -p tcp -s 192.168.0.0/24 -m tcp --sport 1024: -i eth0 -o ppp+ -j ACCEPT  
  2.  

  # 允许内网进行主动式的FTP

  1.   -A TCP_FORWARD -p tcp -m tcp --sport 21 --dport 1024: -m state --state ESTABLISHED -i ppp+ -j ACCEPT  
  2.  
  3.   -A TCP_FORWARD -p tcp -m tcp --sport 20 --dport 1024: -m state --state ESTABLISHED,RELATED -i ppp+ -j ACCEPT  
  4.  

  # 允许外网进来的回应包通过

  1.   -A TCP_FORWARD -p tcp -m state --state ESTABLISHED -m tcp --dport 1024: -i ppp+ -j ACCEPT  
  2.  

  # 丢弃所有不匹配的TCP数据包,结束FORWARD链

  1.   -A TCP_FORWARD -p tcp -j DROP  
  2.  

  # 以下是FORWARD链中针对UDP协议的规则

  # 允许内网1024以上的端口连接外网

  1.   -A UDP_FORWARD -p udp -s 192.168.0.0/24 -m udp --sport 1024: -i eth0 -o ppp+ -j ACCEPT  
  2.  

  # 允许外网中指明的DNS服务器进行域名解析

  1.   -A UDP_FORWARD -p udp -s 202.96.96.68 -m udp --sport 53 --dport 1024: -i ppp+ -j ACCEPT  
  2.  
  3.   -A UDP_FORWARD -p udp -s 202.96.*.* -m udp --sport 53 --dport 1024: -i ppp+ -j ACCEPT  
  4.  

  # 开放IRC OICQ 端口

  1.   -A UDP_FORWARD -p udp -m multiport --source-port 4000,8000 -m udp --dport 1024: -i ppp+ -j ACCEPT  
  2.  

  # 允许从外网进来的UDP回应包通行

  1.   -A UDP_FORWARD -p udp -m state --state ESTABLISHED,RELATED -m udp --dport 1024: -i ppp+ -j ACCEPT  
  2.  

  # 丢弃所有不匹配的UDP数据包,结束FORWARD链

  1.   -A UDP_FORWARD -p udp -j DROP  
  2.  

  # 以下开始是对网关服务器的匹配规则

  # 允许数据包进入本地回环接口

  1.   -A INPUT -p all -i lo -j ACCEPT  
  2.  

  # 若是ICMP协议则跳到ICMP_INPUT进行规则匹配

  1.   -A INPUT -p icmp -j ICMP_INPUT  
  2.  

  # 若是TCP协议则跳到TCP_INPUT进行规则匹配

  1.   -A INPUT -p tcp -j TCP_INPUT  
  2.  

  # 若是UDP协议则跳到UDP_INPUT进行规则匹配

  1.   -A INPUT -p udp -j UDP_INPUT

     

  # 允许碎片通过的速率200个/s,从200开始计数

  1.   -A INPUT -f -m limit --limit 200/s --limit-burst 200 -j ACCEPT  
  2.  

  # 不匹配INPUT链的所有规则,丢弃数据包,结束INPUT链

  1.   -A INPUT -j DROP  
  2.  

  # 以下是INPUT链中针对ICMP协议的规则

  # 允许从内网来的ICMP数据包

  1.   -A ICMP_INPUT -p icmp -i eth0 -j ACCEPT  
  2.  

  # 允许从外网来的ICMP回应包通行

  1.   -A ICMP_INPUT -p icmp -m state --state ESTABLISHED,RELATED -i ppp+ -j ACCEPT  
  2.  

  # 丢弃所有不匹配的ICMP数据包,结束INPUT链

  1.   -A ICMP_INPUT -p icmp -j DROP  
  2.  

  # 以下是INPUT链中针对TCP协议的规则

  # 对内网机器提供 http https 网上邻居 透明代理服务

  1.   -A TCP_INPUT -p tcp -s 192.168.0.0/24 -m multiport --destination-port 80,443,137,138,139,8080 -i eth0 -j ACCEPT  
  2.  

  # 允许服务器以主动方式连接外网的FTP服务器

  1.   -A TCP_INPUT -p tcp -m tcp --sport 21 --dport 1024: -m state --state ESTABLISHED -i ppp+ -j ACCEPT  
  2.  
  3.   -A TCP_INPUT -p tcp -m tcp --sport 20 --dport 1024: -m state --state ESTABLISHED,RELATED -i ppp+ -j ACCEPT  
  4.  

  # 提供 ssh smtp pop3 http https 服务

  1.   -A TCP_INPUT -p tcp -m multiport --destination-port 22,25,110,80,443 -j ACCEPT  
  2.  

  # 拒绝外网主动连接本服务器

  1.   -A TCP_INPUT -p tcp -m tcp --syn -i ppp+ -j DROP  
  2.  

  # 允许进来的回应包通过

  1.   -A TCP_INPUT -p tcp -m state --state ESTABLISHED -m tcp --dport 1024: -j ACCEPT  
  2.  

  # 丢弃所有不匹配的TCP数据包,结束INPUT链

  1.   -A TCP_INPUT -p tcp -j DROP  
  2.  

  # 以下是INPUT链中针对UDP协议的规则

  # 允许外网中指明的DNS服务器进行域名解析

  1.   -A UDP_INPUT -p udp -s 202.96.96.68 -m udp --sport 53 --dport 1024: -i ppp+ -j ACCEPT  
  2.  
  3.   -A UDP_INPUT -p udp -s 202.96.*.* -m udp --sport 53 --dport 1024: -i ppp+ -j ACCEPT  
  4.  

  # 为内网的机器提供DNS和SAMBA服务

  1.   -A UDP_INPUT -p udp -s 192.168.0.0/24 -m multiport --destination-port 53,137,138,139 -i eth0 -j ACCEPT  
  2.  

  # 允许服务器作为samba client

  1.   -A UDP_INPUT -p udp -s 192.168.0.0/24 -m udp --sport 137:139 --dport 1024: -i eth0 -j ACCEPT  
  2.  

  # 允许进来的回应包通过

  1.   -A UDP_INPUT -p udp -m state --state ESTABLISHED,RELATED -m udp --dport 1024: -j ACCEPT  
  2.  

  # 为内网的机器提供DHCP服务

  1.   -A UDP_INPUT -p udp -m udp --sport 68 --dport 67 -i eth0 -j ACCEPT  
  2.  

  # 丢弃所有不匹配的UDP数据包,结束INPUT链

  1.   -A UDP_INPUT -p udp -j DROP  
  2.  
  3.   COMMIT  
  4.  

  # 路由表规则

  *nat

  # 默认彻略

  1.   :PREROUTING ACCEPT [ ]  
  2.  
  3.   :POSTROUTING ACCEPT [ ]  
  4.  
  5.   :OUTPUT ACCEPT [ ]  
  6.  

  # 为内网机器使用squid透明代理进行端口重定向

  1.   -A PREROUTING -i eth0 -p tcp -d ! 192.168.0.1 -m tcp --dport 80 -j REDIRECT --to-ports 8080  
  2.  

  # 对内网机器应用IP伪装

  1.   -A POSTROUTING -o ppp+ -j MASQUERADE  
  2.  
  3.   COMMIT  
  4.  

【编辑推荐】

netfilter/iptables系统的安装

如何用iptables实现NAT

iptables常用命令及参数

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...