Lan Tian @ Blog

去除 OpenVPN 的 Stable-privacy IPv6 地址

在我的 VPS 上,OpenVPN 创建的 TAP 网络界面/虚拟网卡会带有一个随机生成的 IPv6 地址,scope 为 stable-privacy。 这个地址本身是随机生成、用于防止根据 IPv6 地址追踪用户的,但在 DN42 组网时,BGP 握手可能会从这个地址发出(而非设置的 Link-local 地址),然后因为来源地址不符而握手失败。 解决方法是对这些 TAP 网络界面通过 sysctl 设置,关闭可能会自动产生地址的几项。可以设置 OpenVPN 让它在创建网络界面时自动运行 sysctl: 123# 在 OpenVPN 的 conf 文件里加上script-security 2up "/bin/sh -c '/sbin/sysctl -w net.ipv6.conf.$dev.autoconf=0 && /sbin/sysctl -w net.ipv6....

在 OpenVZ 6 上安装/升级到 Debian 10

2020 年了,你怎么还在用 OpenVZ 6 的 VPS? 因为它(们)只要一刀一年。 因为 OpenVZ 6 的内核非常老旧(Linux 2.6.32),较新的系统无法在旧内核上正常运行,因此之前我的 OpenVZ VPS 只能用 Debian 8。 但我在 GitHub 发现了一个修改版的 glibc(C 语言运行库),可以在 OpenVZ 6 内核上正常运行 Debian 10。 警告 不保证以下步骤适用于所有 OpenVZ VPS,也不保证这个 glibc 的安全性(我没看它修改了哪里,说起来停止维护的 OpenVZ 6 还要什么安全性)。 请备份好数据,最坏的情况下你可能需要重装系统。 安装步骤 原作者只提供了 deb 包,但这些 deb 包里有调试符号之类一般人用不上的东西,所以不建议 dpkg -i *.deb。 原作者建议自己在本地建一个简单的软件源再使用它,...

DN42 实验网络介绍及注册教程(2020 版)

DN42 全称 Decentralized Network 42(42 号去中心网络),是一个大型、去中心化的 VPN 网络。但是与其它传统 VPN 不同的是,DN42 本身不提供 VPN 出口服务,即不提供规避网络审查、流媒体解锁等类似服务。相反,DN42 的目的是模拟一个互联网。它使用了大量在目前互联网骨干上应用的技术(例如 BGP 和递归 DNS),可以很好地模拟一个真实的网络环境。 简而言之,DN42: 不适合单纯想要保护隐私、解锁流媒体服务、规避网络审查的用户 适合想要研究网络技术,练习服务器、路由器等网络设备配置,甚至后续在真实互联网建立 AS 的用户 适合拥有真实 AS,但担心自己配置错误广播出错误路由、干掉半个互联网,希望有个地方测试的用户。 正因为此,使用 DN42 的门槛比较高。就像在真实互联网中一样,你要扮演一个 ISP(互联网服务提供商),注册自己的个人信息,...

Docker 容器共享网络命名空间,集成 Bird 实现 Anycast 高可用

正好一年前,我在 DN42 网络内用 Docker 建立了 Anycast 服务。当时我的方法是,自定义容器的镜像,在其中安装一个 Bird,然后加入 OSPF 协议的配置文件来广播 Anycast 路由。但是随着时间推移,这套方案出现了以下问题: 安装 Bird 本身是个较花时间的过程。我的 Bird 不是用 apt-get 装的,因为我的 Dockerfile 需要支持多种 CPU 架构,而 Debian 有些架构的软件源里没有 Bird。而又因为我的构建服务器是 AMD64 架构,使用 qemu-user-static 支持其它架构的镜像运行,为其它架构制作镜像、编译程序时就涉及到大量的指令集翻译,效率非常低。构建一个镜像在不同架构下的版本可能需要 2 小时以上,而安装应用本身的 apt-get 流程只需要几分钟。 自己定制镜像也比较花时间。...

系统禁用摄像头防止网课翻车

本文介绍如何在 Windows 和 Linux 中禁用摄像头驱动,从而: 在系统层面上避免误操作开启摄像头,把你 在吃饭 在床上 在玩王者荣耀 在(数据删除) 的样子直播出来 避免部分网课软件后台开启偷拍 Windows 操作方法 按下 Win+R 组合键调出运行窗口,输入 devmgmt.msc 并确定调出设备管理器窗口。你的摄像头会出现在 图像处理设备 一类中,右键停用它。 (下图截自 Windows XP,但 Windows 7 和 10 上的操作相同。) 当需要使用摄像头时,再回到此处启用摄像头,关闭并重新打开浏览器/网课软件即可。 Linux 操作方法 12345# 首先关闭浏览器、网课软件等占用摄像头的设备sudo modprobe -rv uvcvideosudo nano /etc/modprobe.d/disablecamera....

LADSPA 双声道分频及低音增强插件

