上一篇
CentOS中如何启用防火墙并配置规则
- 行业动态
- 2024-05-16
- 1
在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= |
b{zone} | b addport= | b{port}/{protocol} | b permanent | 添加端口规则(永久生效) |
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 |
查看防火墙状态,包括是否启用、是否正在运行等信息 |
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/233828.html