在Redhat Enterprise Linux7中已经默认使用firewalld作为防火墙,其使用方式已经变化。基于iptables的防火墙被默认不启动,但仍然可以继续使用.RHRE7中有几种防火墙共存:firewalld,iptables,ebtables等,默认使用firewalld作为防火墙,管理工具是firewall-cmd.RHEL7的内核版本是3.10,在此版本的内核里防火墙的包过滤机制是firewalld,使用firewalld来管理netfilter,不过底层调用的命令仍然是iptables等。因为这几种守护进程是冲突的,所以建议禁用其他几种服务
RHEL7虽然有iptables但是不建议使用了,使用新的firewalld服务。
1)查看firewalld软件包是否安装
2)Firewalld提供了支持网络/防火墙区域(区域)定义网络链接以及接口安全等级的防火墙管理工具。拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。以前的system-config-firewall防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核netfilter防火墙模块的卸载和新配置所需模块的装载等。相反,防火墙守护进程动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了
3)网络区域定义了网络连接的可信等级。
丢弃区域(拖放区):如果使用丢弃区域,任何进入的数据包将被丢弃这个类似与我。
们之前使用的iptables -j下降使用丢弃规则意味着将不存在响应。
阻塞区域(块区):阻塞区域会拒绝进入的网络连接,返回ICMP主机禁止,只
有服务器已经建立的连接会被通过即只网求允许由该系统-初始化的网络连接。
公共区域(公共区):只接受那些被选中的连接,默认只允许SSH和DHCPv6的客户端这。
个区是缺省区
外部区域(外部区):这个区域相当于路由器的启用伪装(伪装)只选项对话
有指定的连接会被接受,即SSH,而其它的连接将被丢弃或者不被接受。
隔离区域(DMZ区):如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定
。义它也拥有只通过被选中连接的特性,即SSH。
工作区域(工作区):在这个区域,我们只能定义内部网络比 网络私有通信才被允
许,只允许SSH,IPP客户机和支持DHCPv6客户端。
家庭区域(家庭地带):这个区域专门用于家庭环境它同样只允许被选中的连接,即SSH,
IPP客户端,MDNS,桑巴客户端和支持DHCPv6客户端。
内部区域(内部区域):这个区域和工作区域(工作区)类似,通过只有被选中的连
接,和家区域一样。
信任区域(可信区):信任区域允许所有网络通信通过记住:因为可信最的英文信被
任的,即使没有设置任何的服务,那么也是被允许的,因为可信是允许所有连接的
1)获取firewalld状态
2)在不改变状态条件下加载防火墙;
3)获取所支持区域的列表
4)获取所有支持的服务
5)列出默认有效的服务也可以进入下面的目录查看
cd / usr / lib / firewalld / services
6)想要创建属于自己的服务,需要在下面的目录自定义它。例如我想创建一个延间的服务端口号为1314。首先我们我们任选一个服务复制过来改名为yankai.xml
7)然后我们打开创建的yankai.xml修改以下内容wq保存退出
8)保存退出后我们加载firewalld防火墙,查看是否有延间的服务
1)获取所有支持ICMP的类型
2)列出全部启用的区域的特性(即查询当前防火墙策略)
3)输出区域全部启用的特性。如果省略区域,将显示默认区域的信息.shaceence-cmd [--zone =] --list-all
4)查看默认区域
5)设置默认区域firewall-cmd --set-default-zone =区域名例如我们把drop设置为默认区域
6)列举区域中启用的服务例如:查看家区域启用的服务
7)启用应急模式,由于临时问题,在这里我就不给大家演示了。
方法:打开两台linux主机例如:192.168.1.100去ping192.168.1.110这时候是可以ping通的当你在192.168.1.110主机上输入启用应急模式firewall-cmd --panic-on 1.100的主机就会ping不通1.110因为启用了应急模式。怎么取消应急模式呢?firewall-cmd --panic-off
1)启用区域中的一种服务即给某个区域开启某个服务 这里以httpd服务为例,在这里我没有关闭防火墙但是启用了httpd服务在客户机上访问apache网页是出不来的因为防火墙是运行状态。
firewall-cmd [--zone=区域] --add-service=服务 [--timeout=秒数]
2)我们把httpd服务添加到drop区域。添加成功后再次访问apache测试页
3)我们这时候可以看到apache测试页已经访问成功
4)禁用区域中的某种服务即关闭某个服务 firewall-cmd [--zone=区域] --remove-service=服务 例:我们禁用drop区域下的httpd服务
这时候再次访问apache测试页就会失败。
5)启用区域端口和协议组合 firewall-cmd [--zone=区域] --add-port=portid[-portid]/protocol [--timeout=seconds] 此操作将启用端口和协议的组合。端口可以是一个单独的端口或者是一个端口范围 - 。 协议可以是 tcp 或 udp 这里就以tomcat TCP/8080为例: 首先需要安装tomcat这里我就不说安装步骤了,安装成功后查询8080端口是否起来
以端口的方式添加到区域之后,我们访问tomcat测试页。
6)禁用端口和协议组合 firewall-cmd [--zone=区域] --remove-port=portid[-portid]/protocol
禁用之后我们在访问tomcat页面的时候就访问不到了 这里我就不在演示了同上面的httpd服务 只不过是用了端口的方式。
7)端口转发。例如:
端口转发。desktop访问server的5423端口,将访问server的80端口。 Server 上的操作:(192.168.106.129 是 desktop 的 IP 地址)
配置防火墙在公共区域打开http协议,并保存,以致重启有效firewall-cmd --permanent --zone = public --add-service = http
配置端口转发,讲httpd 80端口转发1314
重新加载firewalld防火墙
配置完成后我们直接去用转发的1314端口访问的httpd
用1314端口访问成功代端口转发配置成功!希望对您有所帮助〜