怎么样在网站做产品推广,深圳vi设计多少钱,聊城pc网站建设软件,牛商网做网站的思路1.firewalld简介
firewalld的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则#xff0c;告诉 netfiter对来自指定源、前往指定目的或具有某些协议特征的数据包采取何种处理方式。
为了更加方便地组织和管理防火墙#xff0c;firewalld 提供了支持网络区域…1.firewalld简介
firewalld的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则告诉 netfiter对来自指定源、前往指定目的或具有某些协议特征的数据包采取何种处理方式。
为了更加方便地组织和管理防火墙firewalld 提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4 、IPv6 防火墙设置以及以太网桥并且拥 有两种配置模式运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。
2.firewalld和iptables的关系
firewalld自身并不具备防火墙的功能而是和iptables 一样需要通过内核的netilter 来实现。也就是说firewalld和iptables一样他们的作用都是用于维护规则而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
系统提供了图形化的配置工具 firewall-config 、system-config-firewall, 提供命令行客户端firewall-cmd,用于配置 firewalld永久性或非永久性运行时间的改变它依次用 iptables 工具与执行数据包筛选的内核中的 Netfilter 通信。。 Firewalld 和 iptables 关系图
从图中可以看到iptables服务和firewalld都是通过iptables命令与内核的netfilter进行交互的。在centos7中我们仍然可以使用iptables命令来管理我们的防火墙。唯一不同的是当我们重启服务器或重启firewalld 时iptables 命令管理的规则不会自动加载反而会被firewalld的规则代替。
3.firewalld 与iptables service 的区别
iptables service 在 letc/sysconfigliptables 中储存配置而 firewalld 将配置储存在/usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种XML文件里。 使 用 iptables service 每一个单独更改意味着清除所有旧有的规则和从 letclsysconfigliptables 里读取所有新的规则然而使用 firewalld 却不会再创建任何新的 规则仅仅运行规则中的不同之处。因此firewalld可以在运行时间内改变设置而不丢失现行连接。
Firewalld网络区域
firewalld将所有的网络数据流量划分为多个区域从而简化防火墙管理。根据数据包的 源 IP 地址或传入网络接口等条件将数据流量转入相应区域的防火墙规则。对于进入系统的数据包首先检查的就是其源地址。
若源地址关联到特定的区域则执行该区域所制定的规则。
若源地址未关联到特定的区域则使用传入网络接口的区域并执行该区域所制定的规则。
若网络接口未关联到特定的区域则使用默认区域并执行该区域所制定的规则。
默认区域不是单独的区域而是指向系统上定义的某个其他区域。默认情况下默认区 域 是public,但是系统管理员可以更改默认区域。以上匹配规则按照先后顺序第一个匹配的规则胜出。
在每个区域中都可以配置其要打开或者关闭的一系列服务或端口firewalld的每个预定义的区域都设置了默认打开的服务。 firewalld的预定义区域说明 区域 说明 trusted(信任区域) 可接收所有的网络连接 public(公共区域) 除非与传出流量相关或与ssh 或dhcpv6-client预定义服务匹配否则拒绝流量传 入在公共区域内不能相信网络内的其他计算机不会对计算机造成危害只能接收 经过选择的连接。并且该区域是新添加网络接口的默认区域 work(工作区域) 除非与传出流量相关或与ssh 、ipp-client、dhcpv6-client预定义服务匹配否则拒绝流量传入用于工作区。相信网络内的其他计算机不会危害计算机仅接受经过选择的连接 home (家庭区域) 除非与传出流量相关或与ssh、ipp-client 、mdns 、samba-client 、dhcpv6-client预 定义服务匹配否则拒绝流量传入用于家庭网络。信任网络内的其他计算机不会危 害计算机仅接收经过选择的连接 internal(内部区域) 除非与传出流量相关或与ssh、ipp-client 、mdns 、samba-client 、dhcpv6-client预 定义服务匹配否则拒绝流量传入用于内部网络。信任网络内的其他计算机不会危 害计算机仅接收经过选择的连接 external (外部区域) 除非与传出流量相关或与ssh 预定义服务匹配否则拒绝流量传入。通过此区域转 发的 IPv4传出流量将进行地址伪装可用于为路由器启用了伪装功能的外部网络 dmz (隔离区域也称为非军事区域 除非与传出的流量相关或与ssh 预定义服务匹配否则拒绝流量传入 block(限制区域) 除非与传出流量相关否则拒绝所有传入流量 drop(丢弃区域) 除非与传出流量相关否则丢弃所有传入流量并且不产生包含 ICMP(InternetControl Message Protocol,互联网控制报文协议)的错误响应
Firewalld防火墙的配置方法
在Ce ntOS7 系统中可以使用三种方式配置firewalld 防火墙
firewall-config 图形工具。
firewall-cmd 命令行工具。
/etc/firewalld/中的配置文件。
通常情况下不建议直接编辑配置文件。
firewall-cmd命令
1.firewalld 服务管理
在安装CentOS7系统时会自动安装firewalld和图形化工具firewall-config。执行以下命令可以启动firewalld 并设置为开机自启动状态。
[rootlocalhost ~]# systemctl start firewalld //启动 firewalld[rootlocalhost ~]# systemctl enable firewalld //设置firewalld为开机自启动
如果firewalld正在运行通过systemctl status firewalld 或 firewall-cmd 命令可以查看其运行状态。
2.获取预定义信息
firewall-cmd预定义信息主要包括三种可用的区域、可用的服务以及可用的 ICMP 阻塞类型具体的查看命令如下所示
[rootlocalhost ~]# firewall-cmd --get-zones /显示预定义的区域
[rootlocalhost~]#firewall-cmd --get-service /显示预定义的服务
[rootlocalhost~]#firewall-cmd --get-icmptypes //显示预定义的ICMP 类型
3. 区域管理
使用firewall-cmd 命令可以实现获取和管理区域为指定区域绑定网络接口等功能。 firewall-cmd 命令的区域管理选项说明 选项 说明 --get-default-zone 显示网络连接或接口的默认区域 --set-default-zone 设置网络连接或接口的默认区域 -get-active-zones 显示已激活的所有区域 --get-zone-of-interface 显示指定接口绑定的区域 --zone--add-interface 为指定接口绑定区域 --zone--change-interface 为指定的区域更改绑定的网络接口 --zone--remove-interface 为指定的区域删除绑定的网络接口 --list-all-zones 显示所有区域及其规则 [--zone]--list-all 显示所有指定区域的所有规则省略--zone时表示仅 对默认区域操作
(1)显示当前系统中的默认区域。
[rootlocalhost ~]#firewall-cmd --get-default-zone
(2)显示默认区域的所有规则。
[rootlocalhost ~]#firewall-cmd --list-all
(3)显示网络接口ens33对应区域。
[ rootlocalhost ~]#firewall-cmd -get-zone-of-interfaceens33
(4)将网络接口ens33 对应区域更改为指定区域。
[rootlocalhost ~]#firewall-cmd --zoneinternal -change-interfaceens33
(5)显示所有激活区域。
[rootlocalhost ~]#firewall-cmd --get-active-zones
4.服务管理
为了方便管理firewalld预先定义了很多服务存放在/usr/ib/firewalld/services/ 目 录中服务通过单个的 XML 配置文件来指定。这些配置文件则按以下格式命名
service-name.xml, 每个文件对应一项具体的网络服务如 ssh 服务等。与之对应的配置文件中记录了各项服务所使用的tcp/udp端口。在最新版本的firewalld 中默认已经定义了70多种服务供我们使用对于每个网络区域均可以配置允许访问的服务。当默认提供的 服务不适用或者需要自定义某项服务的端口时我们需要将 service 配置文件放置在letc/firewalld/services/ 目录中。service 配置具有以下优点。
通过服务名字来管理规则更加人性化。 通过服务来组织端口分组的模式更加高效如果一个服务使用了若干个网络端口则服
务的配置文件就相当于提供了到这些端口的规则管理的批量操作快捷方式。 firewall-cm d 命令区域中服务管理的常用选项说明 选项 说明 [-zone]-list-services [--zone]--add-service [--zone]--remove-service [-zone]--list-ports 显示指定区域内允许访问的所有服务 为指定区域设置允许访问的某项服务 删除指定区域已设置的允许访问的某项服务 显示指定区域内允许访问的所有端口号 [-zone]--add-port[-]为指定区域设置允许访问的某个/某段端口号(包括 [-zone] --remove-port[-]/ [--zone]-list-icmp-blocks [-zone]--add-icmp-block [--zone]--remove-icmp-block 协议名) 删除指定区域已设置的允许访问的端口号(包括协 议名) 显示指定区域内拒绝访问的所有ICMP类型 为指定区域设置拒绝访问的某项ICMP类型 删除指定区域已设置的拒绝访问的某项ICMP类 型省略--zone时表示对默认区域操作
(1)为默认区域设置允许访问的服务。
[rootlocalhost ~]#firewall-cmd --add-servicehttp
(2)为internal 区域设置允许访问的服务。
[rootlocalhost~]#firewall-cmd --zoneinternal --add-servicemysql
[rootlocalhost~]#firewall-cmd-zoneinternal -remove-servicesamba-client //设置internal区域不允许访问samba-client服务
5 .端口管理
在进行服务配置时预定义的网络服务可以使用服务名配置服务所涉及的端口就会自 动打开。但是对于非预定义的服务只能手动为指定的区域添加端口。例如执行以下操作即可实现在 internal区域打开443/ TCP 端口。
[rootlocalhost ~]# firewall-cmd --zoneinternal -add-port443/tcp
若想实现在 internal区域禁止443/TCP 端口访问可执行以下命令。
[rootlocalhost~]#firewall-cmd --zoneinternal --remove-port443/tcp
6.两种配置模式
前面提到 firewall-cmd 命令工具有两种配置模式运行时模式 (Runtime mode) 表 示 当前内存中运行的防火墙配置在系统或 firewalld 服务重启、停止时配置将失效永久模 式 (Permanent mode) 表示重启防火墙或重新加载防火墙时的规则配置是永久存储在配置文件中的。
firewall-cmd 命令工具与配置模式相关的选项有三个。
--reload: 重新加载防火墙规则并保持状态信息即将永久配置应用为运行时配置。
--permanent: 带有此选项的命令用于设置永久性规则这些规则只有在重新启动 firewalld 或重新加载防火墙规则时才会生效若不带有此选项表示用于设置运行时规则。
--runtime-to-permanent: 将当前的运行时配置写入规则配置文件中使之成为永久性配置。