• Linux 安装 iptables防火墙


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

    安装iptable iptable-service

    复制代码
    #先检查是否安装了iptables
    service iptables status
    #安装iptables
    yum install -y iptables
    #升级iptables
    yum update iptables 
    #安装iptables-services
    yum install iptables-services
    复制代码

    禁用/停止自带的firewalld服务

    #停止firewalld服务
    systemctl stop firewalld
    #禁用firewalld服务
    systemctl mask firewalld

    设置现有规则

    复制代码
    #查看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
    复制代码

    其他规则设定

    复制代码
    #如果要添加内网ip信任(接受其所有TCP请求)
    iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
    #过滤所有非以上规则的请求
    iptables -P INPUT DROP
    #要封停一个IP,使用下面这条命令:
    iptables -I INPUT -s ***.***.***.*** -j DROP
    #要解封一个IP,使用下面这条命令:
    iptables -D INPUT -s ***.***.***.*** -j DROP
    复制代码

    保存规则设定

    #保存上述规则
    service iptables save

    开启iptables服务 

    复制代码
    #注册iptables服务
    #相当于以前的chkconfig iptables on
    systemctl enable iptables.service
    #开启服务
    systemctl start iptables.service
    #查看状态
    systemctl status iptables.service
    复制代码

    解决vsftpd在iptables开启后,无法使用被动模式的问题

    1.首先在/etc/sysconfig/iptables-config中修改或者添加以下内容

    #添加以下内容,注意顺序不能调换
    IPTABLES_MODULES="ip_conntrack_ftp"
    IPTABLES_MODULES="ip_nat_ftp"

    2.重新设置iptables设置

    iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT

    以下为完整设置脚本

    复制代码
    #!/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
  • 相关阅读:
    .net Ioc 之 Unity 适合刚开始使用
    今天研究Unity Ioc 框架
    C#连接周立功CAN盒,调用ZCAN_OpenDevice函数时返回值一直是0失败。
    CAN通讯
    初学winform 自定义控件
    linq联表查询的时候报错
    dot net core 在IIS发布后,打开网页报错
    网卡驱动正常,网线也正常,但是网线插入电脑网口,网口指示灯就是不亮,网络适配器显示网线拔出
    flutter环境配置(windows)
    C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
  • 原文地址:https://www.cnblogs.com/bolang100/p/10669337.html
Copyright © 2020-2023  润新知