centos7 firewall防火墙操作
1:防火墙:centos7中firewalld是默认的防火墙,而不再是iptables。 防火墙firewall工具:
防火墙firewall工具:
(1):firewall-config 图形化工具(操作方便)
(2):firewall-cmd 命令工具(通过命令进行管理相比与iptables简化方便)
防火墙类型:firewalld、ipatbles、ebtables等。
拥有运行时配置和永久配置选项,支持直接添加防火墙规则。
2:firewalld的原则:一个原地址只能匹配一个区域。
匹配顺序:1、所经过的网卡接口。
2、原地址,原区域。
3、使用默认。
3:有效的区域。
1:丢弃区域Drop:任何进入的数据包将被丢弃。
2:阻塞区域Block:拒绝进入的网络连接,只有服务器已建立的连接会被通过。
3:公共区域Public:只接受那些被选中的连接,默认ssh和dhcpv6-client。
4:外部区域External:相当于路由器启用伪装,指定连接被接受。
5:隔离区域DMZ:只允许部分服务被外部访问。
6:信任区域Trusted:允许所有网络通过。
4:firewall-cmd基本命令。
1:查看状态:firewall-cmd--statc
2:重新加载:firewall-cmd--rcload
3:获取区域列表:firewall-cmd --get-zones
4:获取支持服务:firewall-cm--get-services
5:获取支持ICMP类型:firewall-cmd --get-icmptypes
6:列出全部启用区域:firewall-cmd -list-all-zones
7:查看指定区域:firewall-cmd --zone=[区域名称] --list-all
8:查看默认区域:firewall-cmd --get-default-zone
9:设置默认区域:firewall-cmd --set-default-zone=[区域名]
10:查看活动区域:firewall-cmd--get-active-zones
11:查看接口绑定某个区域:firewall-cmd --get-zone-of-ineterface
12:将接口添加到区域:firewall-cmd [--zone=区域名] --add-interface=接口名
13:修改接口区域: firewall-cmd [--zone=区域名] --change-interface=接口名
14:从区域删除一个接口: firewall-cmd [--zone=区域名] --remove-interface=接口名
15:查看区域中是否包含接口: firewall-cmd [--zone] --qurey-interace=接口名
16:查看区域中启动服务:firewall-cmd [--zone区域名] --change-interface=接口名
17:启用应急模式:firewall-cmd --panic-on
18:禁用应急模式:firewall-cmd --panic-off
19:查询应急模式:firewall-cmd --query-panic
20:查询区域中启用的服务:firewall-cmd --list-services
如果区域被忽略,可以使用默认区域:firewall-cmd --list-services --zone=home
5:处理运行区域:重新加载失效。
1:给某个区域开启某个服务[可以设置秒数]:firewall-cmd --zone=区域名 --add-service=服务 --timeout=秒数 (秒数可选添加)
2:关闭区域某个服务: firewall-cmd --zone=区域 --remove-service=服务
3:查看区域是否启用服务: firewall-cmd --zone=区域名 --query-service=服务名
4:启用区域端口或协议组合:firewall-cmd --zone=区域名 --add-port=端口号/协议
查看区域内的端口号:firewall-cmd --zone=区域名 --list-all
5:禁用端口和协议: firewall-cmd zone=区域名 --remove-port=端口号/协议
6:查看区域是否启用端口和协议:firewall-cmd --zone=区域 --query-port=端口号/协 议
7:启用区域中IP伪装:firewall-cmd --zone=区域 --add-masquerade
8:禁止区域IP伪装:firewall-cmd --zone=区域 --remove-masquerade
9:查看区域伪装状态:firewall-cmd --zone=区域 --query-masquerade
10:启用区域的ICMP阻塞功能:firewall-cmd --zone=区域 --add-icmp-block=icmp类型
11:禁止ICMP:firewall-cmd --zone=区域 --remove-icmp-block=icmp类型
12:查看ICMP:firewall-cmd --zone=区域 --quert-icmp-block=icmp类型
6:处理永久区域:
1:获取永久选项所以支持服务:。firewall-cmd --permanent --get-services
2:支持的ICMP服务: firewall-cmd --permanent --get-icmptypes。
3:支持的永久区域:firewall-cmd --permanent --get-zones。
4:配置防火墙在public区域打开http协议,并保存重启生效
firewall-cmd --permanent --zone=public --add -service=http
查看永久模式下public区域是否打开http服务
firewall-cmd --permanent --zone=public --query-service=http
5:开放8080端口在public区域:
firewall-cmd --permanent --zone=public --add-port=8080/tcp
6:配置富规则:
查看富规则:firewall-cmd --list-rich-rules
创建富规则:firewall-cmd --add-rich-rule 'rule family=ipv4 source address=地址/子网掩码 service name=ftp log prefix="ftp" level=info accept ' --permanent
firewall-cmd --add-rich-rule 'rule family=ipv4 source address=地址/子网掩码port port=80 protocol=tcp log prefix="80" level=info accept ' --permanent
firewall-cmd --add-rich-rule 'rule family=ipv4 source address=地址/子网掩码 forward-port port="8080" protocol='tcp' to-port="80" to-addr="地址"
富规则中使用伪装功能可以更精确详细的限制
firewall-cmd --add-rich-rule 'rule family=ipv4 source address=地址/子网掩码 masquerade'
7:删除rich规则:firewall-cmd --permanent --zone=public --remove-rich-rule='rule family=ipv4 source address=地址/子网掩码 source name=服务 reject'
8:劲允许部分IP访问::firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="地址/子网掩码" port portocol="协议" port="端口号" accept"
9:创建rich:firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source adress="地址/子网掩码" port port=端口号 protocol="协议" log prefix=proxy level=wraning accept"
可以通过/var/log/messages查看日志文件