您现在的位置是:首页> 操作系统> Linux
centos7 防火墙详解
- 3838人已阅读
- 时间:2018-12-03 12:37:39
- 分类:Linux
centos 7默认安装了firewall,而取消了iptables
firewall和iptables区别有如下两点:
firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。
firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
其它版本想要使用firewall可以用下面的命令安装
yum install firewalld firewall-config
基本命令介绍
systemctl start firewalld #启动防火墙 systemctl status firewalld #查看防火墙状态 or firewall-cmd --state systemctl stop firewalld #停止防火墙 systemctl disable firewalld #禁止开机启动防火墙
配置firewalld常用命令
firewall-cmd --version #查看版本 firewall-cmd --help #查看帮助 firewall-cmd --state #显示状态 firewall-cmd --get-zones #列出支持的zone firewall-cmd --get-active-zones #查看当前区域 firewall-cmd --set-default-zone=public #设置默认接口区域,立即生效无需重启 firewall-cmd --zone=public --add-interface=eth0 #将接口添加到区域,默认接口都在public firewall-cmd --zone=public --add-interface=eth0 --permanent #将接口添加到区域,永久生效 firewall-cmd --zone=public --list-ports #查看区域public打开的端口 firewall-cmd --list-ports #查看放行的端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent #永久添加8080端口 firewall-cmd --reload #更新防火墙规则 firewall-cmd --complete-reload #和上面的区别第一个无须断开连接,就是firewall的特性之一动态添加规则,第二个类似了重启服务 firewall-cmd --get-services #列出支持的服务。 firewall-cmd --list-services #显示当前放行的服务. firewall-cmd --add-service=ftp --permanent #永久开放FTP服务 firewall-cmd --remove-service=ftp --permanent #永久移除FTP服务 firewall-cmd --reload #更新防火墙规则 firewall-cmd --get-zone-of-interface=eth0 #查看指定接口所属的区域 firewall-cmd --panic-on #拒绝所有包 firewall-cmd --panic-off #取消拒绝状态 firewall-cmd --query-panic #查看是否拒绝
特别需要注意的firewalld服务有两份规则策略配置记录,必需能够区分
RunTime:当前正在生效的
Permanent:永久生效的
当下面实验修改的是永久生效的策略记录时,必须执行"--reload"参数后才能立即生效,否则要重启后再生效。
查看当前的区域:
[root@CentOS7 ~]# firewall-cmd --get-default-zone public
查询网卡的区域:
[root@Centos7 ~]# firewall-cmd --get-zone-of-interface=eno16777736 public
在public中分别查询ssh与http服务是否被允许:
[root@Centos7 ~]# firewall-cmd --zone=public --query-service=ssh yes [root@Centos7 ~]# firewall-cmd --zone=public --query-service=http no
实例A:允许https服务流量通过public区域,要求立即生效且永久有效:
方法一:分别设置当前生效与永久有效的规则记录:
[root@Centos7 ~]# firewall-cmd --zone=public --add-service=https success [root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https success
方法二:设置永久生效的规则记录后读取记录:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https success [root@Centos7 ~]# firewall-cmd --reload success
实例B:不再允许http服务流量通过public区域,要求立即生效且永久生效:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --remove-service=http success [root@Centos7 ~]# firewall-cmd --reload success
实例C:允许8080与8081端口流量通过public区域,立即生效且永久生效:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp success [root@Centos7 ~]# firewall-cmd --reload success
实例D:查看模拟实验中的规则:
[root@Centos7 ~]# firewall-cmd --zone=public --list-services dhcpv6-client http https ssh [root@Centos7 ~]# firewall-cmd --zone=public --list-ports 8080-8081/tcp
实例E:将访问主机888端口的请求转发至22端口:
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.0.100 success [root@Centos7 ~]# firewall-cmd --reload success
例如安装Nagios后,要开放5666端口与服务器连接,命令如下
[root@centos7 ~]# firewall-cmd --add-port=5666/tcp 即时打开,这里也可以是一个端口范围,如1000-2000/tcp success [root@centos7 ~]# firewall-cmd --permanent --add-port=5666/tcp 写入配置文件 success [root@centos7 ~]# firewall-cmd --reload 重启防火墙 success [root@centos7 ~]#
上一篇:DDR1,DDR2,DDR3,DDR4外观区别与参数对比
下一篇:kill命令详解