网桥

网桥相当于网卡的容器,可以将多个网卡放到网桥内,它们就像在一个局域网里了,对外用同一个 IP。

工作原理

网桥工作在第二层(数据链路层)。它不关心 IP 地址,只看 MAC 地址。
当我们创建一个网桥并将物理网卡丢进去时,会发生以下变化。

阅读全文 →

给 docker 配置 ipv6 网络

现在 ipv6 用的越来越多,很多时候我们需要让容器通过 ipv6 访问服务,或者让外部通过 ipv6 访问我们的容器。这里记录下给容器配置 ipv6 网络的方式。

前置条件

如果需要通过容器访问外部的 ipv6 服务,那需要先保证宿主机上是有 ipv6 地址的。否则配置了 ipv6 也只是内网之间可以通过子网互通。

阅读全文 →

seafile 配置

Seafile 对域名极其敏感,证书配好后,必须修改内部配置,否则会出现登录报错或重定向循环。

1. 修改 Seafile 内部配置 (最重要)

  • SERVICE_URL: 必须改为 https://files.laily.net
  • FILE_SERVER_ROOT: 必须改为 https://files.laily.net/seafhttp
  • CSRF/Allowed Hosts: 在 seahub_settings.py 中确认 ALLOWED_HOSTS 包含你的域名。

2. 修复 ServerDown: 1 keys failed

  • 这是 Memcached 挂了或连接断开的标志。
  • 排查:确认 Memcached Pod 运行正常,且 Seafile 配置中的缓存地址(如 memcached:11211)在 K8s 内网可解析。

3. Ingress 协议透传注解

在 Ingress 的 annotations 中加入以下内容,防止 404 或协议丢失:

阅读全文 →

K8s 证书管理 Cert-Manager

1. 基础信息介绍

核心组件

  • cert-manager (Controller)
    • 职责:大脑。它负责监控你在 K8s 中创建的 CertificateIssuer 等资源,并驱动整个申请流程(创建 Order、Challenge 等)
  • cert-manager-cainjector
    • 职责:辅助工具。它负责将证书注入到 Webhook 或 APIService 中。在申请普通业务证书时,它主要在后台保障 cert-manager 自身的通信安全。
  • cert-manager-webhook
    • 职责:守门员。当你提交一个 Ingress 或 Certificate YAML 时,它会验证你的 YAML 语法是否合法。如果你填错了字段,报错通常就是它弹出来的。

然后为了申请证书,我们还需要配置另外一个重要的组件 Issuer,主要定义如何与证书颁发机构(如 Let’s Encrypt)对接(比如用 HTTP Challenge 还是 DNS Challenge,访问网址,身份信息等等)。
Issuer 分两种, Issuer vs ClusterIssuer

阅读全文 →

路由器IPv6 配置

前缀代理 DHCPv6-PD (Prefix Delegation)

在 IPv4 中,运营商通常只给你一个公网 IP,你的路由器通过 NAT(网络地址转换)让家里所有设备上网。 而在 IPv6 中,运营商会分给你一整块地址前缀(通常是 /56/60)。你的路由器不需要做 NAT,而是把这块大前缀切成更小的块(通常是 /64),分发给下级设备。这个过程叫前缀代理。

阅读全文 →

mtu 理解

1. 网络基础与“包裹”解构

核心目标: 理解每一层协议对数据包大小的限制,以及为什么“开销”不可避免。

1.1 为什么 MTU 属于第二层?

  • MTU (Maximum Transmission Unit):指数据链路层(L2)能通过的最大数据帧长度。
  • 物理制约:就像隧道的限高。以太网标准(IEEE 802.3)规定默认 MTU 为 1500 字节
  • 常见介质默认值:
    • 以太网 (Ethernet): 1500
    • Wi-Fi: 2304(由于无线环境不稳定,系统常会协商降至 1500)
    • PPPoE (拨号上网): 1492(因为多了 8 字节的 PPPoE 封装头)

1.2 数据包头部的“代价” (Overhead)

当你发送数据时,每一层都会增加报头:

阅读全文 →

linux 多用户共用目录权限处理

有的时候我们多人在一台 linux 服务器上操作同一个目录,这时候经常出现权限错误,比如一个用户上传的文件其他用户编辑不了。

解决这个问题的方案主要是 SGID(Set Group ID) 和 acl。前者决定新建在文件属于哪个组,后者决定新建的文件给这个组默认什么权限。
这样我们只要将允许操作的用户都加入到这个组,所有用户都可以操作目录下文件了。

阅读全文 →

普通电机、步进电机和伺服电机

普通电机

image.png

物理结构
外部是一圈磁铁(定子),中间是一个绕满导线的转子。
工作原理
通电后,里面线圈产生磁力,和外面的磁铁“同性相斥,异性相吸”,转子就转动起来。
特点
它只有开和关。给它电,它就转, 电压越高,转的越快。它不知道自己转了多少圈,也无法控制自己精确的停在某个角度。

阅读全文 →

deb 格式

基础结构

deb 包本质上是一个 ar 归档文件,包含编译好的二进制文件、配置文件和元数据。
有两个关键组成

  • DEBIAN 目录:包含版本信息和控制文件
  • 文件系统布局:和系统目录对应结构的文件,部署后会放置到系统上对应的目录里(比如 /usr/bin,/etc 等)

常见的目录结构

阅读全文 →