美文网首页
linux防火墙

linux防火墙

作者: 墨线宝 | 来源:发表于2023-08-08 10:25 被阅读0次

    防火墙

    iptables 是建立在 netfilter 架构基础上的一个包过滤管理工具。
    用户通过 /sbin/iptables 命令来管理 iptables,和 route 命令相同,iptables 命令的效果在重新启动以后就不再有效。

    可以使用 /etc/rc.d/init.d/iptables save 将当前 iptables 规则写到 /etc/sysconfig/iptables 文件中,那么每次开机时/etc/rc.d/init.d/iptables start 命令会使 /etc/sysconfig/iptables 中的规则生效

    iptables构成

    iptables 是由几张表所组成,每张表又由几条链组成,每张表负责不同的封包处理机制,每条链负责不同的封包走向,具体采取的策略由链里的规则设定

    • filter 表: 用于过滤包
      • INPUT 链: 存在于 filter 表,主要用于处理进入本机的包
      • OUTPUT 链: 存在于 filter 表,主要用于处理离开本机的包
      • FORWARD 链: 存在于 fileter 表,主要用于处理穿过本机的包
    • Nat 表 : 用于做地址转换
      • PREROUTING 链: 存在于 nat 表,主要用于在包刚刚到达防火墙时改变目的地址(DNAT)
      • POSTROUTING 链: 存在于 nat 表,主要用于在包就要离开防火墙之前修改来源地址(SNAT)
      • OUTPUT链:存在于nat表,主要用于改变本地产生的包的目的地址
    • mangle 表: 允许改变包的内容来进一步矫正包,主要用于给数据包打标记,然后根据标记去操作哪些包

    iptebles 配置文件在/etc/sysconfig/iptables

    #配置保存命令
    service iptables save
    # 启动
    service iptables start
    # 停止
    service iptables stop
    # 重启
    service iptables restart
    

    iptables 的配置

    1、iptables 的标准语法

    # table 指定表名
    # NAT 和一般的 mangle 用 -t 参数指定要操作哪个表。filter 是默认的表,如果没有 -t 参数,就默认对filter 表操作
    # chain 链名
    # rules 规则
    # target 动作如何进行
    iptables [-t table] 命令 [chain] [rules] [-j target]
    
    如:
    设置 INPUT 规则,将所有基于 icmp 协议的数据包全部丢弃
    iptables -A INPUT -p icmp -j DROP
    对链的操作的option有
    -L 列出当前的 iptables 的规则
    -vnL 列出所有 iptables 相关规则的详细参数
    -A 追加一条规则(默认添加道最后) 
    -I 插入一条规则
    -D 删除一条规则
    -P 设置某条链的默认规则
    -F 清空规则
    如:追加一条 INPUT 记录,将源目的地址为 200.200.200.200 的数据包丢弃
    iptables -A INPUT -s 200.200.200.200 -j DROP
    
    规则的操作命令
    按网络接口匹配
    -i eth0 匹配数据进入的网络端口
    -o eth0 匹配数据流出的网络端口
    按来源目的地址匹配
    -s ip 匹配来源 IP
    -d ip 匹配目的 IP
    例:
    在 INPUT 链里追加一条规则,所有从 eth0 口进入的源地址为 200.200.200.200 的数据包全部丢弃
    iptables -A INPUT -i eth0 –s 200.200.200.200 –j DROP
    
    在 INPUT 链里追加一条规则,所有源地址为 200.200.200.200 的基于 tcp 协议的数据包允许通过 按来源目的端口匹配
    --sport 来源端口
    --dport 目的端口
    例:
    在 INPUT 链里追加一条规则,所有基于 TCP 的源端口为 21 号端口的数据包,全部丢弃。
    iptables -A INPUT -p tcp -sport 21 -j DROP
    
    动作处理 
    -j ACCEPT 允许封包通过而不拦截 
    -j DROP 不允许封包通过
    

    https://zhhll.icu/2021/linux/基础/防火墙/

    本文由mdnice多平台发布

    相关文章

      网友评论

          本文标题:linux防火墙

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