Linux防火墙基础:掌握firewall-cmd基础命令
Firewalld作为一款动态管理工具,通过其提供的firewall-cmd命令,能够简化并强化防火墙的配置流程。对于每一位Linux运维工程师而言,掌握firewall-cmd的基本命令不仅能够提升系统的安全性,更能显著提高运维工作的效率。本篇文章将详细介绍firewall-cmd的基本命令及其应用场景,帮助您轻松掌握这项必备技能,从而更好地管理和保护您的Linux系统。
🏡作者主页:点击!
🐧Linux基础知识(初学):点击!
🐧🐧Linux高级管理专栏:点击!
🔐Linux中firewalld防火墙:点击!
⏰️创作时间:2024年7月5日9点11分
🀄️文章质量:94分
前言
在现代Linux系统的管理中,防火墙的配置和管理是保障系统安全的关键任务之一。Firewalld作为一款动态管理工具,通过其提供的firewall-cmd命令,能够简化并强化防火墙的配置流程。对于每一位Linux运维工程师而言,掌握firewall-cmd的基本命令不仅能够提升系统的安全性,更能显著提高运维工作的效率。本篇文章将详细介绍firewall-cmd的基本命令及其应用场景,帮助您轻松掌握这项必备技能,从而更好地管理和保护您的Linux系统。
1.启动查看关闭
1.启动、停止、查看 firewalld 服务在安装cent0s7系统时,会自动安装irewelld 和图形化工具 firewal-config。执行以下命令。以启动 firewalld 并设置为开机自启动状态。
systemctl start firewalld //启动firewalld
systemctl enable firewalld //设置firewalld为开机自动启动
systemctl status firewalld | firewall-cmd --state //查看状态
停止禁用防火墙
systemctl stop firewalld //停止防火墙
systemctl disable firewalld //设置防火墙开机不自动启动
2.获取预定义信息
预定义信息主要包括三种:可用的区域,可用的服务以及可用的ICMP阻塞类型
可用的区域
firewall-cmd --get-zones
work drop internal external trusted home dmz public blo
可用的服务
firewall-cmd --get-service
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client
ceph ceph-mon dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync
freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imap
imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kpasswd ldap
ldaps libvirt libvirt-tls mdns mosh mountd ms-wbt mysql nfs ntp openvpn
pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp
ptp pulseaudio puppetmaster radius rpc-bind rsyncd samba samba-client
sane smtp smtps snmp snmptrap squid ssh synergy syslog syslog-tls telnet
tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server
wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
ICMP阻塞类型
firewall-cmd --get-icmptypes
destination-unreachable echo-reply echo-request parameter-problem
redirect router-advertisement router-solicitation source-quench
time-exceeded timestamp-reply timestamp-request
3.区域管理
使用 firewall-cmd 命令可以实现获取和管理区域,为指定区域绑定网络接口等功能。
显示默认的zone区域
firewall-cmd --get-default-zone
public
显示区域内的所有制定的规则
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33 ens36 ens37
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
sourceports:
icmp-blocks:
rich rules:
显示对应网卡所属的区域
firewall-cmd --get-zone-of-interface=ens33
将ens33网卡对应的区域改为internal内部区域
firewall-cmd --zone=public --change-interface=ens33
success
firewall-cmd --zone=internal --list-interfaces
ens33
firewall-cmd --get-zone-of-interface=ens33
ens33
显示所有激活区域
firewall-cmd --get-active-zones
public
interfaces: ens36 ens37 ens33
为内部区域(internal) 设置允许访问的服务
以下只是部分实例
firewall-cmd --zone=internal --add-service=myqsl
设置internal 区域允许访问myql服务
firewall-cmd --zone=internal --remove-service=samba-client
设置internal 区域不允许访问samba-client
firewall-cmd --zone=internal --list-services
显示internal区域内允许访问的所有服务
4端口管理
实现在 internal区域打开 443/TCP 端口。
firewal1-cmd --zone=internal --add-port=443/tcp
若想实现在 inteal 区域禁止 443/TCP 端口访问,可执行以下命令
firewall-cmd --zone=internal --remove-port=443/tcp
4.两种配置模式
Firewalld 提供两种配置模式:运行时模式(Runtime mode)和永久模式(Permanent mode)。
运行时模式表示当前内存中运行的防火墙配置,在系统或 firewalld 服务重启、停止时配置将失效;
永久模式表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置文件中的。
firewall-cmd 命令工具与配置模式相关的选项有三个:
- --reload: 重新加载防火墙规则并保持状态信息,即将永久配置应用为运行时配置。
- --permanent: 带有此选项的命令用于设置永久性规则,这些规则只有在重新启动 firewalld 或重新加载防火墙规则时才会生效;若不带有此选项,表示用于设置运行时规则。
- --runtime-to-permanent: 将当前的运行时配置写入规则配置文件中,使之成为永久性配置。
通过本文,您将学会如何使用这些选项来有效管理防火墙配置,从而提升Linux系统的安全防护水平。
"成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"
"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"
神秘泣男子
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)