Linux防火墙iptables的配置

作者: Java_Pro | 来源:发表于2019-05-24 13:21 被阅读1次

    服务器环境:centos7.1

    CentOS7默认的防火墙不是iptables,而是firewalle.

    1. 禁用/停止自带的firewalld服务
    ## 停止firewalld服务
    systemctl stop firewalld
    ## 禁用firewalld服务
    systemctl mask firewalld
    
    1. 安装iptables iptables-services
    ## 先检查是否安装了iptables 
    service iptables status
    ## 安装iptables
    yum install -y iptables
    ## 升级iptables
    yum update iptables 
    ## 安装iptables-services
    yum install iptables-services
    
    1. 设置现有规则
    ## 查看iptables现有规则
    iptables -L -n
    ## 先允许所有,不然有可能会杯具
    iptables -P INPUT ACCEPT
    ## 清空所有默认规则
    iptables -F
    ## 清空所有自定义规则
    iptables -X
    ## 所有计数器归0
    iptables -Z
    ## 允许来自于lo接口的数据包(本地访问)
    iptables -A INPUT -i lo -j ACCEPT
    ## 开放22端口
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    ## 开放21端口(FTP)
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    ## 开放80端口(HTTP)
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    ## 开放443端口(HTTPS)
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    ## 允许ping
    iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
    ## 允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
    iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
    ## 其他入站一律丢弃
    iptables -P INPUT DROP
    ## 所有出站一律绿灯
    iptables -P OUTPUT ACCEPT
    ## 所有转发一律丢弃
    iptables -P FORWARD DROP
    ## 保存上述规则
    service iptables save
    
    1. 其他规则设定
    ## 如果要添加内网ip信任(接受其所有TCP请求)
    ## ***.***.***.***为ip地址
    iptables -A INPUT -p tcp -s ***.***.***.*** -j ACCEPT
    ## 过滤所有非以上规则的请求
    iptables -P INPUT DROP
    ## 要封停一个IP,使用下面这条命令:
    iptables -I INPUT -s ***.***.***.*** -j DROP
    ## 要解封一个IP,使用下面这条命令:
    iptables -D INPUT -s ***.***.***.*** -j DROP
    
    1. 服务的启动与禁用相关命令
    ## 注册iptables服务开机启动
    ## 相当于以前的chkconfig iptables on
    systemctl enable iptables.service
    ## 在开机时禁用服务
    systemctl disable iptables.service
    ## 查看服务是否开机启动
    systemctl is-enabled iptables
    ## 启动服务
    ## 相对于之前service iptables stop/start/status/restart/reload等
    systemctl start iptables
    ## 关闭服务
    systemctl stop iptables 
    ## 重启服务
    systemctl restart iptables
    ## 服务状态
    systemctl status iptables
    
    1. 以下是iptables配置的脚本
    #!/bin/sh
    iptables -P INPUT ACCEPT
    iptables -F
    iptables -X
    iptables -Z
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD DROP
    service iptables save
    systemctl restart iptables.service
    

    相关文章

      网友评论

        本文标题:Linux防火墙iptables的配置

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