当前位置:   article > 正文

使用firewall-cmd仅允许某个ip访问主机指定端口_firewall-cmd 允许指定ip

firewall-cmd 允许指定ip

firewall-cmd是个很棒的工具,使用通俗易懂的语法,让你轻松制定出复杂的防火墙规则,对于日常网络管理很有帮助。

这里不想详细介绍firewall-cmd如何操作,网上资料已非常多,只是通过一些个例从个人角度理解firewall-cmd的结构思想。

  • 允许10.0.0.1访问主机10.0.0.55的25480端口

看到很多资料都是使用添加规则的方法实现,如下:

firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/32" port protocol="tcp" port="25480" accept'

这在默认zone区新建了一条规则实现指定Ip访问 。

这种方式看起来就像在用firewall-cmd重写iptable规则,让人感觉没能发挥firewalld本身优势,规则理解起来不够简洁。

  • 换一种firewalld的实现方法
  1. firewall-cmd --add-port=25480/tcp --zone=work
  2. firewall-cmd --add-source=10.0.0.1 --zone=work

以上将在work中新建了一个port及一个source

同样的方法实现了指定ip访问指定端口,但这个看起来更firewall-cmd.

  • 对firewall-cmd的理解

针对上面的实现可以理解为:所有外来访问默认走public规则,即不允许访问25480端口;如果是10.0.0.1访问除了走默认zone(public)外还要走work,即允许访问25480端口。

从显示的zone信息可以理解为对iptable规则的分拆

target: default        ##可以是ACCEPT、DROP等,这个影响后面内容是接受还是拒绝

icmp-block-inversion: no

interfaces:    ##指这网络接口

sources: 10.0.0.1    ##可以是ip,mac,但不能是ip段,遇到ip段如何设置欢迎知道的评论回复。

services: dhcpv6-client ssh  ##服务  

ports: 25480/tcp   ##端口

protocols:            ##协议,如果这里添加tcp,所有tcp端口都将被允许

masquerade: no

forward-ports:

source-ports:

icmp-blocks:

rich rules:      ##规则

上面的列表根据字面意思就很容易理解,填写多项内容即形成多条规则组合。

  • 数据流向小结:

当请求到达主机,firewald先判断默认zone规则,默认规则走完后遍历系统内其他zone区,如果其他zone设置规则,继续执行其他所有规则。所以我们也可以自己添加zone区用于特定类型的规则管理。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/380062
推荐阅读
相关标签
  

闽ICP备14008679号