zoukankan      html  css  js  c++  java
  • firewalld

    FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。

    安装和管理

    1. 启动服务,并在系统引导时启动该服务

    $ sudo systemctl start firewalld
    $ sudo systemctl enable firewalld
    

    2. 停止并禁用

    $ sudo systemctl stop firewalld
    $ sudo systemctl disable firewalld
    

    3.检查防火墙状态

    $ sudo firewall-cmd --state
    

    4.要查看 FirewallD 守护进程的状态

    $ sudo systemctl status firewalld
    

    5.重新加载 FirewallD 配置:

    $ sudo firewall-cmd --reload
    

    配置FireWallD

    配置文件位于两个目录中:

    • /usr/lib/FirewallD 下保存默认配置,如默认区域和公用服务。 避免修改它们,因为每次 firewall 软件包更新时都会覆盖这些文件。
    • /etc/firewalld 下保存系统配置文件。 这些文件将覆盖默认配置。

    配置集

    FirewallD 使用两个配置集:“运行时”和“持久”。 在系统重新启动或重新启动 FirewallD 时,不会保留运行时的配置更改,而对持久配置集的更改不会应用于正在运行的系统。

    默认情况下,firewall-cmd 命令适用于运行时配置,但使用 --permanent 标志将保存到持久配置中。要添加和激活持久性规则,你可以使用两种方法之一。

    1. 将规则同时添加到持久规则集和运行时规则集中。

    $ sudo firewall-cmd --zone=public --add-service=http --permanent
    $ sudo firewall-cmd --zone=public --add-service=http
    

    2. 将规则添加到持久规则集中并重新加载 FirewallD。

    $ sudo firewall-cmd --zone=public --add-service=http --permanent
    $ sudo firewall-cmd --reload
    

    reload 命令会删除所有运行时配置并应用永久配置。因为 firewalld 动态管理规则集,所以它不会破坏现有的连接和会话。

    允许或者拒绝任意端口/协议

    $ sudo firewall-cmd --zone=public --add-port=12345/tcp --permanent
    $ sudo firewall-cmd --zone=public --remove-port=12345/tcp --permanent
    

     

    丰富规则

    允许来自主机 192.168.0.14 的所有 IPv4 流量。

    $ sudo firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address=192.168.0.14 accept'

    拒绝来自主机 192.168.1.10 到 22 端口的 IPv4 的 TCP 流量。

    $ sudo firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject'

    常用用法:

    允许192.168.142.166访问50070端口

    $ firewall-cmd --permanent --add-rich-rule "rule family="ipv4" source address="192.168.31.111" port protocol="tcp" port="50070" accept"
    $ firewall-cmd --reload
    

      

    配置文件:

    firewalld 配置文件所在路径/etc/firewalld/zones/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"/>
      <port protocol="tcp" port="80"/>
      <rule family="ipv4">
        <source address="192.168.31.111"/>
        <port protocol="tcp" port="50070"/>
        <accept/>
      </rule>
      <rule family="ipv4">
        <source address="192.168.31.112"/>
        <port protocol="tcp" port="50070"/>
        <accept/>
      </rule>
    </zone>
    
  • 相关阅读:
    每日一水 POJ8道水题
    编译和使用 MySQL C++ Connector
    j2ee model1模型完成分页逻辑的实现 详解!
    DB查询分析器访问EXCEL时,要在表名前后加上中括弧或双引号
    指向结构体变量的指针
    EOSS V3.0 企业运营支撑系统(基于RBAC原理的权限管理)
    MybatisGen1.0 Mybatis JavaBean Mapper生成工具
    The table name must be enclosed in double quotation marks or sqare bracket while accessing EXCEL by
    资源-Android:Android
    软件-开发软件:Android Studio
  • 原文地址:https://www.cnblogs.com/zenan/p/9592354.html
Copyright © 2011-2022 走看看