博客
关于我
linux_iptables防火墙
阅读量:136 次
发布时间:2019-02-26

本文共 2213 字,大约阅读时间需要 7 分钟。

iptables 防火墙参考文档

一.iptables 概述

iptables 是 Linux 系统的防火墙管理工具,主要工作在网络层,负责对 IP 数据包进行过滤。它通过规则表和规则链来管理数据包的处理,支持多种规则类型和匹配条件。

二.netfilter /iptables 关系

netfilter 是 iptables 的核心模块,属于内核态防火墙管理体系。而 iptables 则属于用户态防火墙管理,它基于内核的四个规则表(raw、mangle、nat 和 filter)来配置防火墙规则。

三.四表五链

四表
  • raw 表:处理数据包状态跟踪,包含 PREROUTING 和 OUTPUT 链。
  • mangle 表:修改数据包内容,包含 INPUT、OUTPUT、FORWARD、PREROUTING 和 POSTROUTING 链。
  • nat 表:负责网络地址转换,包含 OUTPUT、PREROUTING 和 POSTROUTING 链。
  • filter 表:过滤数据包,包含 INPUT、FORWARD 和 OUTPUT 链。
  • 五链
  • INPUT:处理入站数据包,匹配目标 IP 为本机的数据包。
  • OUTPUT:处理出站数据包,通常不在此链上配置规则。
  • FORWARD:处理转发数据包,匹配流经本机的数据包。
  • PREROUTING:在路由选择前处理数据包,用于 DNAT。
  • POSTROUTING:在路由选择后处理数据包,用于 SNAT。
  • 四.规则匹配顺序

  • 入站数据:
    • PREROUTING → INPUT → 本机应用程序
  • 出站数据:
    • 本机应用程序 → OUTPUT → POSTROUTING
  • 转发数据:
    • PREROUTING → FORWARD → POSTROUTING
  • 规则链内部匹配:
    • 自上而下依次检查规则,找到匹配规则后停止(LOG 策略例外)。
    • 若无匹配规则,按默认策略处理(未修改时,默认为允许)。
  • 五.iptables 安装

  • Centos 7:
    • 默认使用 firewalld 防火墙,若需使用 iptables:
      systemctl stop firewalld.serviceyum -y install iptables iptables-servicesystemctl start iptables.service
  • 六.iptables 命令行配置

  • 命令格式:

    iptables [-t 表名] [选项] [链名] [匹配条件] [-j 控制类型]
  • 注意事项:

    • 不指定表名,默认使用 filter 表。
    • 不指定链名,默认使用链内所有链。
    • 不指定匹配条件需默认处理。
    • 选项、链名、控制类型使用大写字母。
  • 常用控制类型:

    • ACCEPT:允许数据包通过。
    • DROP:丢弃数据包。
    • REJECT:拒绝数据包,返回错误信息。
    • SNAT:修改源地址。
    • DNAT:修改目的地址。
    • LOG:记录日志并继续处理。
  • 常用管理选项:

    • -A:在链末尾追加规则。
    • -I:在链开头插入规则。
    • -R:替换指定规则。
    • -P:设置链默认策略。
    • -D:删除规则。
    • -F:清空链规则。
    • -L:列出规则。
    • -n:显示数字形式。
    • -v:显示详细信息。
    • --line-numbers:显示规则序号。
  • 七.使用 iptables

  • 添加新规则:

    iptables -t filter -A INPUT -p icmp -j REJECTiptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT
  • 查看规则列表:

    iptables -n -L [链名] --line-numbers
  • 设置默认策略:

    iptables -P INPUT DROPiptables -P FORWARD DROP
  • 删除规则:

    iptables -D INPUT 2iptables -t filter -D INPUT -p icmp -j REJECT
  • 清空规则:

    iptables -F INPUTiptables -F
  • 八.DNAT 原理与应用

  • DNAT 应用环境:

    • 在 Internet 中发布局域网内的服务器。
  • DNAT 原理:

    • 修改数据包的目的地址。
  • DNAT 转换前提条件:

    • 服务器可访问 Internet。
    • 网关有正确的 DNS 解析记录。
    • 网关启用 IP 转发。
  • DNAT 开启方式:

    vim /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl -p
  • DNAT 转换示例:

    iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.133.10
  • 九.防火墙规则备份与还原

  • 备份:

    iptables-save > /opt/ipt.txt
  • 还原:

    iptables-restore < /opt/ipt.txt
  • 保存与重启:

    vim /etc/sysconfig/iptablesiptables-save > /etc/sysconfig/iptablessystemctl stop iptablessystemctl start iptables
  • 以上内容可根据实际需求进行调整和扩展,作为 iptables 防火墙配置和管理的参考文档。

    转载地址:http://qseu.baihongyu.com/

    你可能感兴趣的文章
    Python3.7安装cv2踩过的坑
    查看>>
    python写txt文件
    查看>>
    python关于sorted排序函数详细解析 附实战代码(全)
    查看>>
    python3.8调用m文件,调用matlab
    查看>>
    python3.9新特性_Python 3.9 新特性速览
    查看>>
    Python3.x:遍历select下拉框获取value值
    查看>>
    python360百科_11月编程排行榜:Python超过Java成第二
    查看>>
    Python关于Paginator分页函数详细解析 附实战代码
    查看>>
    python3、ipython3、setup-tools、pip等环境搭建详细总结
    查看>>
    python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
    查看>>
    python3与django中@property详解
    查看>>
    python3中如何表示无穷大
    查看>>
    Python3中提示:no module named 'wxpy'
    查看>>
    python3中选择文件对话框的格式打开和保存图片
    查看>>
    python3为什么print永远都是地址_Python3 print 函数用法总结
    查看>>
    Python3之uuid模块
    查看>>
    Python3之写入Excel文档(xlsxwriter)
    查看>>
    Python3之打印操作打印流重定向(下)
    查看>>
    python3判断字典、列表、元组为空以及字典是否存在某个key的方法
    查看>>
    Python3利用pymysql操作 MySQL
    查看>>