iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:
在进行路由选择前处理数据包( PREROUTING )
处理流入的数据包( INPUT )
处理流出的数据包( OUTPUT )
处理转发的数据包( FORWARD )
在进行路由选择后处理数据包( POSTROUTING)。
这些匹配的流量,比如“允许”、“拒绝”、“登记”、“不理它”。这些动作对应到 iptables服务的术语中分别是
ACCEPT(允许流量通过)
REJECT(拒绝流量通过,有返回值)
LOG(记录日志信息)
DROP(拒绝流量通过,无响应)
iptables命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配。防火墙策略规则的匹配顺序是从上至下的,因此要把较为严格、优先级较高的策略 规则放到前面。
参数
-P 设置默认策略
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-s 匹配连源地址IP/MASK,加叹号"!"表示除这个IP外
-d 匹配目标地址
-i 网卡名称 匹配这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如TCP、UDP、ICMP
--dport num 匹配目标端口号
--sport num 匹配来源端口号
-j 匹配动作
保存规则:service iptables save
注:
1、规则链的默认拒绝动作只能是DROP,不能是REJECT
2、一定要把允许动作放到拒绝动作前面
例:
禁止192.168.0.0/24网段访问本机22端口
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dprot 22 -j REJECT