1. 前言
CentOS 7是Linux操作系统的一种发行版本,它默认使用Firewalld作为防火墙,而Firewalld有其自身独特的命令和操作方式。在本文中,我将为大家详细介绍CentOS 7中Firewalld的基础命令。
2. Firewalld防火墙介绍
Firewalld是CentOS 7的默认防火墙,它是一个动态的防火墙管理工具,可以管理防火墙规则和状态。Firewalld采用D-Bus消息机制进行通信,可以动态地在运行时添加、删除或更改防火墙规则。
2.1 防火墙状态
Firewalld的状态分为4种,其中3种是基本状态,另外1种是高级状态。它们分别是:
running:表示防火墙正在运行
stopped:表示防火墙已停止运行
enabled:表示防火墙在启动时将启动
disabled:表示防火墙在启动时不会启动
可以通过以下命令查看防火墙的状态:
systemctl status firewalld
如果防火墙正在运行,输出结果会类似于这样:
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-10-26 23:41:45 CST; 2h 7min ago
Docs: man:firewalld(1)
Main PID: 2274 (firewalld)
CGroup: /system.slice/firewalld.service
└─2274 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Oct 26 23:41:44 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Oct 26 23:41:45 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
3. Firewalld基础命令
3.1 查看Firewalld状态命令
可以使用以下命令查看防火墙状态:
systemctl status firewalld
3.2 启动和停止Firewalld命令
可以使用以下命令启动和停止防火墙:
systemctl start firewalld
systemctl stop firewalld
3.3 重新加载和重启Firewalld命令
可以使用以下命令重新加载和重启防火墙:
firewall-cmd --reload
systemctl restart firewalld
3.4 查看Firewalld版本号命令
可以使用以下命令查看防火墙的版本号:
firewall-cmd --version
3.5 查看Firewalld服务是否支持
可以使用以下命令查看指定服务是否被防火墙支持:
firewall-cmd --query-service service-name
3.6 开放端口命令
可以使用以下命令开放指定端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
上述命令将HTTP端口添加到名称为public的防火墙区域,并且是永久性的。--add-port=80/tcp具体指定了打开的端口和端口协议。
3.7 查看已开放的端口命令
可以使用以下命令查看当前防火墙中已经开放的端口:
firewall-cmd --zone=public --list-ports
3.8 关闭端口命令
可以使用以下命令关闭指定端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
3.9 添加服务命令
可以使用以下命令在防火墙中添加特定的服务:
firewall-cmd --zone=public --add-service=http --permanent
上述命令将HTTP服务添加到名称为public的防火墙区域,并且是永久性的。--add-service=http具体指定了添加的服务。
3.10 查看已添加的服务命令
可以使用以下命令查看当前防火墙中已经添加的服务:
firewall-cmd --zone=public --list-services
3.11 移除服务命令
可以使用以下命令从防火墙中移除特定的服务:
firewall-cmd --zone=public --remove-service=http --permanent
上述命令将HTTP服务从名称为public的防火墙区域中移除,并且是永久性的。--remove-service=http具体指定了移除的服务。
3.12 查看防火墙区域命令
可以使用以下命令查看防火墙中的区域:
firewall-cmd --get-zones
3.13 将接口添加到区域命令
可以使用以下命令将接口添加到指定的区域:
firewall-cmd --zone=public --add-interface=eth0
上述命令将名称为eth0的接口添加到名称为public的防火墙区域中。
3.14 移除接口命令
可以使用以下命令将接口从指定的区域中移除:
firewall-cmd --zone=public --remove-interface=eth0
上述命令将名称为eth0的接口从名称为public的防火墙区域中移除。
4. 结论
在本文中,我们介绍了CentOS 7中Firewalld防火墙的基础命令。您可以使用这些命令轻松地管理防火墙规则和状态,以确保服务器的安全性。