如何在CentOS 7中配置防火墙?

CentOS 7防火墙配置主要通过firewalld服务进行,包括开启/关闭防火墙、查看状态、配置端口和服务等。

CentOS 7中,防火墙配置是一个至关重要的任务,它涉及到系统的安全性和网络访问控制,本文将详细介绍如何在CentOS 7上配置和使用firewalld防火墙,包括其安装、基本配置、区域管理、服务和端口管理等方面。

centos 7 防火墙配置

CentOS 7防火墙配置详解

一、FirewallD简介

CentOS 7引入了firewalld作为默认的防火墙管理工具,替代了早期的iptables服务,Firewalld提供了动态管理防火墙的能力,支持网络区域(zone)的概念,可以根据不同的网络连接和接口设置不同的安全级别,它还支持IPv4和IPv6,并且能够在运行时进行配置更改而无需重启防火墙。

二、安装与启动FirewallD

确保你的系统已经安装了firewalld,如果没有安装,可以使用以下命令进行安装:

yum install -y firewalld

安装完成后,启动并启用firewalld服务:

systemctl start firewalld
systemctl enable firewalld

三、基本配置

1. 查看防火墙状态

systemctl status firewalld

2. 查看当前默认区域

firewall-cmd --get-default-zone

3. 设置默认区域

firewall-cmd --set-default-zone=<zone>

将默认区域设置为home:

firewall-cmd --set-default-zone=home

四、区域管理

Firewalld使用区域来定义网络连接的可信等级,每个区域都有一组预定义的规则,用于控制进出该区域的流量,常见的区域包括:

centos 7 防火墙配置

drop:丢弃所有进入的网络包,不作出任何响应。

block:拒绝所有进入的网络连接,并返回相应的ICMP消息。

public:用于公共区域,只允许选中的连接接入。

external:用于外部网络,通常用于路由器。

work:用于工作区,信任网络中的大多数计算机。

home:用于家庭网络,信任网络中的大多数计算机。

internal:用于内部网络,完全信任网络中的计算机。

dmz:非军事区,有限地允许外部访问内部网络。

trusted:接受所有网络连接。

centos 7 防火墙配置

1. 查看所有可用区域

firewall-cmd --get-zones

2. 为指定接口绑定区域

firewall-cmd --zone=<zone> --add-interface=<interface>

将eth0接口绑定到public区域:

firewall-cmd --zone=public --add-interface=eth0

3. 更改区域的绑定接口

firewall-cmd --zone=<zone> --change-interface=<interface>

4. 删除区域的绑定接口

firewall-cmd --zone=<zone> --remove-interface=<interface>

五、服务管理

Firewalld允许你为不同的区域添加或删除服务,服务是端口和/或协议的组合。

1. 查看默认区域内允许访问的所有服务

firewall-cmd --list-services

2. 为指定区域添加服务

firewall-cmd --zone=<zone> --add-service=<service>

在public区域添加http服务:

firewall-cmd --zone=public --add-service=http

3. 删除指定区域的服务

firewall-cmd --zone=<zone> --remove-service=<service>

六、端口管理

除了服务之外,你还可以为指定区域添加或删除特定的端口。

1. 查看指定区域内允许访问的所有端口

firewall-cmd --list-ports

2. 为指定区域添加端口

firewall-cmd --zone=<zone> --add-port=<port>/<protocol>

在public区域添加8080端口(TCP):

firewall-cmd --zone=public --add-port=8080/tcp

3. 删除指定区域的端口

firewall-cmd --zone=<zone> --remove-port=<port>/<protocol>

七、其他常用配置

1. 允许伪装IP(Masquerade)

firewall-cmd --add-masquerade

2. 禁止伪装IP

firewall-cmd --remove-masquerade

3. 设置特定IP访问特定服务(富规则)

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'

删除富规则的命令为:

firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'

注意:富规则需要使用--permanent参数来永久生效,并且需要重新加载防火墙配置才能应用更改:

firewall-cmd --reload

常见问题解答(FAQs)

问题1:如何更改FirewallD的默认区域?

答:要更改FirewallD的默认区域,可以使用以下命令:

firewall-cmd --set-default-zone=<new_zone>

将默认区域设置为home:

firewall-cmd --set-default-zone=home

更改后,可以使用以下命令验证更改是否成功:

firewall-cmd --get-default-zone

如果输出显示新的区域名称,则表示更改成功,如果遇到权限问题,请确保以root用户或有适当权限的用户身份运行上述命令,如果更改后某些服务无法正常访问网络,请检查新区域的默认设置是否符合预期,并相应地调整规则,不要忘记在必要时重新加载防火墙配置以确保所有更改生效:

firewall-cmd --reload

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1386875.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希的头像未希新媒体运营
上一篇 2024-12-07 07:06
下一篇 2024-12-07 07:09

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入