zoukankan      html  css  js  c++  java
  • firewalld规则写法

    需要注意的是Firewalld中的区域与接口

    一个网卡仅能绑定一个区域。比如: eth0-->A区域

    但一个区域可以绑定多个网卡。比如: B区域-->eth0、eth1、eth2

    可以根据来源的地址设定不同的规则。比如:所有人能访问80端口,但只有公司的IP才允许访问22端口

    trusted 允许所有的数据包流入与流出 白名单

    public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量

    drop 拒绝流入的流量,除非与流出的流量相关 黑名单

    1.获取当前默认的区域

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

    public

    2.查看当前活动的区域

    [root@m01 ~]# firewall-cmd --get-active-zones

    public

    interfaces: eth0 eth1

    3.查看firewalld规则明细

    [root@m01 ~]# firewall-cmd --list-all

    public (active)

    target: default

    icmp-block-inversion: no

    interfaces: eth0 eth1

    sources:

    services: ssh dhcpv6-client

    ports:

    protocols:

    masquerade: no

    forward-ports:

    source-ports:

    icmp-blocks:

    rich rules:

    3.使用firewalld多个区域规则结合,调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.1/24则允许。

    [root@m01 ~]# firewall-cmd --remove-service=ssh

    [root@m01 ~]# firewall-cmd --add-source=10.0.0.1/32 --zone=trusted

    [root@m01 ~]# firewall-cmd --get-active-zone

    public

    interfaces: eth0 eth1

    trusted

    sources: 10.0.0.1/32

    runtime运行时: 修改规则马上生效,但如果重启服务则马上失效,测试建议。

    permanent持久配置: 修改规则后需要reload重载服务才会生效,生产建议。

    firewalld放行端口

    [root@m01 ~]# firewall-cmd --add-port=80/tcp

    [root@m01 ~]# firewall-cmd --add-port={8081/tcp,8082/tcp}

    [root@m01 ~]# firewall-cmd --remove-port={8081/tcp,8082/tcp}

    firewalld放行自带服务

    [root@m01 ~]# firewall-cmd --add-service={http,https}

    [root@m01 ~]# #firewall-cmd --add-port=6379/tcp

    [root@m01 ~]# firewall-cmd --add-service=redis

    firewalld放行自定义的服务 qqqq--->1111

    [root@m01 ~]# cd /usr/lib/firewalld/services/

    [root@m01 services]# cp http.xml qqqq.xml

    [root@m01 services]# vim qqqq.xml 80--->1111

    [root@m01 services]# systemctl restart firewalld

    [root@m01 services]# firewall-cmd --add-service=qqqq

     

    firewalld端口转发 --> 四层负载均衡

    firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

    [root@m01 ~]# firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.7

    [root@m01 ~]# firewall-cmd --add-masquerade #IP地址伪装

    [root@m01 ~]# firewall-cmd --permanent --add-forward-port=port=6666:proto=tcp:toport=3306:toaddr=172.16.1.51

    firewalld富规则

    rule

    [source]

    [destination]

    service|port|protocol|icmp-block|masquerade|forward-port

    [log]

    [audit]

    [accept|reject|drop]

    rule [family="ipv4|ipv6"]

    source address="address[/mask]" [invert="True"]

    service name="service name"

    port port="port value" protocol="tcp|udp"

    forward-port port="port value" protocol="tcp|udp" to-port="port value" to-addr="address"

    accept | reject | drop

    1.允许10.0.0.0/24网段能够访问http服务,仅允许172.16.1.7/32主能访问ssh服务

    10网段能访问http服务

    172.16.1.7能访问ssh服务

    其他统统拒绝

    [root@m01 ~]# firewall-cmd --remove-service=ssh

    [root@m01 ~]# firewall-cmd --remove-service=dhcpv6-client

    [root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.0/24 service name=http accept'

    [root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.7/32 port port=22 protocol=tcp accept'

    2.默认所有人就能连接ssh服务,但拒绝172.16.1.0/24网段.

    [root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh drop'

    3.允许所有人能访问http,https服务,但只有10.0.0.1主机可以访问ssh服务

    [root@m01 ~]# firewall-cmd --remove-service=ssh

    [root@m01 ~]# firewall-cmd --add-service={http,https}

    [root@m01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1/32 service name=ssh accept'

    4.当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.7的22端口

    [root@m01 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/32" forward-port port=5555 protocol=tcp to-port=22 to-addr=172.16.1.7'

    如果没有添加--permanent参数则重启firewalld会失效

    富规则按先后顺序匹配,按先匹配到的规则生效

  • 相关阅读:
    HTB-靶机-Charon
    第一篇Active Directory疑难解答概述(1)
    Outlook Web App 客户端超时设置
    【Troubleshooting Case】Exchange Server 组件状态应用排错?
    【Troubleshooting Case】Unable to delete Exchange database?
    Exchange Server 2007的即将生命周期,您的计划是?
    "the hypervisor is not running" 故障
    Exchange 2016 体系结构
    USB PE
    10 months then free? 10个月,然后自由
  • 原文地址:https://www.cnblogs.com/omgasw/p/11384608.html
Copyright © 2011-2022 走看看