news 2026/7/7 3:36:49

Linux ip6tables 超详细用法详解:从入门到实战,IPv6 防火墙必备

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux ip6tables 超详细用法详解:从入门到实战,IPv6 防火墙必备

1. 命令简介

ip6tables 是 Linux 系统上用于配置 IPv6 数据包过滤规则的用户空间命令行工具。它是 Netfilter 项目的一部分,与用于 IPv4 的 iptables 工具相对应。

ip6tables 允许系统管理员定义规则链(chains),以检查、修改、转发、丢弃或接受流经系统的 IPv6 网络数据包,从而实现基于 IPv6 的防火墙、网络地址转换(NAT)和包过滤功能。

2. 语法格式

plaintext

ip6tables [-t table] command [chain] [match-condition] -j target [target-options]

基本结构说明:

  • [-t table]: 指定要操作的表,如 filter、nat、mangle、raw。默认为 filter 表。
  • command: 对规则链执行的操作,如 -A (追加)、-I (插入)、-D (删除)、-L (列出) 等。
  • [chain]: 指定要操作的规则链,如 INPUT、OUTPUT、FORWARD,或用户自定义链。
  • [match-condition]: 定义规则匹配数据包的条件,如源 / 目标地址、协议、端口、网络接口等。
  • -j target: 指定当数据包匹配规则时要执行的动作(目标),如 ACCEPT、DROP、REJECT、LOG 等。
  • [target-options]: 某些目标(如 LOG、REJECT)的额外选项。

3. 常用选项及说明

表选择选项

表格

选项说明
-t, --table <table>指定要操作的表。可选值:filter (默认), nat, mangle, raw, security。

命令选项(对链或规则的操作)

表格

选项说明
-A, --append <chain> <rule-specification>在指定链的末尾追加一条新规则。
-I, --insert <chain> [rulenum] <rule-specification>在指定链的指定位置(默认为第 1 条)插入一条新规则。
-D, --delete <chain> <rule-specification> 或 -D, --delete <chain> rulenum从指定链中删除一条匹配的规则或指定序号的规则。
-R, --replace <chain> rulenum <rule-specification>替换指定链中指定序号的一条规则。
-L, --list [chain]列出指定链(或所有链)中的所有规则。常与 -n (数字输出)、-v (详细信息)、--line-numbers (显示行号) 结合使用。
-F, --flush [chain]清空指定链(或所有链)中的所有规则。
-Z, --zero [chain]将指定链(或所有链)中所有规则的包计数器和字节计数器清零。
-N, --new-chain <chain>创建一个新的用户自定义链。
-X, --delete-chain [chain]删除指定的用户自定义链(必须为空且未被引用)。
-P, --policy <chain> <target>设置指定链的默认策略(target),如 ACCEPT, DROP。
-E, --rename-chain <old-chain> <new-chain>重命名一个用户自定义链。

匹配条件选项

表格

选项说明
-p, --protocol <protocol>匹配指定的协议。如 tcp, udp, icmpv6, esp, ah, all (默认)。
-s, --source <address>[/mask]匹配数据包的源 IPv6 地址。
-d, --destination <address>[/mask]匹配数据包的目标 IPv6 地址。
-i, --in-interface <name>匹配数据包进入的网络接口名称。
-o, --out-interface <name>匹配数据包离开的网络接口名称。
-m, --match <match>指定扩展匹配模块,如 state (连接状态), multiport (多端口), limit (速率限制) 等。
--sport, --source-port <port>[:<port>]匹配 TCP/UDP 数据包的源端口(需配合 -p tcp 或 -p udp 使用)。
--dport, --destination-port <port>[:<port>]匹配 TCP/UDP 数据包的目标端口(需配合 -p tcp 或 -p udp 使用)。
--icmpv6-type <type>[/code]匹配指定类型的 ICMPv6 数据包(需配合 -p icmpv6 使用)。

目标选项(动作)

表格

选项说明
-j, --jump <target>指定匹配规则后要执行的动作。常见值:ACCEPT: 接受数据包。DROP: 丢弃数据包,无响应。REJECT: 拒绝数据包,并返回错误响应(如 --reject-with icmp6-port-unreachable)。LOG: 记录数据包信息到系统日志。RETURN: 从当前链返回上一级调用链。<user-chain>: 跳转到用户自定义链。
-g, --goto <chain>跳转到指定链,处理完成后不返回原链。

其他常用选项

表格

选项说明
-n, --numeric以数字形式显示地址和端口(不进行 DNS 解析和服务名查找)。
-v, --verbose显示详细信息,如数据包和字节计数、接口等。
--line-numbers与 -L 一起使用时,显示规则在链中的序号。
-c, --set-counters <packets> <bytes>在创建或替换规则时,初始化该规则的包计数器和字节计数器。

4. 示例用法

