做网站一天忙吗,温州市网站,网站开发智能化方向,西安品牌策划公司排名这里写自定义目录标题 欢迎使用Markdown编辑器一、简单介绍二、特点和功能2.1、区域#xff08;Zone#xff09;2.2、运行时和永久配置2.3、服务和端口2.4、动态更新2.5、连接跟踪2.6、D-Bus接口 三、设置规则3.1、启动防火墙服务3.2、新建防火墙规则的服务#xff0c;添加端… 这里写自定义目录标题 欢迎使用Markdown编辑器一、简单介绍二、特点和功能2.1、区域Zone2.2、运行时和永久配置2.3、服务和端口2.4、动态更新2.5、连接跟踪2.6、D-Bus接口 三、设置规则3.1、启动防火墙服务3.2、新建防火墙规则的服务添加端口的TCP访问规则3.3、新建一个防火墙区域将IP地址添加到区域的源地址列表中将服务添加到区域的服务列表中3.4、开放特定IP来访问。3.5、开放指定IP访问服务器指定的端口。 四、简单的规则设置4.1、切换默认的区域到Public Zone4.2、添加限制端口及IP的规则4.3、验证规则是否生效 五、查询防火墙配置 欢迎使用Markdown编辑器
一、简单介绍
Firewalld是CentOS系统自带的一种动态防火墙管理工具。是一个前端工具用于管理Linux系统上的netfilter防火墙规则。Firewalld提供了一种简化和易于使用的方法来配置和管理防火墙。
二、特点和功能
2.1、区域Zone
Firewalld使用区域来定义不同的网络环境如公共网络、内部网络和信任网络等。每个区域都有自己的防火墙规则集合可以根据网络环境的不同选择适当的区域。预定义的区域包括公共public、私有private、可信trusted、工作work和家庭home。
2.2、运行时和永久配置
Firewalld支持运行时和永久配置。运行时配置的更改在重新启动后会被重置而永久配置则会持久保存并在系统重新启动后生效。
2.3、服务和端口
Firewalld可以通过定义服务和端口来管理访问控制。服务是一组预定义的规则用于允许或拒绝特定的网络服务。端口规则允许或拒绝特定的端口号。
2.4、动态更新
Firewalld支持动态更新防火墙规则这意味着您可以在运行时添加、删除或修改规则而无需重新加载整个防火墙配置。
2.5、连接跟踪
Firewalld使用连接跟踪来跟踪网络连接状态。它可以自动识别和允许与现有连接相关的回复流量。
2.6、D-Bus接口
Firewalld提供了一个D-Bus接口允许其他应用程序通过API与其交互从而实现更高级的防火墙配置和管理。
总体而言Firewalld提供了一种灵活而强大的方式来管理CentOS系统上的防火墙。它使管理员能够轻松配置和调整防火墙规则以保护系统免受未经授权的访问和网络攻击。
三、设置规则
例子使用Firewalld设置防火墙规则以限制对nginx服务器8088端口的访问只允许IP为192.168.2.100的运维服务器访问同时对其他端口不做任何限制。
3.1、启动防火墙服务
#检查防火墙状态
systemctl status firewalld#启动防火墙服务
systemctl start firewalld#检查是否设置开机启动
systemctl is-enabled firewalld#设置开机启动
systemctl enable firewalld启动成功后的状态
3.2、新建防火墙规则的服务添加端口的TCP访问规则
#创建一个名为 “nginxserver” 的新服务并设置其描述为 “nginx Service”。
firewall-cmd --permanent --new-servicenginxserver --set-descriptionnginx Service#将端口8088/tcp 添加到 “nginxserver” 服务的防火墙规则中。这将允许通过8088端口进行TCP通信。
firewall-cmd --permanent --servicenginxserver --add-port8088/tcp#重新加载防火墙配置以使新的服务和规则生效。
firewall-cmd --reload#查询所有已定义的服务
firewall-cmd --get-services#查询特定服务的具体信息
firewall-cmd --info-servicenginxserver#删除特定服务的规则
firewall-cmd --permanent --delete-servicenginx-httpfirewall-cmd --reload3.3、新建一个防火墙区域将IP地址添加到区域的源地址列表中将服务添加到区域的服务列表中
#创建一个名为 “opsserver” 的新区域并设置其描述为 “Ops Server Zone”。这将在防火墙中创建一个新的区域。
firewall-cmd --permanent --new-zoneopsserver --set-descriptionOps Server Zone#将IP地址 192.168.2.100 添加到 “opsserver” 区域的源列表中。这意味着只有来自该IP地址的流量才能通过该区域。
firewall-cmd --permanent --zoneopsserver --add-source192.168.2.100#将nginxserver 服务添加到 “opsserver” 区域的源列表中
firewall-cmd --permanent --zoneopsserver --add-servicenginxserver#重新加载firewalld配置以使新的服务和规则生效。
firewall-cmd --reload#查询已定义的区域
firewall-cmd --get-zones#查询特定区域的具体信息
firewall-cmd --zoneopsserver --list-all#删除特定区域的规则
firewall-cmd --permanent --delete-zonefirewall-cmd --reload#删除特定区域中的规则内容
firewall-cmd --zone区域名称 --remove-规则类型规则内容
其中将 区域名称 替换为要删除规则的区域名称规则类型 替换为要删除的规则类型例如rich-rule、service、port等规则内容 替换为要删除的规则内容。
注意
①确保你有足够的权限执行上述命令否则可能需要使用 sudo
②以上命令中使用了 --permanent 选项以确保规则在系统重启后仍然有效。如果您想要在不重启系统的情况下立即应用规则请省略 --permanent 选项。
3.4、开放特定IP来访问。
现在只有来自 IP 地址为 192.168.2.100 的运维服务器的流量可以访问端口 8088其他所有流量都将被阻止。对于其他端口没有任何限制 ①当IP为192.168.2.100时nginx访问正常可以ping通并且端口访问正常 ②当IP为192.168.2.13时无法ping通nginx服务器并且端口无法访问但是其他端口不受限制可以正常访问
3.5、开放指定IP访问服务器指定的端口。
如果要设置仅可通过192.168.2.100访问nginx服务器的8088端口而其他所有端口和IP都禁止访问那么可以将默认的 Firewalld 区域设置为 “drop”在 “drop” 区域中所有入站和出站的网络连接都将被丢弃而不会给任何响应。 #将默认的防火墙区域设置为 “drop”即丢弃所有连接。
firewall-cmd --set-default-zonedropfirewall-cmd --reload如何需要限制其他端口和IP访问只需要替换上面例子中的IP地址和端口号为你实际使用的值即可。
四、简单的规则设置
在上面的方法中我们通过新建规则中的服务和区域实现对特定服务的访问控制并根据网络环境的安全性要求来限制不同区域的访问权限。 当然如果不需要复杂的控制也可直接在public区域中添加要限制的端口和IP地址就可以了。
4.1、切换默认的区域到Public Zone
#查询默认的区域
firewall-cmd --get-default-zone#将默认区域设置为public
firewall-cmd --set-default-zonepublic4.2、添加限制端口及IP的规则
#添加允许访问端口8088的规则只允许IP为192.168.2.100的访问
firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.2.100 port protocoltcp port8088 accept#重新加载防火墙配置
firewall-cmd --reload4.3、验证规则是否生效
firewall-cmd --list-all通过以上步骤同样可以实现限制对端口8088的访问只允许IP为192.168.2.100的运维服务器访问并不对其他端口做任何限制。
五、查询防火墙配置
#查看当前生效的防火墙规则
firewall-cmd --list-all这将显示当前活动区域的所有规则包括允许的端口、源地址等信息。
#查看特定区域的规则
firewall-cmd --zone--list-all将替换为你要查看规则的区域名称例如public、restricted等。
#查看特定端口的规则
firewall-cmd --zone--list-ports将替换为你要查看规则的区域名称。这将显示指定区域中允许的端口列表。
#查看特定服务的规则
firewall-cmd --zone--list-services将替换为你要查看规则的区域名称。这将显示指定区域中允许的服务列表。
通过以上命令将显示与防火墙规则相关的信息包括允许的端口、源地址、服务等。另外也可以直接查看配置文件Firewalld的配置目录为/etc/firewalld/。