Linux防火墙iptables策略与规则连
防火墙是由上而下的顺序来读取配置的策略规则,策略规则的设置有两种:通(放行)、堵(阻止)。当默认策略设置为通时,就要设置拒绝规则,当默认策略为堵时,则要设置允许规则。
iptables服务把用于处理或过滤流量的策略条目称为规则,多条规则组成一个规则链,规则连依据数据包处理位置的不同进行分类
在进行路由选择前处理数据包:PREROUTING
处理流入的数据包:INPUT(此规则使用最多,可增加外网入侵的难度)
处理流出的数据包:OUTPUT
处理转发的数据包:FORWARD
在进行路由选择后处理数据包:POSTROUTING
对应的动作,ACCEPT(允许流量通过)、REJECT(j拒绝流量通过)、LOG(记录日志信息)、DROP(丢弃,不响应,发送方无法判断是被拒绝),规则链的默认拒接动作只能是DROP
iptables常用参数
-P(大写):设置默认规则
-F:清空规则链
-L:查看规则链
-A:在规则连末尾加入新规则
-I:在规则链头部加入新规则
-D num:删除某一条规则
-j:匹配相对应的动作
-s:匹配来源地址IP/MASK,加" ! "表示除这个IP外
-d:匹配目标地址
-i 网卡名称:匹配从这块网卡流入的数据
-o 网卡名称:匹配从这块网卡流入的数据
-p:匹配协议,如TCP、UDP、ICMP
--dport num:匹配目标端口号
--sport num:匹配来源端口号
iptables用法示例(均以INPUT链做示范)
1.查看规则链( iptables -L)
2.清除规则链( iptables -F),再查看规则链,与上图对比可见规则都被删除,只有默认策略
3.设置默认策略( iptables -P),设置INPUT的默认策略为DROP,之前的是ACCEPT
3.向INPUT链中添加允许ICMP流量进入策略,ICMP流量和ping命令行为检测有关,因当前默认策略为DROP,在添加前先使用ping检测下是否可以ping通
可见100%packet loss,无法ping通本机,再添加允许ICMP流量流入策略,查看策略,再ping,0%packet loss ,已ping 通本机
iptables -I INPUT -p icmp -j ACCEPT
4.允许指定网段访问本机的22端口,192.168.1.0/24,22端口与SSH服务有关,测试方法参照SSH使用方法
5.允许所有主机访问本机的1000~1100端口
6.删除策略( iptables -d num),删除第二、四条策略
可见第二条策略已不见
可见第四条也不见了
7.使配置防火墙策略永久生效,执行保存命令,不然的话重启后会失效
service iptables save