FreshTomato 路由器固件常见配置以及踩坑记录
本文首发于只抄博客,欢迎点击原文链接了解更多内容。
前言
在上一篇文章《网件 R6400 梅林固件恢复官方固件后刷入 FreshTomato》中,我将网件 R6400 刷入了 FreshTomato 固件,目前已经使用了大半个月了,稳定性比起 380.70_0-X7.9.1 版本的梅林固件要好很多,没有再出现过掉线断网了,基础功能上也比官方固件要丰富。
不过关于 FreshTomato 固件的配置,还是有一些坑的,在配置完成之后,功能上可以比肩梅林,稳定性上比肩官方固件。下面先来复习一下上一次已经提过的访问光猫和跑不满带宽的问题。
访问光猫
PPPoE 拨号勾选 Use DHCP,同时不要关闭光猫的 DHCP,这样可以直接访问光猫的后台,需要配置光猫的时候比较方便。
硬件加速
由于 FreshTomato 有 QoS 和限速功能并且默认开启,而这两个功能和硬件加速会冲突,导致千兆路由器只能跑 300M 出头,如果你是 500M 及以上的宽带,建议将 QoS 和 限速功能关闭,这样才能跑满带宽。
IPv6
FreshTomato 关于 IPv6 的设置比较分散,首先要在 Basic -> IPv6 中选择对应的 IPv6 Service Type,一般路由器拨号的选择 DHCPv6 with Prefix Delegation
然后点击页面下方的 Notes 中的 DHCP/DNS 超链接跳转到 Advanced -> DHCP/DNS/TFTP,由于安卓不支持有状态 IPv6,个人习惯是只勾选 SLAAC,同时勾选 Fast RA mode,当 IPv6 前缀变动时,可以及时的获取到新的公网 IPv6 地址
但是关于 IPv6 前缀变动,FreshTomato 貌似有个小 bug ?
正常情况下在首页通过 Disconnect 和 Connect 重新拨号,造成 IPv6 前缀变动后,会自动清理旧的前缀,局域网设备能够正确获取到新的公网 IPv6,并且旧的 IPv6 地址也被设置成 0s 了,到此为止一切正常。
如果直接在 Basic -> Network 中修改配置并保存等意外情况下导致 IPv6 前缀变动后,FreshTomato 并不会清理旧的前缀,局域网的设备会同时拥有旧的 IPv6 地址和新的 IPv6 地址,而此时旧地址已经无法使用会造成 IPv6 断网。
通过 SSH 连接到路由器,查看 /etc/dnsmasq.conf
文件可以看到默认租期是 172800s,也就是说只有当 2 天后旧的 IPv6 地址过期,才能够正常使用 IPv6 上网。
ra-param=br*, mtu:1492, 15, 600
dhcp-range=::, constructor:br*, ra-names, ra-stateless, 64, 172800s
局域网内的 Linux 设备可以通过以下命令强制清除所有 IPv6 地址并重新获取新的地址来恢复 IPv6
ip -6 addr flush dev eth0 && systemctl restart NetworkManager
有没有什么更好的解决方法呢?在刚才的设置页面继续往下翻,可以看到 Custom configuration,我们可以通过这里的设置覆盖掉 FreshTomato 默认的设置。租期最低可以填 120s,我这里参考原来梅林的习惯填写的 600s。这样即便发生意外导致旧地址没被清理,最长 10 分钟就可以恢复。不知道有没有更完美的解决方案,欢迎评论区分享一下。
直接修改
/etc/dnsmasq.conf
文件是不生效的
ra-param=br*, mtu:1492, 15, 600
dhcp-range=::, constructor:br*, ra-names, ra-stateless, 64, 600s
IPv6 防火墙
IPv6 防火墙的设置和梅林的写法类似,可以直接参考《梅林、Padavan 和 OpenWrt 设置 IPv6 防火墙并开放指定端口》中梅林的写法,在 Port Forwarding -> Basic IPv6 中放行需要的目标地址及端口
LED 灯
用过梅林的应该都知道,网件 R 系列几款路由器刷完梅林后长按 WPS 键,可以把所有的 LED 指示灯关闭,而 FreshTomato 默认是没有这功能的,并且在后台界面中也不能设置关闭所有 LED 指示灯。
但在设置界面的 Notes 中得知,LED 灯可以直接通过命令进行控制,而 FreshTomato 又提供了长按 WPS 键执行自定义脚本的功能,我们可以通过自定义脚本的形式来控制 LED 灯的开关。
Other hints - LED function and blink support is router dependent. Check command led [LED_NAME/help] [on/off] for advanced LED control, see Web Shell.
首先在 Administration -> Scripts 的 Init 中填写以下命令,通过 ledstatus.txt
文件来记录下当前 LED 灯状态
touch /tmp/ledstatus.txt
echo "on" > /tmp/ledstatus.txt
然后来到 Administration -> Buttons/LED 中,将下面的命令填写到 Custom Script 中,并且在上面选择 Run Custom Script
read -r LEDS < /tmp/ledstatus.txt
if [ "$LEDS" = "off" ]
then# 开灯:led wlan onled 5g on# led aoss onled bridge onecho "on" > /tmp/ledstatus.txtelse# 关灯:# 无线led wlan offled 5g offled aoss off# 电源led diag off# WPSled dmz off# 网络led bridge offecho "off" > /tmp/ledstatus.txt
fi
这样设置之后,默认开机 LED 灯会正常亮起,长按 WPS 键后会关闭 LED 灯,再次长按则又亮起,具体需要开关哪些灯可以根据注释修改。如果你需要定时开关 LED 灯,也可以将上面的命令修改之后,填到 Scheduler 中定时执行。
相关文章:

