linux防火墙管理工具之iptables
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