openwrt利用nftables在校园网环境下开启nat6 (ipv6 nat)
年初写过一篇openwrt在校园网环境下开启ipv6 nat的文章,利用ip6tables控制ipv6的流量。然而从OpenWrt22版本开始,系统内置的防火墙变为nftables,因此配置方法有所改变。本文主要参考了OpenWRT使用nftables实现IPv6 NAT
这篇文章。
友情提示
如果你的学校分配64的后缀,可以先试试把lan口的dhcp改为中继模式,因为lan口设备能获得global地址是最理想的情况。如果像我一样获得了global地址却无法上网,或者学校只分配128后缀地址的话,可以继续按照本文方法配置NAT6。
准备工作
- 软路由一个
- OpenWrt-22.xx或以上版本镜像
- 让WAN口获得ipv6地址(大多数固件默认能够获得ipv6地址,如果你有特殊情况请自行解决一下)
ps. 我用的路由器是redmi ax3000 (RA81),固件是从openwrt.ai编译得到的。如果你的型号和我一样,欢迎在这里下载固件直接使用。
详细步骤
1. 编辑 /etc/config/dhcp 文件,配置lan口dhcp6服务
在 config dhcp 'lan' 下修改/添加以下配置:
option ra 'server'
option dhcpv6 'server'
option ra_management '1'
option ra_default '1'
2. 编辑 /etc/config/firewall 文件,设定ipv6地址转换
config natoption name 'IPv6 Masquerade'option family 'ipv6'option src 'wan'option target 'MASQUERADE'list proto 'all'
3. 编辑 /etc/nftables.d/10-custom-filter-chains.nft 文件,降低防火墙匹配延迟
chain user_post_forward {ct state established,related acceptiifname br-lan accept
}
4. 手动指定网关
(1) 终端执行ip -6 route | grep default获取默认网关
输出结果示例:
default from 2001:da8:1111:2222::333 viafe80::5616:51ff:fe56:8fb9 dev wanproto static metric 512 pref medium
(2) 利用默认网关和设备构造命令
将上一步获取到的网关及设备粘贴到route -A inet6 add default gw后面,构造出一条命令
构造的命令示例:
route -A inet6 add default gw fe80::5616:51ff:fe56:8fb9 dev wan
(3) 把构造好的命令添加进系统启动项
编辑/etc/rc.local文件,将构造的命令添加到最后一行 exit 0的上方
5. 重启路由
备注
-
测试结果:

