树叶云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

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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