当前位置: 首页 > news >正文

华为CT6100双千M路由记录

该文章仅仅记录使用CT6100的流程,不提供任何参考和建议。

一、简介

  1. 设备:华为CT6100瘦客服端,J1800cpu,不包含外壳,有双千M网口,2G内存+8G硬盘。
  2. 系统:esir的高大全openwrt版本
  3. 用途:对lan设备进行学习上网和广告拦截,跑一些docker应用,以及尽可能低功耗(6W,一点也不低)

二、系统安装

1. 设备连接

问题:收到就发现不对劲了,上面没有HDMI接口。
解决:幸好的是,具有24P+5P的DVI接口,购买后接上即可成功显示。

2. BIOS设置

问题:最开始的时候,由于跳不进去系统,进行了默认配置操作,结果开机进入boot menu跳不出来
在这里插入图片描述
解决:在BOOT CSM设置中,将BOOT NC设置成Disable,其他看情况设置。
在这里插入图片描述

3. 系统烧录

问题:由于openwrt是IMG文件,只能烧录到U盘中,但是想要转移到系统硬盘中。
解决:使用dd命令,参考博客:openwrt如何写入硬盘,具体步骤如下:

  1. 首先U盘烧录一个系统,比如ubuntu或者直接openwrt,我这直接用的是openwrt高大全
  2. 扩容op:由于op内存不够,上传不了待烧录的img设备,需要先扩容。方法就是磁盘管理->修改->挂载点到/overlay
  3. 上传到op:使用文件管理,将文件上传到/opt或者/overlay文件夹中
  4. 格式化硬盘:烧录前需要对硬盘进行格式化,使用命令行cfdisk,对sda硬盘进行删除。
  5. 烧录op:使用dd命令:dd if=/overlay/openwrt.img of=/dev/sda
  6. 启动系统:拔掉U盘重启,或者在BIOS中设置启动为HDD
  7. 端口:默认外面ETH1接wan,里面ETH0接lan

4. 系统扩容

问题:由于OP的默认容量不够,剩余6G硬盘没有用上,需要进行扩容,包括两方面:/overlay和/opt。其中/overlay是软件包的占用空间,建议至少分配到1.6G,然后/opt是docker的空间,将剩余空间全部分配。
注意:以上系统结构是基于ESIR的固件进行配置的,其他OP可能不是同一个类型的空间分配。更多了解ESIR的扩容,可以看油罐的EISR专栏,里面介绍了为啥是/overlay和/opt,以及他们的作用。
解决:具体步骤如下:

  1. 剩余磁盘分区并格式:磁盘管理中,对磁盘进行修改,将剩余空间进行分区,分别1.6和5.2G,并格式化为EXT4。
    在这里插入图片描述
  2. 重启:强烈建议重启,多个步骤可能一下子完成不了导致各种问题。
  3. 挂载磁盘:在挂载点进行磁盘挂载,分别挂载/overlay和/opt。挂载一个重启一次,防止失败。
    在这里插入图片描述
  4. 查看软件包和docker中的空间,应该分别为1G和4.8G,这是由于初始化文件已经占用了一部分了。
  5. 同样方法可以挂载其他硬盘或者U盘。

5. DNS服务

问题:前面提高共有两个需求,分别为学习上网和广告拦截,使用的分别是Adguard home和OPC,如果让他们共同处理呢?
解决:使用的网络逻辑为:客户端->dnsmsq->Adguard->OPC,据说是比较好的结构,然后DHCP还是由OP实现。具体方法如下:

  1. 启动Adguard,设置为54端口(因为dnsmsq是53已经占用了),并作为dnsmsq的上有服务器,设置如下:
    在这里插入图片描述
  2. 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
  3. 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/
  4. OP DNS设置:设置DNS转发为:127.0.0.1#54,表明dnsmsq的上游是Adguard
    在这里插入图片描述
  5. OPC设置:启动OPC,在DNS中设置本地 DNS 劫持为停用。
  6. 综上,设置完毕

三、系统优化

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驱动开发与裸机开发的区别 裸机直接操作寄存器&#xff0c;有些mcu提供了库&#xff0c;但还是很底层 1、linux驱动开发直接操作寄存器很麻烦不现实&#xff0c;主要是根据linux驱动框架进行开发&#xff08;就是有很多操作都是一样的&#xff0c;我们只需要对一个程序模…...

MATLAB绘制雷达图/蜘蛛图

雷达图/蜘蛛图 1 方法一 函数来源为MATLAB | 如何使用MATLAB绘制雷达图(蜘蛛图) 1.1 调用函数 1.2 案例 2 方法二 函数来源为MATLAB帮助-spider_plot 2.1 调用函数 语法&#xff08;Syntax&#xff09;&#xff1a; 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…...

父传子与子传父步骤

父传子&#xff1a; 问题&#xff1a;父页面中引入子组件 把想要传给子页面的值用在子组件中用 &#xff1a;值“值” (用同一个值好区分)来绑定。 在子页面中用props接收 子组件不能改变父组件传过来的值。&#xff08;传多个页面的时候是&#xff0c;比如父传孙的时候我会…...

Java concurrency - Task Execution

1.在单个线程里处理所有的请求&#xff1a;接受请求-处理请求 优点&#xff1a;逻辑简单 缺点&#xff1a;吞吐量低&#xff0c;资源利用率低&#xff0c;响应时间长 2.每个任务分配一个单独的线程来处理&#xff1a; 接受请求-创建线程-在线程里处理请求 优点&#xff1a; …...

浅谈BOM

什么是BOM BOM对于每个前端都不陌生&#xff0c;但是很多人都停留在表面&#xff0c;而没有深层次的研究过它。JavaScript有一个非常重要的运行环境就是浏览器&#xff0c;而且浏览器本身又作为一个应用程序需要对其本身进行操作&#xff0c;所以通常浏览器会有对应的对象模型…...

每日学术速递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 标题&#xff1a;BUAA_BIGSCity&#xff1a;百度KDD CUP 2022风电预测…...

SpringBoot 面试问答总结(VIP典藏版)

1. 什么是 Spring Boot&#xff1f; Spring Boot 是 Spring 开源组织下的子项目&#xff0c;是 Spring 组件一站式解决方案&#xff0c;主要是简化了使用Spring 的难度&#xff0c; 简省了繁重的配置&#xff0c;提供了各种启动器&#xff0c;使开发者能快速上手。 2. 为什…...

CSS 定位网页元素【快速掌握知识点】

目录 前言 一、position: static 二、position: relative 三、position: absolute 四、position: fixed 五、position: sticky 前言 当我们在设计网页时&#xff0c;经常需要对网页中的元素进行定位&#xff0c;以便它们出现在我们想要的位置。在 CSS 中&#xff0c;我们…...

构建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面试知识

工作也有好些年了&#xff0c;从刚毕业到前几年看过无数的面试题&#xff0c;在这个过程中也作为面试官面试过其他人&#xff0c;总想着自己写一个面试总结&#xff0c;随着自我认识的变化&#xff0c;一些知识点的理解也越来越不一样了。写下来温故而知新。很多问题可能别人也…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...