Linux学习十一
iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:
在进行路由选择前处理数据包(PREROUTING);
处理流入的数据包(INPUT);
处理流出的数据包(OUTPUT);
处理转发的数据包(FORWARD);
在进行路由选择后处理数据包(POSTROUTING)
iptables服务的术语中分别是
ACCEPT(允许流量通过)
REJECT(拒绝流量通过)
LOG(记录日志信息)
DROP(拒绝流量通过)
REJECT和DROP的不同点,就DROP来说,它是直接将流量丢弃而且不响应;REJECT则会在拒绝流量后再回复一条“信息已经收到,但是被扔掉了”信息,从而让流量发送方清晰地看到数据被拒绝的响应信息。
红帽考试中必须用REJECT进行拒绝,明确让判分脚本得到反应才有分值。而工作中更多建议用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 匹配来源端口号
在iptables命令后添加-L参数查看已有的防火墙规则链:
[root@linuxprobe ~]# iptables -L
在iptables命令后添加-F参数清空已有的防火墙规则链:
[root@linuxprobe ~]# iptables -F
把INPUT规则链的默认策略设置为拒绝:
[root@linuxprobe ~]# iptables -P INPUT DROP
向INPUT链中添加允许ICMP流量进入的策略规则:
在日常运维工作中,经常会使用ping命令来检查对方主机是否在线,而向防火墙的INPUT规则链中添加一条允许ICMP流量进入的策略规则就默认允许了这种ping命令检测行为。
[root@linuxprobe ~]# iptables -I INPUT -p icmp -j ACCEPT
删除INPUT规则链中刚刚加入的那条策略(允许ICMP流量),并把默认策略设置为允许。
使用-F会清空已有的所有防火墙策略,使用-D参数可以指定删除某一条策略,更加安全和准确。
[root@linuxprobe ~]# iptables -D INPUT 1
将INP