在CentOS中,防火墙是一种用于保护系统安全的工具,它可以控制进出系统的网络流量,防止未经授权的访问,本文将介绍如何在CentOS中启用防火墙并配置规则。
(图片来源网络,侵删)
启用防火墙
1、查看防火墙状态
在开始配置防火墙之前,首先需要查看当前防火墙的状态,可以使用以下命令查看:
sudo systemctl status firewalld
如果防火墙已启用,输出结果类似于:
● firewalld.service firewalld dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: disabled) Active: active (running) since Mon 20220103 14:30:00 CST; 1h 5min ago Docs: man:firewalld(1) Main PID: 12345 (firewalld) Tasks: 6 (limit: 4915) Memory: 10.0M CGroup: /system.slice/firewalld.service └─12345 /usr/bin/python3 Es /usr/sbin/firewalld nofork nopid Jan 03 14:30:00 centos7 systemd[1]: Starting firewalld dynamic firewall daemon... Jan 03 14:30:00 centos7 systemd[1]: Started firewalld dynamic firewall daemon.
如果防火墙未启用,可以使用以下命令启用:
sudo systemctl start firewalld
2、设置防火墙开机自启
为了确保每次系统启动时防火墙都能自动运行,可以将其设置为开机自启,使用以下命令设置:
sudo systemctl enable firewalld
配置防火墙规则
1、查看默认区域和接口
在配置防火墙规则之前,需要了解当前系统的区域和接口,可以使用以下命令查看:
sudo firewallcmd getactivezones sudo firewallcmd getdefaultzone sudo firewallcmd getzones sudo firewallcmd listallzones sudo firewallcmd getservices sudo firewallcmd listallinterfaces
2、添加端口规则
假设我们需要开放TCP协议的80端口(HTTP)和443端口(HTTPS),可以使用以下命令添加规则:
sudo firewallcmd zone=public addport=80/tcp permanent sudo firewallcmd zone=public addport=443/tcp permanent
zone
参数指定区域,addport
参数指定要开放的端口和协议,permanent
参数表示永久生效,如果要添加UDP协议的端口规则,只需将tcp
替换为udp
即可。
3、重载防火墙配置
添加完规则后,需要重新加载防火墙配置以使新规则生效,使用以下命令重载:
sudo firewallcmd reload
常见操作命令
以下是一些常用的防火墙操作命令:
命令 | 功能 | ||||
systemctl status firewalld | 查看防火墙状态 | ||||
systemctl start firewalld | 启动防火墙 | ||||
systemctl stop firewalld | 停止防火墙 | ||||
systemctl enable firewalld | 设置防火墙开机自启 | ||||
systemctl disable firewalld | 取消防火墙开机自启 | ||||
firewallcmd getactivezones | 查看当前活动的区域 | ||||
firewallcmd getdefaultzone | 查看默认区域 | ||||
firewallcmd getzones | 查看所有区域 | ||||
firewallcmd listallzones | 列出所有可用的区域 | ||||
firewallcmd getservices | 查看所有可用的服务 | ||||
firewallcmd listallinterfaces | 列出所有可用的网络接口 | ||||
firewallcmd zone=
| |||||
firewallcmd zone= | b{zone} | b removeport= | b{port}/{protocol} | b permanent | 删除端口规则(永久生效) |
firewallcmd reload | 重载防火墙配置 | ||||
firewallcmd completereload | 重新加载防火墙配置并重启服务 | ||||
firewallcmd queryall | 查询所有配置信息 | ||||
firewallcmd listall | 列出所有配置的规则 | ||||
firewallcmd getservice= | b{service} | b | 获取指定服务的配置信息 | ||
firewallcmd getport= | b{port}/{protocol} | b | 获取指定端口的配置信息 | ||
firewallcmd getzone= | b{zone} | b | 获取指定区域的配置信息 | ||
firewallcmd listallzones | 列出所有可用的区域 | ||||
firewallcmd listallinterfaces | 列出所有可用的网络接口 | ||||
firewallcmd listallservices | 列出所有可用的服务 | ||||
firewallcmd listallports | 列出所有可用的端口 | ||||
firewallcmd uninstall | 卸载防火墙服务 | ||||
systemctl uninstall firewalld | 卸载防火墙服务并删除相关配置文件 | ||||
systemctl mask firewalld | 禁用防火墙服务,使其无法启动 | ||||
systemctl listunits type=service | 查看系统中的所有服务列表,包括防火墙服务 | ||||
systemctl isolate {unit}.service | 隔离指定的服务,使其只能在当前会话中使用,不随系统启动而启动 | ||||
systemctl isolate default.target | 隔离默认目标,使其只能在当前会话中使用,不随系统启动而启动 | ||||
systemctl reboot | 重启系统,使更改的配置生效 | ||||
systemctl poweroff | 关闭系统,使更改的配置生效 | ||||
systemctl status firewalld | 查看防火墙状态,包括是否启用、是否正在运行等信息 |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/621208.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复