前言 今年过年期间,我爸给了我一只漫步者 M120 蓝牙音响。这只蓝牙音响并不是高端型号,只有两个扬声器,没有低音单元,并且也不支持 aptX、LDAC 这些高端的蓝牙音频编码技术(虽然我觉得便携音响用这些也听不出区别)。 我在用手机连上音响放歌时,发现这个音响竟然有一定的低频输出能力,或者说“能蹦”。说到能蹦,我就想到去年我的一个同学买的 JBL Charge 4 音响。Charge 4 作为一个 1000 块钱的蓝牙音响,有着独立低音单元,低音非常震撼。于是我就想,虽然我的蓝牙音响也就 100 块,能不能通过一些软件手段提升它的低音表现,做到和 Charge 4 ”有点像“的程度呢?于是我就打开 Android 上的音效神器 - ViPER4Audio FX 音效软件,把”动态系统“里的低音拉高。此时,低音的确被增强了,但是扬声器开始出现了失真,具体表现为:...

使用现代格式几乎无损地存档图片及视频 - H265 与 HEIF

很多人都会保存有每次参加旅游、聚会等活动,或是人生重要时刻的图片和视频。如果你很喜欢拍照和录视频,并且把它们都保存下来,你很有可能会飞快地塞满一块有一块的硬盘。如果你不想不停地加硬盘,你也可以尝试对你的图片和视频等进行压缩。 说到压缩,常见的操作是降低图片的分辨率。我曾经用过的古老的 Microsoft Office Picture Manager(集成在 Office 2003 中)就带有一键图片压缩功能,实际上是将图片转换成分辨率约为 1024x768 的 JPEG 图片。这样操作的一个很大的缺陷,就是图片的大量细节信息完全丢失了。即使你在存档的当时觉得可以接受这些细节的丢失,但随着技术发展,这些丢失很可能有一天变得非常扎眼。例如,零几年时显示器的分辨率普遍为 1024x768,因此 Microsoft Office Picture Manager 将图片压缩到这个分辨率。...

使用 PowerDNS 的 Lua 功能自建分地区解析 GeoDNS

之前,如果要为自己的网站自建权威 DNS 系统,那么(几乎)唯一的选择是 PowerDNS 加上它的 GeoIP 后端。但是 GeoIP 后端使用的是 YAML 格式的配置文件,不能与 MySQL 等数据库一同使用。这意味着必须手动配置一套跨服务器同步文件的系统,而不能使用更为成熟的数据库同步技术。 不过,PowerDNS 在最新的 4.2 版本中加入了 Lua 记录的支持。Lua 是一种专门用于“嵌入其它程序执行功能”的编程语言,你或许曾经在 nginx 上看到过它(作为一个插件)。Lua 记录支持使得 PowerDNS 可以根据用户查询请求的不同来返回不同的回答,分地区解析 GeoDNS 功能也就可以实现了。 更新 PowerDNS 最新的 PowerDNS 4.2 版本没有加入 Debian 10 的软件仓库中,你需要从 Debian Unstable 的软件仓库下载。...

学校网络中自建 VLAN,低价实现高速私有内网

和全国大多数高校一样,我所在的大学以“一人一账号”的方式提供网络。通过有线网络或者 Wi-Fi 联网时,所有请求会被暂时重定向到一个登录界面(即 Captive Portal),输入用户名密码后才可以访问互联网。这个做法也是大多数公共场所(例如机场,咖啡厅)的标配,对于电脑、手机等设备也还算友好。但是一些不带显示屏的设备(例如树莓派,ESP8266 等)就难以访问网络了。 对于树莓派、ESP8266 等可以运行自定义代码的系统,可以模拟提交表单来登录网络,但是一旦模拟提交表单的程序出现问题,你就得手动将设备取下来,连上自己的电脑上传新的登录程序,这一过程非常的麻烦。至于其余只能运行预定程序的智能设备就完全无法联网了。由于我并没有智能台灯等设备,本文暂时只考虑可以运行 Windows、macOS、Linux 三大操作系统之一的智能设备,...

OS/2 Warp 4 系统试用及安装 Firefox

OS/2 是起初由 IBM 与微软公司联合开发,后续由 IBM 维护的操作系统。在上世纪 90 年代,OS/2 是 Windows 的有力竞争者,但 OS/2 后续在市场上被 Windows 系列击败,IBM 也在 2006 年 12 月 31 日最终停止了 OS/2 Warp 4 的技术支持。 但是,这并不意味着 OS/2 的死亡。在官方技术支持终止后,Serenity System 公司接手了 OS/2 的开发,并以 eComStation 的名字继续开发;2015 年,另一家公司 Arca Noae LLC 也推出了一款基于 OS/2 的发行版 ArcaOS,并且作为商业产品出售。 同时,开源社区也在为 OS/2 提供一些技术支持。开源社区在 OS/2 上交叉编译了常用的 Unix 工具(例如 ls,rm 等),RPM/YUM 包管理器,以及一系列的库。...