• 技术文章 >运维 >linux运维

    linux下的软件防火墙iptables——防火墙的设计

    齐天大圣齐天大圣2020-11-18 15:38:15原创86
    在之前的几篇文章里,已经介绍过了iptables的表、链,以及如何增加规则链等。这里,想和大家分享一个简单的防火墙的规则,这里主要针对filter的input链设置规则,本篇文章相当于一个iptables规则实战,帮助大家加深巩固所学的知识。

    应用规则如下:

    我们准备制作3个shell脚本文件:iptables.rule、iptables.allow(白名单)、iptables.deny(黑名单)文件。这三个文件,我一般会先建立一个目录/etc/iptables,这三个文件存在这个目录。

    下面,我们看这个iptables.rule的脚本内容:

    #!/bin/bash
    # iptables rule
    
    # 清楚默认规则
    iptables -F
    iptables -X
    iptables -Z
    
    # 修改默认策略
    iptables -P INPUT  DROP
    iptables -P FORWARD  ACCEPT
    iptables -P OUTPUT  ACCEPT
    
    # 信任本机
    iptables -A INPUT -i lo -j ACCEPT 
    
    # 响应数据包
    iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # 拒绝无效数据包
    iptables -A INPUT  -m state --state INVALID -j DROP
    
    # 白名单
    if [ -f "/etc/iptables/iptables.allow" ];then
        sh /etc/iptables/iptables.allow
    fi
    
    # 黑名单
    if [ -f "/etc/iptables/iptables.deny" ];then
        sh /etc/iptables/iptables.deny
    fi
    
    # 允许icmp包
    iptables -A INPUT -p icmp -j ACCEPT
    
    # 开放部分端口
    iptables -A INPUT -p tcp --dport 22  -j ACCEPT # ssh服务
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT # www服务
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT # ssl
    
    # 保存规则
    /usr/libexec/iptables/iptables.init save

    对于iptables.allow,我们一般会将信任的ip或网络地址写入到这个文件,比如该主机所在局域网络为192.168.1.0/24,想要信任该局域网内的主机的话,可以在该文件写入

    iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

    而iptables.deny则是用来阻挡某些恶意ip的流量进入到本机,比如像阻挡8.210.247.5这个ip,可以在该文件写入

    iptables -A INPUT -s 8.210.247.5/32 -j DROP

    在iptables.rule的最后,我们使用的命令来保存了防火墙规则,注意,如果不加入本命令,该规则只会零时生效,当重启了iptables或重启了系统,我们之前设定的规则就会失效了。

    相关推荐:《linux课程

    以上就是linux下的软件防火墙iptables——防火墙的设计的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:linux
    上一篇:linux下的软件防火墙iptables——nat表规则的设定 下一篇:linux下lvm软件介绍——弹性伸缩文件系统的大小
    第14期线上培训班

    相关文章推荐

    • linux中出现网络故障该如何排除• linux下的软件防火墙iptables——规则的查看与清除、定义默认策略• linux下的软件防火墙iptables——规则的定义与删除• linux下的软件防火墙iptables——nat表规则的设定

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网