美文网首页
firewallld

firewallld

作者: 胖虎喜欢小红 | 来源:发表于2020-02-22 10:05 被阅读0次

    rhel 7:firewall-cmd工具,firewalld服务

    1、区域:

    firewalld将网卡对应到不同的区域(zone),通过不同的zone定义了不同的安全等级

    trusted :允许所有流量通过
    home/internal:仅允许ssh数据通过
    work:仅允许ssh,ipp-client,dhcpv6-client数据通过
    public:默认区域,仅允许ssh,dhcpv6-client数据通过
    external:仅允许ssh数据通过,通过该区域的数据将会伪装(SNAT/DNAT)
    dmz:仅允许ssh数据通过
    block:任何传入的网络数据包都将被阻止。拒绝所有流量
    drop:拒绝所有流量,没有返回回应消息
    
    2、命令详解
    firewall-cmd --permanent
    --permanent   #永久生效的配置参数、资源、端口以及服务等信息
    1、域zone相关的命令
    --get-default-zone  #查询默认的区域名称
    --set-default-zone=<区域名称>   #设置默认的区域
    --get-active-zones  #显示当前正在使用的区域与网卡名称
    --get-zones         #显示总共可用的区域
    2、services管理的命令
    --add-service=<服务名> --zone=<区域>       #设置指定区域允许该服务的流量
    --remove-service=<服务名> --zone=<区域>    #设置指定区域不再允许该服务的流量
    3、Port相关命令
    --add-port=<端口号/协议> --zone=<区域>      #设置指定区域允许该端口的流量
    --remove-port=<端口号/协议> --zone=<区域>   #设置指定区域不再允许该端口的流量
    4、查看所有规则的命令
    --list-all --zone=<区域>  显示指定区域的网卡配置参数、资源、端口以及服务等信息
    --reload   #让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
    
    3、firewalld配置使用

    1、查看默认区域:

    环境:
    firewall-server/ip:192.168.94.133
    test/ip:192.168.94.134

    [root@firewall-server ~]# netstat -lntp | grep :80
    tcp6       0      0 :::80                   :::*                    LISTEN      1250/httpd
    [root@firewall-server ~]# systemctl start firewalld
    [root@firewall-server ~]# firewall-cmd --get-default-zone
    public
    验证:
    [root@test ~]# curl -I 192.168.94.133
    curl: (7) Failed connect to 192.168.94.133:80; No route to host
    

    2、更改默认区域

    [root@firewall-server ~]# firewall-cmd --set-default-zone=trusted
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    验证:
    [root@test ~]# curl -I 192.168.94.133
    HTTP/1.1 200 OK
    ================================================
    修改回默认区域:
    [root@firewall-server ~]# firewall-cmd --set-default-zone=public
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    

    3.向public区域添加服务

    [root@firewall-server ~]# firewall-cmd --permanent --add-service=http --zone=public
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    验证:
    [root@test ~]# curl -I 192.168.94.133
    HTTP/1.1 200 OK
    

    4.指定IP地址为192.168.94.134/24的客户端进入drop区域

    [root@firewall-server ~]# firewall-cmd --permanent --add-source=192.168.94.134/24 --zone=drop
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    验证:
    [root@test ~]# curl -I 192.168.94.133  #访问不通
    

    5.将192.168.94.134/24移除drop区域

    [root@firewall-server ~]# firewall-cmd --permanent --remove-source=192.168.94.134/24 --zone=drop
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    验证:
    [root@test ~]# curl -I 192.168.94.133
    HTTP/1.1 200 OK
    

    6.向pubic区域添加服务,以添加端口的方式

    [root@firewall-server ~]# firewall-cmd --permanent --add-port=80/tcp --zone=public
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    验证:
    [root@test ~]# curl -I 192.168.94.133:80
    HTTP/1.1 200 OK
    

    7、删除服务、端口

    [root@firewall-server ~]# firewall-cmd --permanent --remove-service=http --zone=public 
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    验证:
    用192.168.94.134访问192.168.94.133机器
    [root@test ~]# curl -I http://192.168.94.133   #访问通
    HTTP/1.1 200 OK
    ====================================================================================
    [root@firewall-server ~]# firewall-cmd --permanent --remove-port=80/tcp --zone=public 
    success
    [root@firewall-server ~]# firewall-cmd --reload
    success
    验证:
    在192.168.94.134访问192.168.94.133机器
    [root@test ~]# curl -I http://192.168.94.133  #访问失败
    curl: (7) Failed connect to 192.168.94.133:80; No route to host
    

    相关文章

      网友评论

          本文标题:firewallld

          本文链接:https://www.haomeiwen.com/subject/ebnkqhtx.html