树叶云linux教程:8.3.1 终端管理工具

第2章在讲解Linux命令时曾经听到,命令行终端是一种极富效率的工作方式,firewall-cmd是firewalld防火墙配置管理工具的CLI(命令行界面)版本。它的参数一般都是以“长格式”来提供的,大家不要一听到长格式就头大,因为RHEL 7系统支持部分命令的参数补齐,其中就包含这条命令(很酷吧)。也就是说,现在除了能用Tab键自动补齐命令或文件名等内容之外,还可以用Tab键来补齐表8-3中所示的长格式参数了(这太棒了)。

表8-3 firewall-cmd命令中使用的参数以及作用

参数作用
–get-default-zone查询默认的区域名称
–set-default-zone=<区域名称>设置默认的区域,使其永久生效
–get-zones显示可用的区域
–get-services显示预先定义的服务
–get-active-zones显示当前正在使用的区域与网卡名称
–add-source=将源自此IP或子网的流量导向指定的区域
–remove-source=不再将源自此IP或子网的流量导向某个指定区域
–add-interface=<网卡名称>将源自该网卡的所有流量都导向某个指定区域
–change-interface=<网卡名称>将某个网卡与区域进行关联
–list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
–list-all-zones显示所有区域的网卡配置参数、资源、端口以及服务等信息
–add-service=<服务名>设置默认区域允许该服务的流量
–add-port=<端口号/协议>设置默认区域允许该端口的流量
–remove-service=<服务名>设置默认区域不再允许该服务的流量
–remove-port=<端口号/协议>设置默认区域不再允许该端口的流量
–reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
–panic-on开启应急状况模式
–panic-off关闭应急状况模式

与Linux系统中其他的防火墙策略配置工具一样,使用firewalld配置的防火墙策略默认为运行时(Runtime)模式,又称为当前生效模式,而且随着系统的重启会失效。如果想让配置策略一直存在,就需要使用永久(Permanent)模式了,方法就是在用firewall-cmd命令正常设置防火墙策略时添加–permanent参数,这样配置的防火墙策略就可以永久生效了。但是,永久生效模式有一个“不近人情”的特点,就是使用它设置的策略只有在系统重启之后才能自动生效。如果想让配置的策略立即生效,需要手动执行firewall-cmd –reload命令。

接下来的实验都很简单,但是提醒大家一定要仔细查看刘遄老师使用的是Runtime模式还是Permanent模式。如果不关注这个细节,就算是正确配置了防火墙策略,也可能无法达到预期的效果。

查看firewalld服务当前所使用的区域:

    [root@linuxprobe ~]# firewall-cmd --get-default-zone
    public

查询eno16777728网卡在firewalld服务中的区域:

    [root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=eno16777728
    public

把firewalld服务中eno16777728网卡的默认区域修改为external,并在系统重启后生效。分别查看当前与永久模式下的区域名称:

    [root@linuxprobe ~]# firewall-cmd --permanent --zone=external --change-interface=eno16777728
    success
    [root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=eno16777728
    public
    [root@linuxprobe ~]# firewall-cmd --permanent --get-zone-of-interface=eno16777728
    external

把firewalld服务的当前默认区域设置为public:

    [root@linuxprobe ~]# firewall-cmd --set-default-zone=public
    success
    [root@linuxprobe ~]# firewall-cmd --get-default-zone 
    public

启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用):

    [root@linuxprobe ~]# firewall-cmd --panic-on
    success
    [root@linuxprobe ~]# firewall-cmd --panic-off
    success

查询public区域是否允许请求SSH和HTTPS协议的流量:

    [root@linuxprobe ~]# firewall-cmd --zone=public --query-service=ssh
    yes
    [root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https
    no

把firewalld服务中请求HTTPS协议的流量设置为永久允许,并立即生效:

    [root@linuxprobe ~]# firewall-cmd --zone=public --add-service=https
    success
    [root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-service=https
    success
    [root@linuxprobe ~]# firewall-cmd --reload
    success

把firewalld服务中请求HTTP协议的流量设置为永久拒绝,并立即生效:

    [root@linuxprobe ~]# firewall-cmd --permanent --zone=public --remove-service=http 
    success
    [root@linuxprobe ~]# firewall-cmd --reload 
    success

把在firewalld服务中访问8080和8081端口的流量策略设置为允许,但仅限当前生效:

    [root@linuxprobe ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
    success
    [root@linuxprobe ~]# firewall-cmd --zone=public --list-ports 
    8080-8081/tcp

把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效:

    流量转发命令格式为firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>


    [root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
    success
    [root@linuxprobe ~]# firewall-cmd --reload
    success

在客户端使用ssh命令尝试访问192.168.10.10主机的888端口:

    [root@client A ~]# ssh -p 888 192.168.10.10
    The authenticity of host '[192.168.10.10]:888 ([192.168.10.10]:888)' can't be established.
    ECDSA key fingerprint is b8:25:88:89:5c:05:b6:dd:ef:76:63:ff:1a:54:02:1a.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '[192.168.10.10]:888' (ECDSA) to the list of known hosts.
    [email protected]'s password:此处输入远程root管理员的密码
    Last login: Sun Jul 19 21:43:48 2017 from 192.168.10.10

firewalld中的富规则表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。比如,我们可以在firewalld服务中配置一条富规则,使其拒绝192.168.10.0/24网段的所有用户访问本机的ssh服务(22端口):

    [root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
    success
    [root@linuxprobe ~]# firewall-cmd --reload
    success

在客户端使用ssh命令尝试访问192.168.10.10主机的ssh服务(22端口):

    [root@client A ~]# ssh 192.168.10.10
    Connecting to 192.168.10.10:22...
    Could not connect to '192.168.10.10' (port 22): Connection failed.

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/191350.html<

(0)
运维的头像运维
上一篇2025-04-01 02:18
下一篇 2025-04-01 02:19

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注