华为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面试知识
工作也有好些年了,从刚毕业到前几年看过无数的面试题,在这个过程中也作为面试官面试过其他人,总想着自己写一个面试总结,随着自我认识的变化,一些知识点的理解也越来越不一样了。写下来温故而知新。很多问题可能别人也…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...