首页 > 其他 > 详细

全新概念firewalld防火墙

时间:2017-01-09 16:52:47      阅读:451      评论:0      收藏:0      [点我收藏+]

CentOS7 Firewalld防火墙

一、理论部分

    CentOS7最大的改变之一firewalld防火墙,FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。

    下面来看看firewalld的九大区域:

firewalld防火墙有九大区域

丢弃区域(Drop Zone:如果使用丢弃区域,任何进入的数据包将被丢弃。这个类似与我们之前使用iptables -j drop。使用丢弃规则意味着将不存在响应。

阻塞区域(Block Zone:阻塞区域会拒绝进入的网络连接,返回icmp-host-prohibited,只有服务器已经建立的连接会被通过即只允许由该系统初始化的网络连接。

公共区域(Public Zone:只接受那些被选中的连接,默认只允许 ssh dhcpv6-client。这个 zone 是缺省 zone

外部区域(External Zone:这个区域相当于路由器的启用伪装(masquerading)选项。只有指定的连接会被接受,即ssh,而其它的连接将被丢弃或者不被接受。

隔离区域(DMZ Zone:如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定义。它也拥有只通过被选中连接的特性,即ssh

工作区域(Work Zone:在这个区域,我们只能定义内部网络。比如私有网络通信才被允许,只允许sshipp-client dhcpv6-client

家庭区域(Home Zone:这个区域专门用于家庭环境。它同样只允许被选中的连接,即sshipp-clientmdnssamba-client dhcpv6-client

内部区域(Internal Zone:这个区域和工作区域(WorkZone)类似,只有通过被选中的连接,和home区域一样。

信任区域(Trusted Zone:信任区域允许所有网络通信通过。

Firewalld的基本操作:

1获取firewalld状态

技术分享

2在不改变状态的条件下重新加载防火墙

技术分享

如果使用--complete-reload ,状态信息将会丢失。

3获取支持的区域列表

技术分享

4获取所有支持的服务

技术分享

想要列出默认有效的服务,也可以进入下面的目录也能够取得。

cd /usr/lib/firewalld/services/

技术分享

自己创建服务,任选一个服务复制一份,服务名叫rhel 端口号是1937

技术分享

技术分享

vim rhel.xml

 修改文件内容

技术分享

prot=1937 第三行改成rhel. [firewall-cmd  --reload]

确认服务是否启动:

firewall-cmd --get-services

技术分享

5、获取所有支持的ICMP类型

技术分享

二、操作部分

实验拓扑:

技术分享

实验要求:

一、web主机

         1、通过8000端口提供www服务,22端口提供ssh服务

         2、其他主机通过80端口访问web服务

         3、允许ssh远程管理

         4、禁止ping请求

二、gateway主机   开启路由转发

         1、通过地址伪装实现内网访问外网

         2、外网主机可以访问内网web(通过80端口访问)和ssh(通过222端口访问)

实验步骤:

1、配置Web服务器IP地址并安装httpd服务

yum -y install httpd

2、关闭selinux

       永久关闭:编辑

vim  /etc/selinux/config

将文件中的SELINUX=""  disabled ,然后重启。

技术分享

如果不想重启系统,使用命令setenforce 0注:setenforce 1 设置SELinux 成为enforcing模式。

       临时关闭:输入“setenforce  0 设置SELinux 成为permissive模式

3、修改httpd端口为8000

修改httpd配置文件:

# vim /etc/httpd/conf/httpd.conf

技术分享

Listen的值改为8000后保存退出

重启httpd服务:

systemctl restart httpd

技术分享

验证效果如下:

技术分享

5、配置防火墙支持shh访问

技术分享

firewall防火墙默认允许ssh端口访问,如需设置请输入一下命令:

firewall-cmd [--zone= 区域] --add-service=ssh

6、禁止ping请求

技术分享

7、配置gateway主机实现通过地址伪装实现内网访问外网

         开启路由转发功能:

 vim /etc/sysctl.conf

技术分享

 然后将两个网卡分别加入相应的区域

技术分享

externet外部区域设置地址伪装

技术分享

在这里默认就是开启状态,如需开启请输入以下命令:

 firewall-cmd --zone=external --add-masquerade

8、实现外网主机可以访问内网web通过80端口访问和通过222端口访问ssh服务

技术分享

实验效果1

技术分享

实验效果2

技术分享技术分享



本文出自 “乌云科技” 博客,请务必保留此出处http://wuyunkeji.blog.51cto.com/12028005/1890345

全新概念firewalld防火墙

原文:http://wuyunkeji.blog.51cto.com/12028005/1890345

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!