美文网首页
centos 防火墙配置

centos 防火墙配置

作者: 天生小包 | 来源:发表于2018-09-26 18:05 被阅读0次

    1、停止firewall

    # systemctl stop firewalld.service 
    

    2、禁止firewall开机启动

     //设置开机启用防火墙
    #systemctl enable firewalld.service
    //禁止firewall开机启动
    # systemctl disable firewalld.service 
    #systemctl disable firewalld
    

    3、查看默认防火墙状态(关闭后显示not running,开启后显示running)

    # firewall-cmd --state
    //查看firewall规则与状态
    1. 查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
    # firewall-cmd --state             
    2. 查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
    # firewall-cmd --list-all           
    3. 查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
    # firewall-cmd --list-all-zones     
    4. 重新加载配置文件
    # firewall-cmd --reload        
    

    4、 配置iptables,首先需要安装iptables服务

    # yum install iptables-services
    # vim /etc/sysconfig/iptables
    查看版本: firewall-cmd --version
    查看帮助: firewall-cmd --help
    显示状态: firewall-cmd --state
    查看所有打开的端口: firewall-cmd --zone=public --list-ports
    更新防火墙规则: firewall-cmd --reload
    查看区域信息:  firewall-cmd --get-active-zones
    查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
    拒绝所有包:firewall-cmd --panic-on
    取消拒绝状态: firewall-cmd --panic-off
    查看是否拒绝: firewall-cmd --query-panic
    

    5、配置文件加入需要对外提供访问的端口:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
    

    6、最后重启防火墙使配置生效

    # systemctl restart iptables.service
     //设置防火墙开机启动
    # systemctl enable iptables.service
    //禁止firewall开机启动
    #systemctl disable firewalld.service 
    

    7、开启关闭一个端口

    1. 添加(--permanent永久生效,没有此参数重启后失效)
    # firewall-cmd --zone=public --add-port=80/tcp --permanent
    2. 重新载入(修改规则后使其生效)
    # firewall-cmd --reload
    3. 查看
    # firewall-cmd --zone= public --query-port=80/tcp
    4. 删除
    # firewall-cmd --zone= public --remove-port=80/tcp --permanent
    

    8、systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体

    启动一个服务:systemctl start firewalld.service
    关闭一个服务:systemctl stop firewalld.service
    重启一个服务:systemctl restart firewalld.service
    显示一个服务的状态:systemctl status firewalld.service
    在开机时启用一个服务:systemctl enable firewalld.service
    在开机时禁用一个服务:systemctl disable firewalld.service
    查看服务是否开机启动:systemctl is-enabled firewalld.service
    查看已启动的服务列表:systemctl list-unit-files|grep enabled
    查看启动失败的服务列表:systemctl --failed
    

    9、设置firewall规则

    例1:对外暴露8080端口

     firewall-cmd --permanent --add-port=8080/tcp
    

    例2:使mysql服务的3306端口只允许192.168.1.1/24网段的服务器能访问

    #添加规则
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source  address="192.168.1.1/24" port protocol="tcp" port="3306" accept"
    #reload使生效
    firewall-cmd --reload
    

    例3:端口转发,将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口

    # 开启伪装IP
    firewall-cmd --permanent --add-masquerade
    # 配置端口转发
    firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
    

    注意:如果不开启伪装IP,端口转发会失败;其次,要确保源服务器上的端口(3306)和目标服务器上的端口(13306)是开启的。

    相关文章

      网友评论

          本文标题:centos 防火墙配置

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