linux防火墙的策略规则
介绍:
防火墙默认有四表五链
四表:(表的优先级:raw > mangle > nat > filter )
1.Raw表——两个链:PREROUTING、OUTPUT
作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw
2.Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle
3.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
4.filter表——三个链:INPUT、OUTPUT、FORWARD
作用:过滤数据包,定义拒绝或者允许 内核模块:iptables_filter
五链:(默认的,不能删除,但能清除里面的规则)
1.INPUT——进来的数据包应用此规则链中的策略
2.OUTPUT——外出的数据包应用此规则链中的策略
3.FORWARD——转发数据包时应用此规则链中的策略
4.PREROUTING——对数据包作路由选择前应用此链中的规则
5.POSTROUTING——对数据包作路由选择后应用此链中的规则
一、开始对防火墙配置时:
iptables -X(清除所有自定义规则链)
iptables -F(清除所有规则)
iptables -L(列出所有[加n 以数字形式显示IP])
二、编写规则:
iptables -I (插入规则) 规则链名 优先级
iptables -A (增加规则,默认是) 规则链名
iptables -D (删除规则) 规则链名 序号
iptables -N (自定义规则链名)
iptables -P (默认) 规则链名 DROP(拒绝)或者ACCEPT(允许) PS:建议除紧急情况外,最后配置
-p (协议)
--sport(源端口)
--dport(目的端口)
-s (源地址)
-d(目的地址)
-i(入网卡)
-o(出网卡)
-m(扩展)
1、state --state RELATED,ESTABLISHED //用状态检测,因回来的数据没能转发。 2、limit --limit 5/m --limit-burst 10//10个通行证,每分钟增加5个 3、connlimit --connlimit-above 1 //每个IP地址只允许1个连接
-j (行为)
ACCEPT(接受)
DROP(停止)
DNAT(目的地址转发)一般在PREROUTING链中
SNAT(源地址转发) 一般在POSTROUTING链中
规则链名(加入这条规则链)
MASQUSERADE(地址伪装)
--to-destination(目标地址)
-t nat (选择nat表,一般地址映射用到)
--line-number (显示序号)
例子:
1)linux系统作为服务器和防火墙时:
1.允许外界能访问我的80端口httpd服务:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT tcp协议目的端口80在入站规则通过
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT tcp协议源端口80在出站规则通过
也可以自定义规则链:
iptables -N httpd-in //自定义规则名为httpd-in
iptalbes -A INPUT -j httpd-in //把httpd-in规则链加入到INPUT链
iptables -A httpd-in -p tcp --dport 80 -j ACCEPT tcp协议目的端口80在httpd-in链通过
iptables -N httpd-out //自定义规则名为httpd-out
iptalbes -A OUTPUT -j httpd-out //把httpd-out规则链加入到OUTPUT链
iptables -A httpd-out -p tcp --sport 80 -j ACCEPT tcp协议源端口80在httpd-out链通过
介绍:
防火墙默认有四表五链
四表:(表的优先级:raw > mangle > nat > filter )
1.Raw表——两个链:PREROUTING、OUTPUT
作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw
2.Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle
3.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
4.filter表——三个链:INPUT、OUTPUT、FORWARD
作用:过滤数据包,定义拒绝或者允许 内核模块:iptables_filter 无奈人生安全网
五链:(默认的,不能删除,但能清除里面的规则)
1.INPUT——进来的数据包应用此规则链中的策略
2.OUTPUT——外出的数据包应用此规则链中的策略
3.FORWARD——转发数据包时应用此规则链中的策略
4.PREROUTING——对数据包作路由选择前应用此链中的规则
5.POSTROUTING——对数据包作路由选择后应用此链中的规则 无奈人生安全网
一、开始对防火墙配置时:
iptables -X(清除所有自定义规则链)
iptables -F(清除所有规则)
iptables -L(列出所有[加n 以数字形式显示IP])
二、编写规则:
iptables -I (插入规则) 规则链名 优先级
iptables -A (增加规则,默认是) 规则链名
iptables -D (删除规则) 规则链名 序号
iptables -N (自定义规则链名)
iptables -P (默认) 规则链名 DROP(拒绝)或者ACCEPT(允许) PS:建议除紧急情况外,最后配置
-p (协议)
--sport(源端口)
--dport(目的端口)
-s (源地址)
-d(目的地址)
-i(入网卡)
-o(出网卡)
-m(扩展)
内容来自无奈安全网
1、state --state RELATED,ESTABLISHED //用状态检测,因回来的数据没能转发。 2、limit --limit 5/m --limit-burst 10//10个通行证,每分钟增加5个 3、connlimit --connlimit-above 1 //每个IP地址只允许1个连接
-j (行为)
ACCEPT(接受)
DROP(停止)
DNAT(目的地址转发)一般在PREROUTING链中
SNAT(源地址转发) 一般在POSTROUTING链中
规则链名(加入这条规则链)
MASQUSERADE(地址伪装)
--to-destination(目标地址)
-t nat (选择nat表,一般地址映射用到)
--line-number (显示序号)
例子: 内容来自无奈安全网
1)linux系统作为服务器和防火墙时:
1.允许外界能访问我的80端口httpd服务:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT tcp协议目的端口80在入站规则通过
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT tcp协议源端口80在出站规则通过
也可以自定义规则链:
iptables -N httpd-in //自定义规则名为httpd-in
iptalbes -A INPUT -j httpd-in //把httpd-in规则链加入到INPUT链
iptables -A httpd-in -p tcp --dport 80 -j ACCEPT tcp协议目的端口80在httpd-in链通过
iptables -N httpd-out //自定义规则名为httpd-out
iptalbes -A OUTPUT -j httpd-out //把httpd-out规则链加入到OUTPUT链
iptables -A httpd-out -p tcp --sport 80 -j ACCEPT tcp协议源端口80在httpd-out链通过
本文来自无奈人生安全网
copyright 无奈人生