原文链接:信创服务器上firewalld命令详解 | 统信 | 麒麟 | 中科方德
Hello,大家好啊!今天给大家带来一篇关于在信创服务器上使用firewalld命令的详解文章。firewalld是Linux系统中常用的防火墙管理工具,它提供了一种动态管理防火墙的方式,可以在不重启防火墙服务的情况下立即应用新的规则。本文将详细介绍firewalld的基本用法和常用命令,帮助大家更好地管理和配置防火墙。欢迎大家分享转发,点个关注和在看吧!
1.查看配置文件
firewalld 配置文件结构
firewalld 的配置文件主要存放在 /etc/firewalld 目录下。主要子目录和文件包括:
/etc/firewalld/zones/:存放各个区域的配置文件。
/etc/firewalld/services/:存放各个服务的 XML 配置文件。
/etc/firewalld/firewalld.conf:主配置文件。
2.服务启动与关闭
[root@pdsyw ~]# systemctl stop firewalld.service
[root@pdsyw ~]#
[root@pdsyw ~]# systemctl start firewalld.service
[root@pdsyw ~]#
[root@pdsyw ~]# systemctl restart firewalld.service
[root@pdsyw ~]#
[root@pdsyw ~]# systemctl disable firewalld.service
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
[root@pdsyw ~]#
[root@pdsyw ~]# systemctl enable firewalld.service
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.
[root@pdsyw ~]#
3.查看当前防火墙状态
[root@pdsyw ~]# firewall-cmd --state
running
[root@pdsyw ~]#
4.查看当前区域
[root@pdsyw ~]# firewall-cmd --get-active-zones
public
interfaces: ens160
[root@pdsyw ~]#
[root@pdsyw ~]# firewall-cmd --set-default-zone=home
success
[root@pdsyw ~]#
[root@pdsyw ~]# firewall-cmd --get-active-zones
home
interfaces: ens160
[root@pdsyw ~]#
5.更改当前区域
[root@pdsyw ~]# firewall-cmd --set-default-zone=public
success
[root@pdsyw ~]# firewall-cmd --zone=public --add-service=http --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
6.查看特定区域的规则
[root@pdsyw ~]# firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: cockpit dhcpv6-client mdns samba ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks: echo-request
rich rules:
rule family="ipv4" source address="192.168.80.111" accept
[root@pdsyw ~]#
7.删除服务
[root@pdsyw ~]# firewall-cmd --zone=public --remove-service=http --permanent
success
[root@pdsyw ~]#
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
8.临时开放端口
[root@pdsyw ~]# firewall-cmd --zone=public --add-port=9999/tcp
success
[root@pdsyw ~]#
9.永久开放端口
[root@pdsyw ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
10.关闭端口
[root@pdsyw ~]# firewall-cmd --zone=public --remove-port=8080/tcp --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
11.添加 IP 地址限制
[root@pdsyw ~]# firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.80.111" accept' --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
12.添加 ICMP 规则
[root@pdsyw ~]# firewall-cmd --zone=public --add-icmp-block=echo-request --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
13.添加接口到区域
[root@pdsyw ~]# firewall-cmd --zone=public --change-interface=ens160 --permanent
The interface is under control of NetworkManager, setting zone to 'public'.
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
14.添加 Direct 规则
[root@pdsyw ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 8080 -j ACCEPT
success
[root@pdsyw ~]# firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 0 -p tcp --dport 8080 -j ACCEPT
[root@pdsyw ~]#
15.应用场景-公共网络
[root@pdsyw ~]# firewall-cmd --zone=public --change-interface=ens170
success
[root@pdsyw ~]#
[root@pdsyw ~]# firewall-cmd --zone=public --add-service=ssh --permanent
Warning: ALREADY_ENABLED: ssh
success
[root@pdsyw ~]#
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
16.公共网络-家庭网络
[root@pdsyw ~]# firewall-cmd --zone=home --change-interface=ens180
success
[root@pdsyw ~]# firewall-cmd --zone=home --add-service=samba --permanent
Warning: ALREADY_ENABLED: samba
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
17.公共网络-工作网络
[root@pdsyw ~]# firewall-cmd --zone=work --change-interface=ens160
success
[root@pdsyw ~]# firewall-cmd --zone=work --add-service=https --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
18.启用日志记录
[root@pdsyw ~]# firewall-cmd --set-log-denied=all
[root@pdsyw ~]# tail -f /var/log/messages
19.创建自定义区域
[root@pdsyw ~]# firewall-cmd --permanent --new-zone=pdsyw
success
[root@pdsyw ~]# firewall-cmd --zone=pdsyw --add-interface=ens150 --permanent
success
[root@pdsyw ~]# firewall-cmd --zone=pdsyw --add-port=8888/tcp --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
20.检查并移除接口和服务
[root@pdsyw ~]# firewall-cmd --zone=pdsyw --list-all
pdsyw (active)
target: default
icmp-block-inversion: no
interfaces: ens150
sources:
services:
ports: 8888/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@pdsyw ~]# firewall-cmd --zone=pdsyw --remove-interface=ens150 --permanent
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#
21.删除配置文件
[root@pdsyw ~]# rm /etc/firewalld/zones/pdsyw.xml
rm:是否删除普通文件 '/etc/firewalld/zones/pdsyw.xml'?y
[root@pdsyw ~]#
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
[root@pdsyw ~]#
通过本文的介绍,您应该已经掌握了在信创服务器上使用firewalld命令管理防火墙的基本方法和常用命令。firewalld提供了一种灵活且强大的方式来管理Linux系统的网络安全。如果您觉得这篇文章有用,请分享和转发。同时,别忘了点个关注和在看,以便未来获取更多实用的技术信息和解决方案。感谢大家的阅读,我们下次再见!