华为CT6100双千M路由记录
该文章仅仅记录使用CT6100的流程,不提供任何参考和建议。
一、简介
- 设备:华为CT6100瘦客服端,J1800cpu,不包含外壳,有双千M网口,2G内存+8G硬盘。
- 系统:esir的高大全openwrt版本
- 用途:对lan设备进行学习上网和广告拦截,跑一些docker应用,以及尽可能低功耗(6W,一点也不低)
二、系统安装
1. 设备连接
问题:收到就发现不对劲了,上面没有HDMI接口。
解决:幸好的是,具有24P+5P的DVI接口,购买后接上即可成功显示。
2. BIOS设置
问题:最开始的时候,由于跳不进去系统,进行了默认配置操作,结果开机进入boot menu跳不出来

解决:在BOOT CSM设置中,将BOOT NC设置成Disable,其他看情况设置。

3. 系统烧录
问题:由于openwrt是IMG文件,只能烧录到U盘中,但是想要转移到系统硬盘中。
解决:使用dd命令,参考博客:openwrt如何写入硬盘,具体步骤如下:
- 首先U盘烧录一个系统,比如ubuntu或者直接openwrt,我这直接用的是openwrt高大全
- 扩容op:由于op内存不够,上传不了待烧录的img设备,需要先扩容。方法就是磁盘管理->修改->挂载点到/overlay
- 上传到op:使用文件管理,将文件上传到/opt或者/overlay文件夹中
- 格式化硬盘:烧录前需要对硬盘进行格式化,使用命令行cfdisk,对sda硬盘进行删除。
- 烧录op:使用dd命令:
dd if=/overlay/openwrt.img of=/dev/sda- 启动系统:拔掉U盘重启,或者在BIOS中设置启动为HDD
- 端口:默认外面ETH1接wan,里面ETH0接lan
4. 系统扩容
问题:由于OP的默认容量不够,剩余6G硬盘没有用上,需要进行扩容,包括两方面:/overlay和/opt。其中/overlay是软件包的占用空间,建议至少分配到1.6G,然后/opt是docker的空间,将剩余空间全部分配。
注意:以上系统结构是基于ESIR的固件进行配置的,其他OP可能不是同一个类型的空间分配。更多了解ESIR的扩容,可以看油罐的EISR专栏,里面介绍了为啥是/overlay和/opt,以及他们的作用。
解决:具体步骤如下:
- 剩余磁盘分区并格式:磁盘管理中,对磁盘进行修改,将剩余空间进行分区,分别1.6和5.2G,并格式化为EXT4。
- 重启:强烈建议重启,多个步骤可能一下子完成不了导致各种问题。
- 挂载磁盘:在挂载点进行磁盘挂载,分别挂载/overlay和/opt。挂载一个重启一次,防止失败。
- 查看软件包和docker中的空间,应该分别为1G和4.8G,这是由于初始化文件已经占用了一部分了。
- 同样方法可以挂载其他硬盘或者U盘。
5. DNS服务
问题:前面提高共有两个需求,分别为学习上网和广告拦截,使用的分别是Adguard home和OPC,如果让他们共同处理呢?
解决:使用的网络逻辑为:客户端->dnsmsq->Adguard->OPC,据说是比较好的结构,然后DHCP还是由OP实现。具体方法如下:
- 启动Adguard,设置为54端口(因为dnsmsq是53已经占用了),并作为dnsmsq的上有服务器,设置如下:
- Adguard上游 DNS 服务器和Bootstrap DNS 服务器设置为:127.0.0.1:7874,表示数据会进入OPC。如果不走OPC,则分别使用以下DNS:
223.5.5.5 114.114.114.114 8.8.8.8 8.8.4.4 101.226.4.6 tls://dot.360.cn https://doh.360.cn/dns-query https://dns.alidns.com/dns-query tls://dns.alidns.com tls://dns.google
61.139.2.69 211.137.96.205 8.8.8.8 8.8.4.4- Adguard DNS黑名单设置:推荐以下:
https://easylist-downloads.adblockplus.org/easylistchina.txt
https://easylist-downloads.adblockplus.org/easyprivacy.txt
https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt
https://www.i-dont-care-about-cookies.eu/abp/- OP DNS设置:设置DNS转发为:127.0.0.1#54,表明dnsmsq的上游是Adguard
- OPC设置:启动OPC,在DNS中设置本地 DNS 劫持为停用。
- 综上,设置完毕
三、系统优化
1. 上电自动开机
待解决
2. 外壳设计
打算便宜到底,使用3D打印
3. 功耗优化
看能不能通过设置CPU频率,降低工号
4. 散热设置
加一个小小的散热风扇
5. docker应用
看看这个2G+8G能跑个啥docker应用来
6. 最后卖掉
如果真的是6W功率,还不如用ALL in Boom好,一个N5105的才9W功耗,还能跑NAS等
相关文章:
华为CT6100双千M路由记录
该文章仅仅记录使用CT6100的流程,不提供任何参考和建议。 一、简介 设备:华为CT6100瘦客服端,J1800cpu,不包含外壳,有双千M网口,2G内存8G硬盘。系统:esir的高大全openwrt版本用途:对…...
【AcWing-Python-785】快速排序
题目:https://www.acwing.com/problem/content/description/787/对应视频讲解:https://www.acwing.com/video/227/题目描述注意本题数据已加强。快速排序过程中,如果每次取区间起点或者终点作为分界点,则会超时。分界点换成随机值…...
从 JDK 8 到 JDK 18,Java 垃圾回收的十次进化
经历了数千次改进,Java 的垃圾回收在吞吐量、延迟和内存大小方面有了巨大的进步。 2014 年3 月 JDK 8 发布,自那以来 JDK 又连续发布了许多版本,直到今日的 JDK 18 是 Java 的第十个版本。借此机会,我们来回顾一下 HotSpot JVM 的…...
虚拟机VMware Workstation Pro环境搭建
VMware Workstation Pro是一款虚拟化工具,允许用户在Windows PC上运行多个操作系统。这个平台提供一个安全和独立的环境,让用户在使用前,可以建立和测试应用程序、检查修补程序,以及尝试不同的操作系统。它附有虚拟机库 它允许用户…...
【华为OD机试模拟题】用 C++ 实现 - 敏感字段加密(2023.Q1)
最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...
关于Java方法重写的一些反思
最近在开发中遇到一个关于Java方法重写的一些问题,对于方法重写的用法以及可能导致的问题产生了一些思考,本文用于记录下这些想法。 问题场景 我们首先来看两段代码: Override protected void onActivityResult(int requestCode, int resu…...
【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C语言进阶 🎯长路漫漫浩浩,万事皆有期待 文章目录1.文件操作1.1 概述…...
图形编辑器:拖拽阻塞优化
大家好,我是前端西瓜哥。在图形编辑器中,想象这么一个场景,我们撤销了一些重要的操作,然后想选中一个图形,看看它的属性。你点了上去,然后你发现你再也无法重做了。 你以为你点了一下,但其实你…...
c++ 的 Eigen库写 AX=XB的矩阵求解代码
1.AXXB的矩阵求解代码(3*3) #include <iostream> #include <Eigen/Dense>int main() {// 定义矩阵A和BEigen::MatrixXd A(3, 3);A << 1, 2, 3,4, 5, 6,7, 8, 9;Eigen::MatrixXd B(3, 3);B << 10, 11, 12,13, 14, 15,16, 17, 18;// 求解AXXBEigen::Mat…...
正点原子linux驱动篇
linux驱动开发与裸机开发的区别 裸机直接操作寄存器,有些mcu提供了库,但还是很底层 1、linux驱动开发直接操作寄存器很麻烦不现实,主要是根据linux驱动框架进行开发(就是有很多操作都是一样的,我们只需要对一个程序模…...
MATLAB绘制雷达图/蜘蛛图
雷达图/蜘蛛图 1 方法一 函数来源为MATLAB | 如何使用MATLAB绘制雷达图(蜘蛛图) 1.1 调用函数 1.2 案例 2 方法二 函数来源为MATLAB帮助-spider_plot 2.1 调用函数 语法(Syntax): spider_plot(P)spider_plot(P, Name, Value, ...)h …...
算法入门,十字路口选择的案例,如果是南方,则向前行
从if判断start; 十字路口的案例 class HelloWorld { static void Main(string[] args) { /* Write C# code in this online editor and run it. */ Console.WriteLine("Hello World!"); string f…...
父传子与子传父步骤
父传子: 问题:父页面中引入子组件 把想要传给子页面的值用在子组件中用 :值“值” (用同一个值好区分)来绑定。 在子页面中用props接收 子组件不能改变父组件传过来的值。(传多个页面的时候是,比如父传孙的时候我会…...
Java concurrency - Task Execution
1.在单个线程里处理所有的请求:接受请求-处理请求 优点:逻辑简单 缺点:吞吐量低,资源利用率低,响应时间长 2.每个任务分配一个单独的线程来处理: 接受请求-创建线程-在线程里处理请求 优点: …...
浅谈BOM
什么是BOM BOM对于每个前端都不陌生,但是很多人都停留在表面,而没有深层次的研究过它。JavaScript有一个非常重要的运行环境就是浏览器,而且浏览器本身又作为一个应用程序需要对其本身进行操作,所以通常浏览器会有对应的对象模型…...
每日学术速递2.24
CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.LG 1.BUAA_BIGSCity: Spatial-Temporal Graph Neural Network for Wind Power Forecasting in Baidu KDD CUP 2022 标题:BUAA_BIGSCity:百度KDD CUP 2022风电预测…...
SpringBoot 面试问答总结(VIP典藏版)
1. 什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用Spring 的难度, 简省了繁重的配置,提供了各种启动器,使开发者能快速上手。 2. 为什…...
CSS 定位网页元素【快速掌握知识点】
目录 前言 一、position: static 二、position: relative 三、position: absolute 四、position: fixed 五、position: sticky 前言 当我们在设计网页时,经常需要对网页中的元素进行定位,以便它们出现在我们想要的位置。在 CSS 中,我们…...
构建Docker基础镜像(ubuntu20.04+python3.7.1+chrome101+chromedriver101)
文章目录 一、前置条件1.下载 chrome【google-chrome-stable_current_amd64.deb】2.下载 chromedriver【chromedriver_linux64.zip】3.创建 ubuntu 镜像源文件【sources.list】二、构建方法1.构建目录1.创建DockerFile2.打包镜像一、前置条件 要先下载一个支持 linux 的 浏览器…...
最新最全Java面试知识
工作也有好些年了,从刚毕业到前几年看过无数的面试题,在这个过程中也作为面试官面试过其他人,总想着自己写一个面试总结,随着自我认识的变化,一些知识点的理解也越来越不一样了。写下来温故而知新。很多问题可能别人也…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...
深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”
深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀” 在JavaScript中,我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时,单纯依赖字符串或数组就显得力不从心了。这时ÿ…...
记一次spark在docker本地启动报错
1,背景 在docker中部署spark服务和调用spark服务的微服务,微服务之间通过fegin调用 2,问题,docker容器中服务器来后,注册中心都有,调用服务也正常,但是调用spark启动任务后报错,报错…...