示例 1:查看现有规则

以数字形式并显示行号,列出 filter 表的所有规则。

bash

运行

ip6tables -L -n --line-numbers

示例 2:允许来自特定 IPv6 地址范围的 SSH 连接

在 INPUT 链的开头插入一条规则,允许源地址为 2001:db8::/32 的网络通过 TCP 协议访问本机的 22 端口。

bash

运行

ip6tables -I INPUT -s 2001:db8::/32 -p tcp --dport 22 -j ACCEPT

示例 3:丢弃所有发往本机的 ICMPv6 回显请求(Ping)

在 INPUT 链追加一条规则,丢弃类型为 128 (Echo Request) 的 ICMPv6 数据包。

bash

运行

ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j DROP

示例 4:设置默认策略并记录被拒绝的包

先将 INPUT 链的默认策略设为 DROP,然后在链尾添加规则,记录所有被拒绝进入的数据包到系统日志(前缀为 "IPv6-Dropped:"),最后再丢弃。

bash

运行

ip6tables -P INPUT DROP ip6tables -A INPUT -j LOG --log-prefix "IPv6-Dropped: " --log-level 4 ip6tables -A INPUT -j DROP

5. 注意事项

  • 规则顺序至关重要:ip6tables 从上到下按顺序匹配规则。第一条匹配的规则将决定数据包的命运。请仔细规划规则的插入 (-I) 和追加 (-A) 位置。
  • 配置非持久化:通过命令行添加的规则在系统重启后会失效。要使规则永久生效,需要使用发行版特定的方法保存配置(例如,在 Debian/Ubuntu 上使用 ip6tables-save 和 ip6tables-restore,或使用 netfilter-persistent 等工具)。
  • 谨慎设置默认策略:将默认策略(如 INPUT、FORWARD)设置为 DROP 前,务必确保已添加允许管理员远程访问(如 SSH)的规则,否则可能导致无法远程管理服务器。
  • IPv6 的特殊性:IPv6 的邻居发现(ND)、路由通告(RA)等核心功能依赖 ICMPv6。过于严格的防火墙规则可能会破坏 IPv6 网络的基本连通性。在丢弃 ICMPv6 流量时需格外小心。
  • 权限要求:配置 ip6tables 规则通常需要 root 权限(使用 sudo)。

获取更多Linux学习资料请关注“阿成学长工具包”,对话框中输入2647获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 3:33:02

最小二乘法在假肢接受腔压力建模中的临床落地实践

1. 这不是实验室里的数学游戏&#xff1a;一个假肢接受腔压力建模的真实切口“prosthetic socket interface pressure modeling with least squares”——光看这个标题&#xff0c;很多人第一反应是&#xff1a;又一个堆砌术语的学术论文标题。但如果你在康复工程一线干过三年以…

作者头像 李华
网站建设 2026/7/7 3:32:19

2026研发新范式!极简Python搭建轻量AI Agent,自动完成任务调度

2026年CSDN年度技术趋势明确指出&#xff1a;AI Agent&#xff08;智能体&#xff09;规模化落地成为核心风口&#xff0c;AI不再是单纯的聊天、生成内容工具&#xff0c;而是能够自主思考、规划、执行、复盘任务的“数字员工”。从大厂企业研发流程重构&#xff0c;到个人自动…

作者头像 李华
网站建设 2026/7/7 3:29:22

网站建设公司排行怎么看?适合中小企业的选型指南

网站建设公司排行怎么看&#xff1f;适合中小企业的选型指南搜索“网站建设公司排行”时&#xff0c;很多企业希望直接找到一个榜单。但建站排行不能只看谁名气大、谁案例多、谁广告投放多&#xff0c;更要看平台或服务是否匹配企业阶段。一个刚开始做企业官网的中小企业&#…

作者头像 李华
网站建设 2026/7/7 3:25:35

企业级Agent平台技术解析:从语言理解到任务闭环的工程实现

花大价钱引入的AI工具&#xff0c;只能回答“报销流程是什么”“年假还剩几天”&#xff0c;却无法自动提交报销单、生成假期余额提醒——这是许多企业技术团队遇到的真实问题。从技术角度看&#xff0c;这类产品本质上是“LLM知识库”的检索增强生成方案&#xff0c;缺少将语言…

作者头像 李华
网站建设 2026/7/7 3:24:17

AI招聘的下半场:当“匹配”从技巧变成组织能力

引言&#xff1a;招聘的痛&#xff0c;不在渠道&#xff0c;而在“匹配”任何一位做过关键岗位招聘的 HR 负责人都知道&#xff0c;招聘的真正痛点&#xff0c;从来不在渠道端。渠道端的问题&#xff0c;过去二十年靠社招平台、猎头合作、内推激励、雇主品牌&#xff0c;已经解…

作者头像 李华