-
OpenWrt默认分配前缀为fd00::/8的地址作为内网地址,可能会让某些应用更倾向于不使用ipv6(从其他地方看的,我不确定到底有哪些?)。因此可以把这个前缀改为dd00::/8,因为dd前缀的网址作为保留地址没有明确的用途,可以避免应用识别内网ipv6。这个可以通过修改 /etc/config/network 文件中的 globals 配置实现,也可以在 luci界面 -> 网络 -> 接口 -> 全局网络选项 修改。
相关文章:
openwrt利用nftables在校园网环境下开启nat6 (ipv6 nat)
年初写过一篇openwrt在校园网环境下开启ipv6 nat的文章,利用ip6tables控制ipv6的流量。然而从OpenWrt22版本开始,系统内置的防火墙变为nftables,因此配置方法有所改变。本文主要参考了OpenWRT使用nftables实现IPv6 NAT 这篇文章。 友情提示 …...
24.12.02 Element
import { createApp } from vue // 引入elementPlus js库 css库 import ElementPlus from element-plus import element-plus/dist/index.css //中文语言包 import zhCn from element-plus/es/locale/lang/zh-cn //图标库 import * as ElementPlusIconsVue from element-plus/i…...
记录QT5迁移到QT6.8上的一些问题
经常看到有的同学说网上的教程都是假的,巴拉巴拉,看看人家发布时间,Qt官方的API都会有所变动,多搜索,多总结,再修改记录。 下次遇到问题多这样搜索 QT 4/5/6 xxx document,对比一下就知道…...
清理Linux/CentOS7根目录的思路
在使用Linux服务器过程中,经常会遇到磁盘空间不足的问题,好多应用默认安装在根目录下,记录一下如何找到问题所在,清理根目录(/) 1. 检查空间使用情况 1.1 查看分区占用: df -h输出࿱…...
【LInux】kvm添加u盘启动引导
前提:要有一个u盘的启动盘 1、查看u盘设备信息 # lsusb ....忽略其他设备信息,查看到u盘设备 Bus 005 Device 005: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2## 主要记住ID 0951:1666确认id为ID 0951:1666 2、修改配置文件 如…...
.net XSSFWorkbook 读取/写入 指定单元格的内容
方法如下: using NPOI.SS.Formula.Functions;using NPOI.SS.UserModel;using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;/// <summary>/// 读取Excel指定单元格内容/// </summa…...
GaussDB(类似PostgreSQL)常用命令和注意事项
文章目录 前言GaussDB(类似PostgreSQL)常用命令和注意事项1. 连接到GaussDB数据库2. 查看当前数据库中的所有Schema3. 进入指定的Schema4. 查看Schema下的表、序列、视图5. 查看Schema下所有的表6. 查看表结构7. 开始事务8. 查询表字段注释9. 注意事项&a…...
【HM-React】02. React基础-下
React表单控制 受控绑定 概念:使用React组件的状态(useState)控制表单的状态 function App(){const [value, setValue] useState()return (<input type"text" value{value} onChange{e > setValue(e.target.value)}/>) …...
【力扣热题100】—— Day3.反转链表
你不会永远顺遂,更不会一直年轻,你太安静了,是时候出发了 —— 24.12.2 206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出&…...
【k8s深入学习之 event 记录】初步了解 k8s event 记录机制
event 事件记录初始化 一般在控制器都会有如下的初始化函数,初始化 event 记录器等参数 1. 创建 EventBroadcaster record.NewBroadcaster(): 创建事件广播器,用于记录和分发事件。StartLogging(klog.Infof): 将事件以日志的形式输出。StartRecording…...
redhat 7.9配置阿里云yum源
1、mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 2、添加dns vim/etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 114.114.114.114 #配置完先检查下通不通 3、vi /etc/yum/pluginconf.d/subscription-manager.conf # 将 “enabled1” 改为 “ena…...
深入探索Flax:一个用于构建神经网络的灵活和高效库
深入探索Flax:一个用于构建神经网络的灵活和高效库 在深度学习领域,TensorFlow 和 PyTorch 作为主流的框架,已被广泛使用。不过,Flax 作为一个较新的库,近年来得到了越来越多的关注。Flax 是一个由Google Research团队…...
Nginx auth_request详解
网上看到多篇先关文章,觉得很不错,这里合并记录一下,仅供学习参考。 模块 nginx-auth-request-module 该模块是nginx一个安装模块,使用配置都比较简单,只要作用是实现权限控制拦截作用。默认高版本nginx(比…...
基于Java Springboot个人财务APP且微信小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…...
vue3图片报错转换为空白不显示的方法
vue3图片报错转换为空白不显示的方法 直接上代码: <el-table-column label"领料人" align"center"><template #default"scope"><el-imagev-if"scope.row.receiver":src"scope.row.receiver"style…...
mysq之快速批量的插入生成数据
mysq之快速批量的插入生成数据 1.insert inot select2.存储过程3.借助工具 在日常测试工作时,有时候需要某张表有大量的数据,如:需要有几百个系统中的用户账号等情况;因此,记录整理,如何快速的在表中插入生…...
浅谈C#库之DevExpress
一、DevExpress库介绍 DevExpress是一个功能强大、界面美观的UI组件库,广泛应用于桌面应用程序和Web应用程序的开发中。它提供了丰富的控件和工具,帮助开发人员快速构建现代化的用户界面。DevExpress控件库以其功能丰富、应用简便、界面华丽以及方便定制…...
聊聊Flink:这次把Flink的触发器(Trigger)、移除器(Evictor)讲透
一、触发器(Trigger) Trigger 决定了一个窗口(由 window assigner 定义)何时可以被 window function 处理。 每个 WindowAssigner 都有一个默认的 Trigger。 如果默认 trigger 无法满足你的需要,你可以在 trigger(…) 调用中指定自定义的 tr…...
一款支持80+语言,包括:拉丁文、中文、阿拉伯文、梵文等开源OCR库
大家好,今天给大家分享一个基于PyTorch的OCR库EasyOCR,它允许开发者通过简单的API调用来读取图片中的文本,无需复杂的模型训练过程。 项目介绍 EasyOCR 是一个基于Python的开源项目,它提供了一个简单易用的光学字符识别ÿ…...
Flink四大基石之CheckPoint(检查点) 的使用详解
目录 一、Checkpoint 剖析 State 与 Checkpoint 概念区分 设置 Checkpoint 实战 执行代码所需的服务与遇到的问题 二、重启策略解读 重启策略意义 代码示例与效果展示 三、SavePoint 与 Checkpoint 异同 操作步骤详解 四、总结 在大数据流式处理领域,Ap…...
CnOpenData 中国全部银行对外投资信息数据
银行是经营货币和信用业务的金融机构,通过发行信用货币、管理货币流通、调剂资金供求、办理货币存贷与结算,是商品货币经济发展到一定阶段的产物。自改革开放以来,我国的商品经济愈发活跃,银行业的规模发展十分迅速。但在如今利率…...
Linux信号机制:原理、处理与实践
1. Linux信号机制基础解析在Linux系统中,信号是一种进程间通信的重要机制。想象一下你正在厨房做饭,突然门铃响了——这个门铃就相当于Linux系统中的信号,它打断了你当前的工作流程,迫使你做出响应。信号本质上是一种异步事件通知…...
弧形导轨精度等级适配策略
弧形导轨是用于实现曲线运动的线性导向装置,广泛应用于自动化设备、机器人、医疗机械等领域。弧形导轨作为机械传动中的核心部件,其精度等级直接影响设备性能与稳定性。从精密加工到重型机械,不同场景对导轨的制造精度、运行精度及耐磨性要求…...
5步精通Trilium中文版:构建高效个人知识管理系统
5步精通Trilium中文版:构建高效个人知识管理系统 【免费下载链接】trilium-translation Translation for Trilium Notes. Trilium Notes 中文适配, 体验优化 项目地址: https://gitcode.com/gh_mirrors/tr/trilium-translation 认识Trilium:重新定…...
C++ ONNX Runtime推理踩坑记:为什么我的全局Session一Run就报ORT_RUNTIME_EXCEPTION?
C ONNX Runtime推理异常解析:全局Session与Env生命周期的陷阱 在C项目中使用ONNX Runtime进行模型推理时,许多开发者都遇到过这样一个令人困惑的场景:明明代码逻辑看起来完全正确,却在调用Session.Run()时突然抛出ORT_RUNTIME_EXC…...
ClickHouse配置优化实战:关键参数详解与性能调优指南
1. ClickHouse配置优化的核心逻辑 ClickHouse作为一款高性能的OLAP数据库,其配置优化需要遵循三个黄金法则:资源隔离、瓶颈定位和场景适配。我见过太多团队一上来就盲目调整参数,结果反而导致性能下降。正确的做法应该是先理解系统行为&#…...
手把手教你用Cloudflare免费RPC节点开发以太坊应用
从零构建以太坊DApp:Cloudflare免费RPC节点实战指南 当你在深夜调试智能合约时,是否曾被突然失效的RPC节点打断思路?作为以太坊开发者,稳定可靠的节点连接是开发流程中最基础却最容易被忽视的一环。Cloudflare提供的免费以太坊RPC…...
BetterNCM Installer:3步完成网易云音乐插件框架安装
BetterNCM Installer:3步完成网易云音乐插件框架安装 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer BetterNCM Installer 是一个专为网易云音乐PC版客户端设计的插件管理器…...
Qt实战:用QCustomPlot+QThread搞定工业级实时数据大屏(附缓存池模板)
Qt工业级实时数据大屏开发实战:QCustomPlot与QThread的高效协同 在工业自动化领域,数据可视化大屏已成为监控产线状态的核心工具。面对每秒数十万数据点的实时刷新需求,传统Qt绘图方案往往力不从心。本文将分享如何基于QCustomPlot和QThread构…...
YOLO12开源模型合规部署:离线环境+审计日志+模型版本固化方案
YOLO12开源模型合规部署:离线环境审计日志模型版本固化方案 1. 项目背景与核心价值 YOLO12作为Ultralytics在2025年推出的最新实时目标检测模型,在保持高速推理性能的同时显著提升了检测精度。其引入的注意力机制优化了特征提取网络,nano版…...
