iptables防火墙
防火墙概述:什么是防火墙?
防火墙是一道保护性的安全屏障。做到保护,隔离的作用
RHEL7默认使用的是firewalld作为防火墙,但firewalld底层还是调用iptables防火墙
iptables防火墙软件包名:iptables-services firewalld软件包名:firewalld-services
iptables的表链结构
iptables防火墙具有4表5链,4表分别是filter表、nat表、raw表、mangle表,5链分别是INPUT链、OUTPUT链、FORWARD链、PREROUTING链、POSTROUTING链。防火墙规则要求写在特定表的特定链中
iptables基本管理
1,关闭firewalld服务器
-
[root@proxy ~]systemctl stop firewalld.service [root@proxy ~]systemctl disable firewalld.service
iptables框架(四表五链)
nat表(地址转换表)、filter表(数据过滤表)、raw表(状态跟踪表)、mangle表(包标记表)
iptables的5个链(区分大小写):
INPUT链(入站规则)
OUTPUT链(出站规则)
FORWARD链(转发规则)
PREROUTING链(路由前规则)
POSTROUTING链(路由后规则)
iptables命令的基本用法
iptabels语法格式
[root@proxy ~]# iptables [-t 表名] 选项 [链名] [条件] [-j 目标操作]
[root@proxy ~]# iptables -t filter -I INPUT -p icmp -j REJECT
[root@proxy ~]# iptables -F #清空所有规则
[root@proxy ~]# iptables -t filter -I INPUT -p icmp -j ACCEPT
[root@proxy ~]# iptables -I INPUT -p icmp -j REJECT
注意事项与规律:
- 可以不指定表,默认为filter表
- 可以不指定链,默认为对应表的所有链
- 按顺序匹配,匹配即停止,如果没有找到匹配条件,则执行防火墙默认规则
- 选项/链名/目标操作用大写字母,其余都小写
目标操作: - ACCEPT:允许通过/放行
- DROP:直接丢弃,不给出任何回应
- REJECT:拒绝通过,必要时会给出提示
- LOG:记录日志,然后传给下一条规则
iptables常用选项
iptables命令的使用案例
创建规则
[root@proxy ~]# iptables -F #清空所有规则
[root@proxy ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT
#追加规则至filter表中的INPUT链的末尾,允许任何人使用TCP协议访问本机
[root@proxy ~]# iptables -I INPUT -p udp -j ACCEPT
#插入规则至filter表中的INPUT链的开头,允许任何人使用UDP协议访问本机
[root@proxy ~]# iptables -I INPUT 2 -p icmp -j ACCEPT
#插入规则至filter表中的INPUT链的第2行,允许任何人使用ICMP协议访问本机
查看iptables防火墙规则
[root@proxy ~]# iptables -nL INPUT #仅查看INPUT链的规则
target prot opt source destination
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0
[root@proxy ~]# iptables