暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CentOS 7防火墙:端口、路由转发与区域(Zone)详解

运维家 2023-09-18
181

导语:

在CentOS 7中,防火墙的功能得到了进一步的增强,由传统的iptables防火墙升级为动态防火墙守护程序——firewalld。它支持IPv4和IPv6防火墙设置,以太网桥以及运行时和永久配置选项的分离。本篇文章将深入探讨CentOS 7防火墙的使用方法,包括开通端口、路由转发以及Zone等概念。我们将通过以下四个方面来详细介绍:查看防火墙状态、开放或限制端口、开放或限制IP以及Zone配置。

一、查看防火墙状态

要查看CentOS 7的防火墙状态,我们可以使用以下命令:

sudo firewall-cmd --state

该命令将显示防火墙当前的运行状态,如是否运行以及运行模式等。如果防火墙正在运行并且为活动状态,则输出会显示“running”和“active”。

二、开放或限制端口

在CentOS 7中,我们可以使用firewalld轻松地开放或限制端口。以下是一些具体的示例:

1、开放SSH端口(默认为22):

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

第一条命令将在防火墙规则中永久添加对SSH服务的支持,而第二条命令将重新加载防火墙规则使配置生效。

2、限制HTTP端口(默认为80):

sudo firewall-cmd --permanent --remove-port=80/tcp
sudo firewall-cmd --reload

这条命令将从防火墙规则中永久移除对HTTP(TCP 80)端口的支持,然后重新加载防火墙规则。

三、开放或限制IP

我们还可以通过CentOS 7的防火墙来开放或限制特定的IP地址。以下是一些示例:

1、开放特定IP地址(如192.168.1.100)的所有端口:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4source address="192.168.1.100/32" port protocol="tcpport="1-65535accept'
sudo firewall-cmd --reload

这条命令将创建一个永久规则,允许来自IP地址为192.168.1.100的所有流量通过。

2、限制特定IP地址(如192.168.1.101)对SSH端口的访问(默认为22):

sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4source address="192.168.1.101/32" port protocol="tcpport="22" drop'
sudo firewall-cmd --reload

这条命令将创建一个永久规则,拒绝来自IP地址为192.168.1.101对SSH端口(TCP 22)的访问。

四、Zone配置

在CentOS 7防火墙中,Zone提供了一种灵活的方式来管理网络连接和接口的信任级别。以下是一些关于Zone配置的示例:

1、创建一个新的Zone(如命名为“myzone”):

sudo firewall-cmd --zone=myzone --new-zone

2、将一个接口分配到特定的Zone(如将eth0分配到myzone):

sudo firewall-cmd --zone=myzone --add-interface=eth0

3、配置一个自定义的规则文件(如myrules.xml):

sudo firewall-cmd --zone=myzone --load-balancer=myrules.xml

在这个例子中,myrules.xml文件需要按照特定的XML格式编写,定义了特定Zone的规则。更多关于Zone和规则文件的信息可以查阅官方文档。

总结:

CentOS 7中的firewalld提供了一个强大且灵活的防火墙管理工具。通过使用命令行界面或图形用户界面,我们可以轻松地管理网络接口和服务的规则,实现诸如开通端口、路由转发以及配置Zone等功能。理解并掌握这些工具和方法,将有助于我们更好地保护网络的安全性和可用性。

如果文章内容给你带来了帮助,请关注并分享我的公众号【运维家】。

文章转载自运维家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论