firewalld_firewalld 查看规则 - CSDN
精华内容
参与话题
  • 【Centos7】5分钟理解防火墙firewalld

    万次阅读 2017-03-18 21:47:16
    Centos7中默认将原来的防火墙iptables升级为了firewalldfirewalld跟iptables比起来至少有两大好处: 1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效; 2、...
    Centos7中默认将原来的防火墙iptables升级为了firewalld,firewalld跟iptables比起来至少有两大好处:
    1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
    2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。

    多知道点
    iptables实际包含五张表
    大部分iptables的资料都介绍说iptables包含四张表、五条链,不过实际上iptables还有第五张表——security表,但 是这张表需要和selinux结合使用,而selinux虽然已经发布了十多年了但是直到现在还有很多人对他的理解不够透彻,甚至有很多人会将其关闭!
    其实selinux的设计理念在安全上来说是非常优秀的,而且理解了其设计理念之后再去使用也没那么复杂,只不过其内置的规则是非常复杂的,等有 机会学生专门给大家介绍一下selinux,现在还回到iptables的五张表,他们分别是filter、nat、mangle、raw和 security。
    filter表就是我们最常使用的过滤表;nat表主要用于数据包转发,比如局域网的电脑如果想连接互联网,那么就可以使用nat给转发一 下;mangle表的规则可以对数据包进行修改,比如修改ttl值等;raw表主要是为了提高效率使用的,raw本身的含义是指“原生的”、“未经过加工 的”,符合raw表所对应规则的数据包将会跳过一些检查,这样就可以提高效率,当然,raw表的优先级也是最高的;security是跟selinux相 关的MAC模式的安全过滤。
    当然,这些内容大家了解一下就行,即使不理解也可以使用将firewalld使用的很好。

    firewalld和iptables的关系
    firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结 构以及使用方法不一样罢了。
    firewalld的结构
    我们这里所说的结构并不是firewalld软件的结构,而是配置文件的结构。
    在具体介绍firewalld配置文件结构之前学生先来给大家介绍一下firewalld的配置模式,firewalld的配置模式设计的非常巧妙,而且这种设计思路也非常值得我们借鉴和学习。
    firewalld的配置模式
    firewalld的配置文件以xml格式为主(主配置文件firewalld.conf例外),他们有两个存储位置

    1、/etc/firewalld/
    2、/usr/lib/firewalld/

    使用时的规则是这样的:当需要一个文件时firewalld会首先到第一个目录中去查找,如果可以找到,那么就直接使用,否则会继续到第二个目录中查找。

    firewalld的这种配置文件结构的主要作用是这样的:在第二个目录中存放的是firewalld给提供的通用配置文件,如果我们想修改配置, 那么可以copy一份到第一个目录中,然后再进行修改。这么做有两个好处:首先我们日后可以非常清晰地看到都有哪些文件是我们自己创建或者修改过的,其 次,如果想恢复firewalld给提供的默认配置,只需要将自己在第一个目录中的配置文件删除即可,非常简单,而不需要像其他很多软件那样在修改之前还 得先备份一下,而且时间长了还有可能忘掉之前备份的是什么版本。

    当然,这种配置模式也并不是firewalld的首创,在其他很多地方也都有用到,比如java中用于记录日志的logback也是这种模式,他在 查找配置文件时会首先在根目录下找logback-test.xml文件,如果可以找到就直接使用,如果找不到就会接着找logback.xml文件,如 果还找不到就会使用自己包里边自带的配置文件,这样使用起来就非常方便了,比如我们可以把logback-test.xml和logback.xml两个 文件都创建出来,在开发机上使用logback-test.xml文件,然后在往服务器部署的时候直接将其删掉就可以了!当然还有很多产品也使用了这种配 置模式,spring的很多子框架也使用的是这种模式,比如spring MVC中的组件配置也是这样,如果没有配置的话就会使用默认的配置,当然,我们这里不是在讲Spring MVC所以就不展开了,如果想了解更多细节大家可以参考学生编写的《看透Spring MVC:源代码分析与实践》一书。

    配置文件结构
    firewalld的配置文件结构非常简单,主要有两个文件和三个目录:
    文件:firewalld.conf、lockdown-whitelist.xml
    目录:zones、services、icmptypes
    另外,如果使用到direct,还会有一个direct.xml文件。我们要注意,在保存默认配置的目录“/usr/lib/firewalld/”中只有我们这里所说的目录,而没有firewalld.conf、lockdown-whitelist.xml和direct.xml这三个文件,也就是说这三个文件只存在于“/etc/firewalld/”目录中。

    下面学生分别来给大家介绍一下这些文件和目录的作用

    firewalld.conf:firewalld的主配置文件,是键值对的格式,不过非常简单,只有五个配置项
    DefaultZone:默认使用的zone,关于zone学生稍后给大家详细介绍,默认值为public;
    MinimalMark: 标记的最小值,linux内核会对每个进入的数据包都进行标记,目的当然是为了对他们进行区分,比如学生在前面给大家补充iptables五张表相关的内 容时候介绍说符合raw表规则的数据包可以跳过一些检查,那么是怎么跳过的呢?这里其实就是使用的标记,当然对数据包的标记还有很多作用。这里所设置的 MinimalMark值就是标记的最小值,默认值为100,一般情况下我们不需要对其进行修改,但是如果我们有特殊需要的时候就可以通过对其进行修改来 告诉linux所使用标记的最小值了,比如我们需要给符合某条件的数据包标记为123,这时候为了防止混淆就需要将MinimalMark设置为一个大于 123的值了;
    CleanupOnExit:这个配置项非常容易理解,他表示当退出firewalld后是否清除防火墙规则,默认值为yes;
    Lockdown: 这个选项跟D-BUS接口操作firewalld有关,firewalld可以让别的程序通过D-BUS接口直接操作,当Lockdown设置为yes的 时候就可以通过lockdown-whitelist.xml文件来限制都有哪些程序可以对其进行操作,而当设置为no的时候就没有限制了,默认值为 no;
    IPv6_rpfilter:其功能类似于rp_filter,只不过是针对ipv6版的,其作用是判断所接受到的包是否是伪造的,检查方式主要是通过路由表中的路由条目实现的,更多详细的信息大家可以搜索uRPF相关的资料,这里的默认值为yes。
    lockdown-whitelist.xml:当Lockdown为yes的时候用来限制可以通过D-BUS接口操作firewalld的程序
    direct.xml:通过这个文件可以直接使用防火墙的过滤规则,这对于熟悉iptables的用户来说会非常顺手,另外也对从原来的iptables到firewalld的迁移提供了一条绿色通道
    zones:保存zone配置文件
    services:保存service配置文件
    icmptypes:保存和icmp类型相关的配置文件

    在firewalld的使用中最基础也是最重要的就是对zone的理解,不过现在还普遍理解的不是很透彻,下面学生就来给大家详细介绍一下zone到底是什么。

    zone
    firewalld默认提供了九个zone配置文件:block.xml、dmz.xml、drop.xml、external.xml、 home.xml、internal.xml、public.xml、trusted.xml、work.xml,他们都保存在“/usr/lib /firewalld/zones/”目录下。这些zone之间是什么关系?他们分别适用用哪些场景呢?
    为了弄明白这些问题大家需要先明白zone的本质含义。学生在上一节给大家介绍防火墙时说过防火墙就相当于一个门卫,门卫对具体某个来访的人判断是否应该放行是依靠规则来判断的,而我们这里的zone其实就是一套规则集,或者说是一套判断的方案。
    理解了这层含义firewalld就容易了,比如上面的九个zone其实就是九种方案,而且起决定作用的其实是每个xml文件所包含的内容,而不是 文件名,所以大家不需要对每种zone(每个文件名)的含义花费过多的精力,比如trusted这个zone会信任所有的数据包,也就是说所有数据包都会 放行,但是public这个zone只会放行其中所配置的服务,其他的一律不予放行,其实我们如果将这两个文件中的内容互换一下他们的规则就换过来了,也 就是public这个zone会放行所有的数据包,下面我们来看一下这两个文件的内容

    public.xml

    <?xml version="1.0" encoding="utf-8"?>
    <zone>  
    <short>Public</short>  
    <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
    <service name="ssh"/>
    <service name="dhcpv6-client"/>
    </zone>

    trusted.xml
    <?xml version="1.0" encoding="utf-8"?>
    <zone target="ACCEPT">  
    <short>Trusted</short>
    <description>All network connections are accepted.</description>
    </zone>
    我们要特别注意trusted.xml中zone的target,就是因为他设置为了ACCEPT,所以才会放行所有的数据包,而 public.xml中的zone没有target属性,这样就会默认拒绝通过,所以public这个zone(这种方案)只有其中配置过的服务才可以通 过。
    其他的zone大家可以自己打开xml文件来看一下,这里学生就不一一介绍了,关于zone配置文件的详细结构及含义后面学生再给大家进行讲解,下面学生再给大家介绍一下firewalld中的service。

    service
    service是firewalld中另外一个非常重要的概念,不过其含义是非常简单的。学生还是拿门卫的例子来给大家做解释,在iptables 的时代我们给门卫下达规则时需要告诉他“所有到22号楼的人全部予以放行”、“所有到80号楼的人全部予以放行”等等,不过到了firewalld的时代 就不需要这样了,而是可以直接下达像“到销售部的全部予以放行”这样的命令,然后门卫再一查发现销售部在80号楼,那么所有到80号楼的人门卫就都会放行 了。我们这里的楼牌号和端口号相对应,部门名和服务名相对应,这样大家应该就可以理解service的作用了。
    从端口号改为服务名主要有两个好处:首先是使用服务名配置的语义清晰,不容易出错;其次在对某个服务的端口号进行修改的时候只需要修改相应的 service文件就可以了,而不需要再修改防火墙方案——zone。这其实跟DNS将ip地址和域名关联了起来是一样的道理。下面学生再来给大家介绍一 下service的配置文件。
    service配置文件的命名规则是<服务名>.xml,比如ssh的配置文件是ssh.xml,http的配置文件是 http.xml等,他们默认保存在“/usr/lib/firewalld/services/”目录下,常见的服务其中都可以找到,如果我们想修改某 个服务的配置,那么可以复制一份到“/etc/firewalld/services/”目录下然后进行修改就可以了,要想恢复默认配置直接将我们自己的 配置文件删除就可以了。我们来看一下ssh服务的ssh.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <service>  
    <short>SSH</short>  
    <description>
    	Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. 
    	It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, 
    	enable this option. You need the openssh-server package installed for this option to be useful.
    </description>
    <port protocol="tcp" port="22"/>
    </service>
    可以看到这里配置了tcp的22号端口,所以将ssh服务配置到所使用的zone(默认public)中后tcp的22号端口就开放了。如果我们想将ssh的端口修改为222,那么只需要将ssh.xml复制一份到“/firewalld/services/”中,然后将端口号修改为222就可以了。当然直接修改“/usr/lib/firewalld/services/”中的配置文件也可以实现,但是强烈建议不要那么做,原因相信大家都明白。

    明白原理之后使用起来就可以非常灵活了,比如我们将“/etc/firewalld/services/ssh.xml”文件复制一份到“/etc/firewalld/services/”中,然后将名字改为abc.xml,并且将abc这个服务配置到所使用的zone中,这时22端口就会开放。也就是说在zone中所配置的服务其实跟实际的服务并不存在直接联系,而是和相应配置文件中配置的内容有关系。

    配置方法
    firewalld的配置方法主要有三种:firewall-config、firewall-cmd和直接编辑xml文件,其中 firewall-config是图形化工具,firewall-cmd是命令行工具,而对于linux来说大家应该更习惯使用命令行方式的操作,所以 firewall-config我们就不给大家介绍了。具体的配置方法学生在下一节给大家进行介绍。

    参考文献
    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html
    展开全文
  • firewalld 操作指南

    2018-12-20 16:33:50
    Firewalld简介: firewalld是centos7的一大特性,firewalld同时拥有命令行终端和图形化界面的配置工具,相比于iptables对火墙的管理更加容易上手但没有iptables控制精准,最大的好处有两个:支持动态更新,不用...

    Firewalld简介:

    firewalld是centos7的一大特性,firewalld同时拥有命令行终端和图形化界面的配置工具,相比于iptables对火墙的管理更加容易上手但没有iptables控制精准,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的zone概念,以分配对一个网络及其相关链接和界面一定程度的信任。支持以太网桥并有分离运行时间及永久配置选择,并且还具备一个通向服务或者应用程序以直接增加防火墙规则的接口

    简单来说就是为用户预先准备了几套防火墙策略集合(策略模板),然后可以根据生产场景的不同而选择合适的策略集合,实现了防火墙策略之间的快速切换。

    例如有一台笔记本电脑每天都要在办公室、咖啡厅和家里使用,按常理推断最安全的应该是家里的内网,其次是公司办公室,最后是咖啡厅,如果需要在办公室内允许文件共享服务的请求流量、回到家中需要允许所有的服务,而在咖啡店则是除了上网外不允许任何其他请求,这样的需求应该是很常见的,在以前只能频繁的进行手动设置,而现在只需要预设好zone区域集合,然后轻轻点击一下就可以切换过去了上百条策略了,极大的提高了防火墙策略的应用效率
     

    firewalld的域:

    • 在企业为中我们如果不想对一些用户开放网络连接,长将其加入到block域中(有回复),这样对方在收到无法访问的回复时,就不会继续请求访问,而当我们将其加入到drop域中,用户不会收到回复,就会一直请求访问,这样是占用我们系统资源的。
    • firewalld将配置存储在 /use/lib/firewalld/ 和 /etc/firewalld/ 中的各种XML文件里

    启用firewalld:

    systemctl stop iptables              //本次实验是测试firewalld对火墙策略的影响,因此关闭iptables
    
    systemctl disable iptables
    
    systemctl mask iptables           //将ipyables关闭冻结
    
    yum install firewalld fireewall-config -y       //安装支持服务的相关软件
    
    systemctl unmask firewalld
    
    systemctl start firewalld
    
    systemctl enable firewalld        //解冻并打开firewalld,设定开机自启

    使用命令行接口配置防火墙:

    先了解firewalld策略的参数:

    --state                         ##查看服务状态

    --get-default-zone      ##查询默认的区域名称。
    --set-default-zone=<区域名称>       ##设置默认的区域,不需要reload或者重启服务,是即改即生效,并且是永久的
    --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        ##让“永久生效”的配置规则立即生效,覆盖当前的

    显示firewalld的基础信息:

    将默认的域设定为trusted

    • trusted支持所有网络连接

    将某一ip及子网的流量导向指定域:

     

    //将来源于172.25.254.68及其子网的流量加入到trusted域中

     

    //可以访问

    //不再将来源于172.25.254.68及其子网的流量加入到trusted域中

    //无法访问apache

    firewalld对网卡的管理:

    firewalld对服务及接口的管理:

     

    • 注意reload不会刷掉在更新之前使用旧策略的用户,而compete-reload是完全刷新

    • 注意火墙对服务的管理其实就是对端口的管理

    直接更改文件来添加策略

    各个域的配置文件 /etc/firewalld/zones

    [root@iscsi-server zones]# ls

    public.xml public.xml.old ROL.xml //因为只写了这些,old放的是之前的 

    打开public.xml,里面对应的行 添加<service name="ftp"/>

    那么刚刚的进程 nf_conntrack_ftp 18638 0 (文件一旦更改就会产生,但是需要火墙策略读到,不然也没用,在5之前需要手动添加)

    //会直接运行,但是火墙还没有读到,需要firewalld-cmd --reload就好了

    对172.25.254.9实现访问信任模式

    [root@iscsi-server zones]# firewall-cmd --permanent --add-source=172.25.254.9 --zone=trusted

    [root@iscsi-server zones]# firewall-cmd  --permanent --add-source=172.25.254.0/24 --zone=trusted   //对172.25.254.0/24网段的添加到信任域 删除

    [root@iscsi-server zones]# firewall-cmd --permanent --remove-source=172.25.254.9 --zone=trusted  success

    [root@iscsi-server zones]# firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=trusted  success
     

    展开全文
  • firewalld

    2019-10-23 20:54:23
    firewalld服务 firewalld简介 ◆ firewalld是CentOS 7.0新推出的管理netfilter的工具 ◆ firewalld是配置和监控防火墙规则的系统守护进程。可以实现iptables,ip6tables,ebtables的功能 ◆ firewalld服务由firewalld...

    firewalld服务

    firewalld简介

    ◆ firewalld是CentOS 7.0新推出的管理netfilter的工具

    ◆ firewalld是配置和监控防火墙规则的系统守护进程。可以实现iptables,ip6tables,ebtables的功能

    ◆ firewalld服务由firewalld包提供

    ◆ firewalld支持划分区域zone,每个zone可以设置独立的防火墙规则

    ◆ 归入zone顺序:

    • 先根据数据包中源地址,将其纳为某个zone
    • 纳为网络接口所属zone
    • 纳入默认zone,默认为public zone,管理员可以改为其它zone

    ◆ 网卡默认属于public zone,lo网络接口属于trusted zone

    firewalld zone分类

    预定义服务

    firewalld配置

    ◆ firewall-cmd --get-services 查看预定义服务列表
    ◆ /usr/lib/firewalld/services/*.xml预定义服务的配置
    ◆ 三种配置方法

    • firewall-config (firewall-config包)图形工具
    • firewall-cmd (firewalld包)命令行工具
    • /etc/firewalld 配置文件,一般不建议

    firewall-cmd 命令选项

    ◆ --get-zones

    • 列出所有可用区域

    ◆ --get-default-zone

    • 查询默认区域

    ◆ --set-default-zone=<ZONE>

    • 设置默认区域

    ◆ --get-active-zones

    • 列出当前正使用的区域

    ◆ --add-source=<CIDR>[–zone=<ZONE>]

    • 添加源地址的流量到指定区域,如果无–zone= 选项,使用默认区域

    ◆ --remove-source=<CIDR> [–zone=<ZONE>]

    • 从指定区域中删除源地址的流量,如无–zone= 选项,使用默认区域

    ◆ --add-interface=<INTERFACE> [–zone=<ZONE>]

    • 添加来自于指定接口的流量到特定区域,如果无–zone= 选项,使用默认区域

    ◆ --remove-service=<SERVICE> [–zone=<ZONE>]

    • 从区域中删除指定服务,禁止该服务流量,如果无–zone= 选项,使用默认区域

    ◆ --remove-port=<PORT/PROTOCOL> [–zone=<ZONE>]

    • 从区域中删除指定端口和协议,禁止该端口的流量,如果无–zone= 选项,使用默认区域

    ◆ --reload

    • 删除当前运行时配置,应用加载永久配置

    ◆ --list-services

    • 查看开放的服务

    ◆ --list-ports

    • 查看开放的端口

    ◆ --list-all [–zone=<ZONE>]

    • 列出指定区域的所有配置信息,包括接口,源地址,端口,服务等,如果无–zone= 选项,使用默认区域

    firewall-cmd 命令示例

    ◆ 查看默认zone

    • firewall-cmd --get-default-zone

    ◆ 默认zone设为dmz

    • firewall-cmd --set-default-zone=dmz

    ◆ 在internal zone中增加源地址192.168.0.0/24的永久规则

    • firewall-cmd --permanent --zone=internal --add-source=192.168.0.0/24

    ◆ 在internal zone中增加协议mysql的永久规则

    • firewall-cmd --permanent –zone=internal --add-service=mysql

    ◆ 加载新规则以生效

    • firewall-cmd --reload

    实验:配置firewalld

    ◆ systemctl mask iptables

    ◆ systemctl mask ip6tables

    ◆ systemctl status firewalld

    ◆ systemctl enable firewalld

    ◆ systemctl start firewalld

    ◆ firewall-cmd --get-default-zone

    ◆ firewall-cmd --set-default-zone=public

    ◆ firewall-cmd --permanent --zone=public --list-all

    ◆ firewall-cmd --permanent --zone=public --add-port 8080/tcp

    ◆ firewall-cmd —reload

    其它规则

    ◆ 当基本firewalld语法规则不能满足要求时,可以使用以下更复杂的规则

    ◆ rich-rules 富规则,功能强,表达性语言

    ◆ Direct configuration rules 直接规则,灵活性差

    ◆ 帮助:man 5 firewalld.direct

    管理rich规则

    ◆ rich规则比基本的firewalld语法实现更强的功能,不仅实现允许/拒绝,还可以实现日志syslog和auditd,也可以实现端口转发,伪装和限制速率
    ◆ rich语法:

    • rule
      [source]
      [destination]
      service|port|protocol|icmp-block|masquerade|forward-port
      [log]
      [audit]
      [accept|reject|drop]

    规则

    ◆ 规则实施顺序:

    • 该区域的端口转发,伪装规则
    • 该区域的日志规则
    • 该区域的允许规则
    • 该区域的拒绝规则

    ◆ 每个匹配的规则生效,所有规则都不匹配,该区域默认规则生效

    rich规则选项

    rich日志规则

    ◆ log [prefix="<PREFIX TEXT>" [level=<LOGLEVEL>] [limit value="<RATE/DURATION>"]
    
    ◆ <LOGLEVEL> 可以是emerg,alert, crit, error, warning, notice, info, debug.
    
    ◆ <DURATION> s:秒, m:分钟, h:小时, d:天
    
    ◆ audit [limit value="<RATE/DURATION>"]
    

    伪装和端口转发

    NAT网络地址转换,firewalld支持伪装和端口转发两种NAT方式
    
    伪装NAT
    
    firewall-cmd --permanent --zone=<ZONE> --add-masquerade
    
    firewall-cmd --query-masquerade 检查是否允许伪装
    
    firewall-cmd --add-masquerade 允许防火墙伪装IP
    
    firewall-cmd --remove-masquerade 禁止防火墙伪装IP
    
    
    示例:
    firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 masquerade'
    

    端口转发

    ◆ 端口转发:将发往本机的特定端口的流量转发到本机或不同机器的另一个端口。通常要配合地址伪装才能实现

    firewall-cmd --permanent --zone=<ZONE> --add-forwardport=port=<PORTNUMBER>:proto=<PROTOCOL>[:toport=<PORTNUMBER>][:toaddr=<IPADDR>]
    

    ◆ 说明:toport= 和toaddr= 至少要指定一个

    rich规则

    ◆ rich规则语法:

    forward-port port=<PORTNUM> protocol=tcp|udp [toport=<PORTNUM>] [to-addr=<ADDRESS>]
    
    
    示例:
        转发从192.168.0.0/24来的,发往80/TCP的流量到防火墙的端口8080/TCP
    firewall-cmd --zone=work --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 forward-port port=80 protocol=tcp toport=8080'
    
    展开全文
  • Linux firewalld 防火墙使用

    万次阅读 2020-06-01 08:53:33
    firewalld 服务基本使用 firewalld-cmd 防护墙命令使用 public.xml 文件修改防火墙端口 注意事项 firewall 防火墙服务简述与安装 1、Centos7 默认的防火墙是 firewall,替代了以前的 iptables 2、firewall ...

    目录

    firewall 防火墙服务简述与安装

    firewalld 服务基本使用

    firewalld-cmd 防护墙命令使用

    public.xml 文件修改防火墙端口

    注意事项


    firewall 防火墙服务简述与安装

    1、Centos7 默认的防火墙是 firewall,替代了以前的 iptables

    2、firewall 使用更加方便、功能也更加强大一些

    3、firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。

    4、查看 firewall  版本:firewall-cmd --version

    [root@localhost ~]# firewall-cmd --version
    0.4.4.4
    [root@localhost ~]# 
    

    firewall 防火墙安装

    1)像使用 iptables 一样,firewall 同样需要安装

    2)需要注意的是某些系统已经自带了 firewal l的,如果查看版本没有找到,则可以进行 yun 安装

    3)安装指令: yum install firewalld

    firewalld 服务基本使用

    1、firewall 与 iptables 一样都是服务,所以可以使用 systemctl 服务管理工具来操作

    目的 命令
    查看防火墙状态 systemctl status firewalld
    关闭防火墙,停止 firewall 服务 systemctl stop firewalld
    开启防火墙,启动 firewall 服务 systemctl start firewalld
    重启防火墙,重启 firewall 服务 systemctl restart firewalld
    查看 firewall 服务是否开机启动 systemctl is-enabled firewalld
    开机时自动启动 firewall 服务 systemctl enable firewalld.service
    开机时自动禁用 firewall 服务 systemctl disable firewalld.service

    firewalld-cmd 防护墙命令使用

    1、上面所说的 firewall 可以看成整个防火墙服务,而 firewall-cmd 可以看成是其中的一个功能,可用来管理端口

    一:查看 firewall-cmd 状态,即查看 firewall 防火墙程序是否正在运行: firewall-cmd --state

    [root@localhost ~]#  firewall-cmd --state
    running
    [root@localhost ~]# 
    

    二:查看已打开的所有端口firewall-cmd --zone=public --list-ports

    [root@localhost ~]# firewall-cmd --zone=public --list-ports
    6379/tcp 22122/tcp 23000/tcp 8080/tcp 8888/tcp 9502/tcp 6662/tcp 9999/tcp 7002/tcp 6661/tcp 6688/tcp 6667/tcp 6689/tcp 8000/tcp 6663/tcp 9070/tcp 9089/tcp 9988/tcp 9222/tcp 4444/tcp
    [root@localhost ~]# 
    

    三:开启指定端口

    1、开启一个端口:firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent 永久生效,没有此参数重启后失效)

    2、重新加载 firewall,修改配置后,必须重新加载才能生效:firewall-cmd --reload 

    [root@localhost ~]# firewall-cmd --zone=public --list-port
    9876/tcp 8090/tcp 80/tcp 8080/tcp
    [root@localhost ~]# firewall-cmd --zone=public --add-port=3307/tcp --permanent
    success
    [root@localhost ~]# firewall-cmd --reload
    success
    [root@localhost ~]# firewall-cmd --zone=public --list-port
    9876/tcp 8090/tcp 80/tcp 8080/tcp 3307/tcp
    [root@localhost ~]# 
    

    四:关闭指定端口

    1、关闭 9876 端口:firewall-cmd --zone=public --remove-port=9898/tcp --permanent(--permanent 表示永久生效,没有此参数重启后失效)

    2、重新加载 firewall,修改配置后,必须重新加载才能生效:firewall-cmd --reload 

    [root@localhost ~]# firewall-cmd --zone=public --list-ports
    9876/tcp 8090/tcp 80/tcp 8080/tcp
    [root@localhost ~]# firewall-cmd --zone=public --remove-port=9876/tcp --permanent
    success
    [root@localhost ~]# firewall-cmd --reload
    success
    [root@localhost ~]# firewall-cmd --zone=public --list-ports
    8090/tcp 80/tcp 8080/tcp
    [root@localhost ~]# 
    

    public.xml 文件修改防火墙端口

    1、firewall-cmd对端口的操作,如开放端口等信息,都放在在"/etc/firewall/zones/public.xml"中记录

    2、所以直接修改此文件也是可以的

    注意事项

    1、如下所示,CentOS 7.2 Linux系统防火墙明明开启了指定的端口,tomcat服务器端口也指定正确,启动没有任何问题,最后从windows浏览器访问的时候,却只有80端口有效,其余的端口全部访问失败

    2、最后原因居然是因为系统是阿里云服务器,而它的后台为了安全,封掉了其它端口的访问,所以即使防火墙修改了也没用,解决办法是登录阿里云服务器后台,修改它的安全组策略即可。这是生产上遇到的问题。

     

    展开全文
  • Linux Firewalld用法及案例

    万次阅读 2018-05-03 10:50:42
    FIREWALLD Firewalld概述 动态防火墙管理工具 定义区域与接口安全等级 运行时和永久配置项分离 两层结构 核心层 处理配置和后端,如iptables、ip6tables、ebtables、ipset和模块加载器 顶层D-Bus 更改和创建...
  • firewalld常用命令

    千次阅读 2019-03-13 18:10:37
    1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :systemctl enable ...
  • Firewalld 详解

    2019-05-17 10:36:54
    文章目录Firewalld好处详解zone网络请求如何判断使用哪个 zone 的servicerich langulage rule理解多规则命令常用命令收集关于 zone配置文件关于 source关于 interface(网卡)关于 port关于服务配置文件关于伪装 ip...
  • Firewalld详解

    千次阅读 2016-11-08 10:59:44
    动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙,用以支持网络 “ zones” ,以分配对一个网络及其相关链接和界面一定程度的信任。它具备对 IP v4 和 IP v6 防火墙 设置的支持。它支持以太网桥,并有分离...
  • CentOS 7 firewalld使用简介

    万次阅读 2014-09-28 18:46:44
    学习apache安装的时候需要打开80端口,由于centos 7版本以后默认使用firewalld后,网上关于iptables的设置方法已经不管用了,想着反正iptable也不会用,索性直接搬官方文档,学习firewalld了,好像比iptables要...
  • firewalld和iptables介绍

    2018-12-28 17:05:11
    firewalld: 动态防火墙后台程序firewalld提供了一个动态管理的防火墙,用以支持网络“zones”,以分配对一个网络及其相关链接和界面一定程度的信任。它具备对IPv4和IPv6防火墙设置的支持。他支持以太网桥,并有分离...
  • firewalld配置文件修改

    2020-08-15 09:24:07
    网上大多数文章都是直接讲命令方式,很少讲直接通过配置文件修改,所以这里记录一下。 从命令执行结果查看配置文件变化。 开放端口 永久开放2个端口 ...在 /etc/firewalld/zones 下的 public.xml里: <?
  • FirewallD 开启 IP 白名单Firewalld 中的基本概念区域(zone)安装并启用防火墙熟悉当前的防火墙规则使用 Firewalld 配置 IP 白名单 Firewalld 是可用于许多 Linux 发行版的防火墙管理解决方案,它充当 Linux 内核提供...
  • CentOS7为firewalld添加开放端口及相关操作

    万次阅读 多人点赞 2017-12-11 14:07:55
    1、firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld  停止: systemctl disable firewalld 禁用: systemctl stop firewalld   2.systemctl是CentOS7的服务...
  • 1、firewalld的基本使用 启动Firewalld防火墙服务: systemctl start firewalld 查看Firewalld防火墙服务: systemctl status firewalld 停止Firewalld防火墙服务: ...
  • Firewalld防火墙 防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel...
  • Firewalld与iptables防火墙简述: Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。linux系统的防火墙体系基于内核编码实现,具有非常稳定的...
  • 1、关闭fireealld防火墙 a. 先查看防火墙状态 [root@bogon ~]# systemctl status firewalld ----------------------------------------------------------...|firewalld.service - firewalld - dynamic firewall dae...
  • CentOS7中firewalld的安装与使用详解

    万次阅读 2018-12-20 10:51:57
    一、软件环境   [root@Geeklp201 ~]# cat /etc/redhat-release ...1、firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防...
  • Firewalld 日志开启.

    千次阅读 2019-05-23 15:17:01
    1 开启firewalld 的debug日志,编辑 /etc/sysconfig/firewalld文件加入debug参数,重启firewalld,日志输出到 /var/log/firewalld: root@xxx:[/var/log]$vi /etc/sysconfig/firewalld # firewalld command line args...
  • firewalld服务被锁定,不能添加对应端口 执行命令,即可实现取消服务的锁定 # systemctl unmask firewalld 下次需要锁定该服务时执行 # systemctl mask firewalld
1 2 3 4 5 ... 20
收藏数 70,321
精华内容 28,128
关键字:

firewalld