iptables 防火墙命令解析

防火墙iptables有三个要素:表,链,规则。

五个链: INPUT OUTPUT FORWARD PEROUTING POSTROUTING

四个表: raw mangle nat filter(优先级:raw --> mangle --> nat --> filter)


以下内置链可以满足对iptables的基本配置:

INPUT:进来的数据包应用此规则链中的策略;

OUTPUT:外出的数据包应用此规则链中的策略;

FORWARD:转发数据包时应用此规则链中的策略;

PREROUTING:对数据包作路由选择前应用此链中的规则;

POSTROUTING:对数据包作路由选择后应用此链中的规则;


链上规则写入次序就是检查的次序,匹配到相应的规则后,就不再继续向下匹配,因此隐含一定的法则:

1)同类规则(访问同一应用),匹配范围小的放上面;

2)不同类规则(访问不同应用),匹配到频率较大的放上面;

3)设置默认策略:白名单、黑名单;


iptables命令控制

-A  在指定链的末尾添加(append)一条新的规则
-D  删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I  在指定链中插入(insert)一条新的规则,默认在第一行添加
-R  修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L  列出(list)指定链中所有的规则进行查看
-E  重命名用户定义的链,不改变链本身
-F  清空(flush)
-N  新建(new-chain)一条用户自己定义的规则链
-X  删除指定表中用户自定义的规则链(delete-chain)
-P  设置指定链的默认策略(policy)
-Z 将所有表的所有链的字节和数据包计数器清零
-n  使用数字形式(numeric)显示输出结果
-v  查看规则表详细信息(verbose)的信息
-V  查看版本(version)
-h  获取帮助(help)


iptables的常见处理方式:

ACCEPT:放行

DROP    :拒绝

QUEUE  :传递给应用层

REJECT :和DROP类似,只是REJECT还返回一个错误包消息

REDIRECT:在nat表PREROUTING链中使用,修改数据包为本机地址和用户指定的端口。

TPROXY:在mangle表的PREROUTING链中使用,不修改数据包包头,直接把数据传递给一个本地socket。


 iptables的基本语法:

iptables [-t 表名]  命令选项 [链名][条件匹配][-j 目标动作]


 iptables常用的策略:

1.拒绝进入防火墙的所有ICMP协议数据包
iptables -I INPUT -p icmp -j REJECT

2.允许防火墙转发除ICMP协议以外的所有数据包
iptables -A FORWARD -p ! icmp -j ACCEPT

3.允许本机开放从TCP端口20-1024提供的应用服务
iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT

4.允许本机开放从TCP端口20-1024提供的应用服务

iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT

5.禁止转发来自MAC地址为00:0C:29:27:55:3F的和主机的数据包
iptables -A FORWARD -m mac --mac-source 00:0c:29:27:55:3F -j DROP

6.设置防火墙允许本机对外开放TCP端口21以及被动模式FTP端口1250-1280

iptables -A INPUT -p tcp -m multiport –dport 21,1250:1280 -j ACCEPT

7.禁止转发与正常TCP连接无关的非—syn请求数据包。

iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP

8.允许转发来自192.168.0.0/24局域网段的DNS解析请求数据包。

iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT

9.禁止其他主机ping防火墙主机,但是允许从防火墙上ping其他主机

iptables -I INPUT -p icmp --icmp-type Echo-Request -j DROP
iptables -I INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT
iptables -I INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT

10.只开放本机的web服务(80)、FTP(20、21、20450-20480),放行外部主机发住服务器其它端口的应答数据包,将其他入站数据包均予以丢弃处理。

iptables -I INPUT -p tcp -m multiport --dport 20,21,80 -j ACCEPT
iptables -I INPUT -p tcp --dport 20450:20480 -j ACCEPT
iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -P INPUT DROP

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值