iptables备忘




默认的5种规则链
1) INPUT:处理入站数据包
2) OUTPUT:处理出站数据包
3) FORWARD:处理转发数据包
4) POSTROUTING:在进行路由选择后处理数据包
5) PREROUTING:在进行路由选择前处理数据包

根据数据流的方向,规则链间的匹配顺序
1) 入站数据:PREROUTING、INPUT
2) 出站数据:OUTPUT、POSTROUTING
3) 转发数据:PREROUTING、FORWARD、POSTROUTING

表(tables)提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。规则表间的优先顺序依次为:raw、mangle、nat、filter。
1) filter表:一般的过滤功能。
2) nat表:用于nat功能(端口映射,地址映射等)。
3) mangle表:用于对特定数据包的修改。
4) raw表:优先级最高,主要用于决定数据包是否被状态跟踪机制处理,提高性能。

常见的目标动作
1) ACCEPT:放行数据包
2) DROP:丢弃数据包
3) REJECT:拒绝数据包,并返回一个错误提示
4) LOG:将符合规则的数据包的信息记录在日志中,并传递给下一条规则处理
5) 用户自定义链名:传递给自定义链内的规则进行处理
6) SNAT:修改数据包的源地址
7) DNAT:修改数据包的目标地址
8) MASQUERADE:修改数据包的源地址为外网动态获取的IP
9) REDIRECT:重定向数据包


iptables命令的语法
iptables的命令语法格式比较复杂,命令选项非常多,而且大小写严格区分。表名使用小写,链名使用大写,目标动作使用大写。
  

     iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]

注意事项
1) 不指定表名时,默认表示filter表
2) 不指定链名时,默认表示该表内所有链
3) 除非设置规则链的缺省策略,否则需要指定匹配条件


举几个小例子:

iptables -t raw -nL        
iptables -t mangle -nL   
       
iptables -t nat -nL      
       
iptables -t filter -nL   

iptables -nL

iptables -t filter -nL --line-number

iptables -t filter -A INPUT -s 192.168.10.111 -p icmp -j DROP

iptables -t filter -D INPUT 1        

iptables -t filter -I INPUT -s 192.168.10.111 -p icmp -j REJECT      //iptables规则是自上而下的顺序处理的!

iptables -t nat -A POSTROUTING -s 10.10.24.0/24 -p udp --dport 53 -o eth0 -j SNAT --to-source 192.168.10.112

iptables -t nat -I PREROUTING -p udp -s 10.10.24 .0/24 --dport 53 -j DNAT --to-destination 192.168.10.112

iptables -t nat -A POSTROUTING -s 10.10.24.0/24 -p tcp --dport 80 -j SNAT --to-source 192.168.10.112

iptables -t nat -nL --line-number -v

iptables -t filter -A INPUT -s 192.168.10.112 -p tcp --dport 22 -j LOG 


iptables -t filter -A INPUT -p icmp -j REJECT --reject-with icmp-host-unreachable

iptables -I INPUT 2 -s 10.1.1.0/24 -p tcp -m state --state NEW,ESTABLISHED,RELATED  -j  ACCEPT

iptables -s 10.1.1.10 -p icmp -m limit 10/minute --limit-burst 15 -j ACCEPT

iptables -A INPUT -p tcp --tcp-flags SYN,FIN,ACK  SYN -m limit --limit 2/minute --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,FIN,ACK  SYN  -j DROP

//实现每分钟允许2个新连接,最多不超过3个的方法有: ( Did it! )

iptables -I INPUT 1 -p tcp --tcp-flags SYN,FIN,ACK  SYN -m limit --limit 2/minute --limit-burst 3 -j ACCEPT
iptables -I INPUT 2 -p tcp --tcp-flags SYN,FIN,ACK  SYN  -j DROP

//另外一种写法
iptables -A INPUT  -p tcp --syn --dport 80 -m connlimit --connlimit-above 3 -j DROP


iptables -A INPUT -m -time --timestart 9:00 --timestop 18:00 --weekdays Fr --monthdays 22,23,24,25

//防洪水攻击
iptables -I FORWARD 1 -p tcp --syn -m limit --limit 1/s -j ACCEPT

//客户机访问 web服务器,如果需要记录日志的话,当然需要在web服务器上面进行日志记录
iptables -I INPUT -p tcp --dport 80 -j LOG --log-tcp-options --log-tcp-sequence
//如果需要在NAT 转发上面设置 IPTABLES日志,需要在 FORWARD链上面添加日志记录的规则!
。。。。。。

。。。还有很多~~

想更好滴研究 iptables! 可以看 linux防火墙 这本书喔!



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值