FreshTomato 路由器固件常见配置以及踩坑记录
本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 在上一篇文章《网件 R6400 梅林固件恢复官方固件后刷入 FreshTomato》中,我将网件 R6400 刷入了 FreshTomato 固件,目前已经使用了大半个月了,稳定性比起 380.70_0-X7.9…...

ubuntu 使用samba与windows共享文件[注意权限配置]
在Ubuntu上使用Samba服务与Windows系统共享文件,需要正确配置Samba服务以及相应的权限。以下是详细的步骤: 安装Samba 首先,确保你的Ubuntu系统上安装了Samba服务。 sudo apt update sudo apt install samba配置Samba 安装完成后,…...
使用 httputils + chronicle-bytes 实现金融级 java rpc
1、认识 chronicle-bytes Chronicle-Bytes 是一个类似于 Java NIO 的 ByteBuffer 的高效字节操作库,但它提供了许多扩展功能。这个项目由 OpenHFT 开发并维护,旨在提供高性能、低延迟的数据处理解决方案。Chronicle-Bytes 设计用于高频率交易和其他对性…...
软件工程期末复习(一)
题目复习 单选题 软件产品的核心特性是什么? A. 物质性 B. 逻辑性 C. 可复制性 D. 消耗性 正确答案:B 单选题 在软件开发过程中,哪个环节最接近于传统制造业中的“生产”过程? A. 需求分析 B. 编码 C. 测试 D. 研制(…...

element ui 组件 时间选择器出现转换问题的解决办法
在使用时间选择器添加数据是会出现转换失败问题 vue中代码为: 解决办法: 在el-date-picker中添加 format 和 value-format...

报错:websocket注入为null,已解决!
错误截图 原因分析: WebSocket 在 Spring 框架中的注入问题是由其生命周期与 Spring 容器的作用域不一致引起的。spring管理的都是单例(singleton),和 websocket (多对象)相冲突。如果你的WebSocket 处理类…...

.e01, ..., .e0n的分卷压缩包怎么解压
用BandiZip,这些分卷压缩中还有一个.exe的文件,这个不是可执行文件,是一个解压缩的开头。 安装好bandiZip后,右键这个.exe文件 点击打开就是开始解压了: 最后解压后是这些。然后一个个再次解压....
四年前的计划,青涩但坚韧
回看四年前写的目标,做的计划,特别感慨,当时的我无法想到现在正在做的事情。 一个契机,群里有个朋友说在写五年规划,让我想到五年前刚毕业不久也写过类似的东西,当时写的是三年学习计划,那是202…...
【人工智能】人工智能与大模型
人工智能与大模型的结合正在深刻改变多个行业和领域的格局。 1. 人工智能 (AI) 人工智能指的是使计算机或机器具备模拟人类智能的能力,包括学习、推理、问题解决、自然语言处理、视觉感知等。AI的发展可以分为几个阶段: 弱人工智能 (Narrow AI)&#…...

小波与傅里叶变换在去噪效果上的对比分析-附Matlab源程序
👨🎓 博主简介:博士研究生 🔬 超级学长:超级学长实验室(提供各种程序开发、实验复现与论文指导) 📧 个人邮箱:easy_optics126.com 🕮 目 录 摘要一、…...

Luma AI 简单几步生成视频
简单几步生成视频 登录我们的 AceDataPlatform 网站,按照下图所示即可生成高质量的视频,同时,我们也提供了简单易用的 API 方便集成调用,可以查看 Luma API了解详情 技术介绍 我们使用了 Luma 的技术,实现了上面的图…...

AfuseKt1.4.4 | 刮削视频播放器,支持阿里云盘和自动海报墙
AfuseKt是一款功能强大的安卓端在线视频播放器,广泛兼容多种平台如阿里云盘、Alist、WebDAV、Emby、Jellyfin等,同时也支持本地存储视频文件的播放。其特色功能包括自动抓取影片信息生成海报墙展示,充分利用设备硬件进行高清视频流畅播放&…...

深入理解计算机中的补码、反码、原码
问题: 我们每天用的钟表,其实只有1~12这12个数字,但我们日常会说13点、17点之类的。 问:13点在钟表上哪个位置? 答:很简单嘛,1点的位置。 你不觉得奇怪吗,为啥13点会和1点在同一个位…...

Scratch教学作品 | 白水急流——急流勇进,挑战反应极限! ♂️
今天为大家推荐一款刺激又好玩的Scratch冒险作品——《白水急流》!由AgentFransidium制作,这款作品将带你体验惊险的急流救援任务,帮助那位“睡着的疯狂人”安全穿越湍急水域!想要挑战自己的反应极限?快来试试吧&#…...

Px4 V2.4.8飞控Mavlink命令控制说明
首先,可以使用两种方法连接飞控,使用虚拟机(LINUX)或使用地面站(QGC)连接。 在px4的代码文件位置打开命令终端,输入连接命令: ./Tools/mavlink_shell.py 在控制台使用help来获取所有…...

Linux(Ubuntu24.04)源码编译安装VTK7.1.1记录
VTK(Visualization Toolkit)是一个开源的3D可视化开发工具包,用于开发可视化和图形处理应用程序。VTK提供了一系列的算法和工具,用于创建、渲染和处理复杂的3D图形和数据。VTK由C编写,并提供了Python、Java和Tcl等语言…...

【Go学习】-01-4-项目管理及协程
【Go学习】-01-4-项目管理及协程 1 项目管理1.1 包1.1.1 包的基本概念1.1.2 包的导入1.1.3 包的导入路径1.1.4 包的引用格式 1.2. go mod1.2.1 项目中使用 2 协程并发2.1 并发2.2 Goroutine2.2.1 使用2.2.2 GMP2.2.2.1 Golang “调度器” 的由来2.2.2.2 Go 语言的协程 goroutin…...
ES_如何设置ElasticSearch 8.0版本的匿名访问以及https_http模式的互相切换
总结: 设置匿名访问,只需要设置xpack.security.authc.anonymous.username和xpack.security.authc.anonymous.roles参数就行,设置好后,可以匿名访问也可以非匿名访问,但是非匿名访问的情况下必须保证用户名和密码正确 取…...

PySide6 SQLite3 做的 电脑组装报价系统
一、数据库结构说明 1. 配件类别表 (component_categories) 字段名类型说明约束category_idINTEGER类别IDPRIMARY KEY, AUTOINCREMENTcategory_nameTEXT类别名称NOT NULL, UNIQUEdescriptionTEXT类别描述 2. 配件表 (components) 字段名类型说明约束component_idINTEGER配件…...

逻辑回归(Logistic Regression) —— 机器学习中的经典分类算法
1. 逻辑回归简介 逻辑回归是一种线性分类模型,常用于二分类问题。它通过学习特征权重,将输入映射为0 到 1 之间的概率值,并根据阈值将样本归入某一类别。逻辑回归使用Sigmoid 函数将线性结果转化为概率。 尽管名字中有“回归”,…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...