1. 服务器/VPS/主机用户Telegram电报群: https://t.me/openos
    黑群晖 Synology Telegram电报群: https://t.me/nasfan
    排除公告

CentOS 7 firewall防火墙屏蔽除指定IP外的所有IP

本帖由 post2020-11-23 发布。版面名称:服务器论坛

  1. post

    post New Member

    注册:
    2019-10-24
    帖子:
    465
    允许192.168.1.10所有访问所有端口

    firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent


    移除192.168.1.10所有访问所有端口

    firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent



    允许192.168.2.0/24(0-255)所有访问所有端口

    firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.2.0/24" accept' --permanent



    允许192.168.1.10所有访问TCP协议的22端口

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



    允许192.168.1.10所有访问TCP协议的22端口

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



    防火墙重新载入(必须重新载入后才能生效)

    firewall-cmd --reload



    查看rich-rules(富规则)

    firewall-cmd --list-rich-rules


    查看防火墙服务规则

    firewall-cmd --list-services


    查看 防火墙所有规则

    firewall-cmd --list-all


    查看防火墙所有区域的配置规则

    firewall-cmd --list-all-zones


    查看默认区域

    firewall-cmd --get-default-zone


    查看网络接口使用区域

    firewall-cmd --get-active-zones


    查看默认的可用服务

    firewall-cmd --get-services


    要启用或禁用HTTP服务

    firewall-cmd --zone=public --add-service=http --permanent
    firewall-cmd --zone=public --remove-service=http --permanent 



    提示
    可以根据自己的需求更改设置
    accept 允许
    reject 拒绝 drop 拒绝

    --add-rich-rule 添加设置
    --remove-rich-rule 移除设置
    --permanent 永久生效, 需要重新载入后生效

    其他参考

    firewall-cmd --list-all-zones #查看所有的zone信息
    firewall-cmd --get-default-zone #查看默认zone是哪一个
    firewall-cmd --zone=internal --change-zone=p3p1 #临时修改接口p3p1所属的zone为internal
    firewall-cmd --add-service=http #暂时开放http
    firewall-cmd --permanent --add-service=http #永久开放http
    firewall-cmd --zone=public --add-port=80/tcp --permanent #在public中永久开放80端口
    firewall-cmd --permanent --zone=public --remove-service=ssh #从public zone中移除服务
    firewall-cmd --reload #重新加载配置
    systemctl restart firewalld #重启firewalld服务,使配置生效/可查



    参考
    http://blog.51cto.com/andyxu/2137046
    https://linux.cn/article-8098-1.html
    http://blog.51cto.com/jschu/1910654
    http://blog.51cto.com/11638832/2092203
    https://blog.csdn.net/ywd1992/article/details/80401630
    http://blog.51cto.com/jschu/2063324