在Windows下实现WireGuard动态DNS解析(DDNS)的正确方法:避免无意义的开销

WireGuard 隧道一旦建立后,域名就不再重新解析了,一旦服务端的 IP 发生改变,这隧道就断了。

截止文章最后修订,WireGuard 官方始终没有提供 Windows 下的动态 DNS 解析(DDNS)客户端脚本,所以说你想实现,如果你想在 Windows 下使用 WireGuard 配合经常改变 IP 的域名,你就必须要自己写一个动态 DNS 解析脚本。

我基于网上的脚本进行了一番魔改,增加了以下特性:

  • 只处理已启用的 WireGuard 隧道,没开的隧道不会处理
  • 可以作为服务安装,自带延迟功能
  • 增加各类判断条件和错误处理,以便纠错

点击阅读全文 →

OpenWRT/DNSMasq 配置DHCP静态路由主动推送 实现流量直达和旁路由流量零代价分载

背景

通常来说,如果我们划分了另一个网段,流量是需要通过网关来进行路由的。例如 LAN 网段为 172.20.0.0/24,然后我们在家庭 PVE 服务器上创建了一个用于虚拟机的 172.20.1.0/24 网段,其中 PVE 服务器的网卡的 IP 为 172.20.0.3 ,为了能够使得 LAN 的设备能直接访问虚拟机的 IP 段 172.20.1.0/24,就需要在网关设备上添加一个静态路由,指向 172.20.1.0/24,如下图。

诚然,这样做确实可以实现 LAN 的设备能直接访问虚拟机的 IP 段而不需要设置代理,但是这样做有一个缺点:所有访问虚拟机的流量都需要经过网关处理!这就导致了网关的 CPU 负载会变高,而且网关的网络带宽也会被内网访问虚拟机的流量占用。

注意到 PVE 服务器的网卡的 IP 为 172.20.0.3,和 LAN 位于同一网段,有没有什么办法可以直接让 LAN 的设备访问 172.20.1.0/24 段时,直接到达 172.20.0.3 而不要经过网关?

答案是有的,那就是静态路由主动推送。这个功能在 OpenWRT 上可以通过直接在 LUCI 上设置来实现,而在其他 Linux 发行版上可以通过修改 /etc/dnsmasq.conf 来实现。

点击阅读全文 →

解决 Windows 打开视频/图片文件夹很慢的问题

症状:打开视频/图片文件夹时,会卡在“正在加载”界面很久,或者直接卡死。此时打开任务管理器,观察到 explorer.exe 的 CPU 占用率很高,有一些磁盘占用。

一开始以为是我把视频和图片文件夹放到了 OneDrive 里,但是把文件夹移出 OneDrive 后问题依旧存在。后偶然观察到在库上打开此文件夹没有这种问题,遂怀疑到是否是因为 排序/分组 的原因。

解决方法:在文件夹中右键,选择“排序”->“无”,然后再选择“分组依据”->“无”,问题解决。

出现这种问题的根本原因是我们用了需要读取图片EXIF和视频文件本身来做排序的属性,Explorer 需要打开该目录下的所有文件(例如对于照片是寻找EXIF),找到需要的信息,然后做完排序才展示出来。而如果我们选择了“无”,则不需要读取文件本身,直接展示即可。

当然,这样的话分组就没了啊?所以有什么替代方案吗?答案是有的,出现这种问题的根本原因是我们用了需要读取图片EXIF和视频文件本身来做排序的属性,那用文件系统本身支持的属性来做排序就可以了。例如对于“日期”(这个日期是照片的EXIF的日期,需要读取文件),我们可以用“修改日期”来排序(这个修改日期是文件系统的文件写入时间),这样就不需要读取文件本身了。当然两者是不完全等价的,不过一般情况是一样的。

点击阅读全文 →

AltA2DP - 向支持Sony LDAC协议的耳机提供Windows下蓝牙LDAC音频编码器支持

特别注意:禁止任何形式的转载!

本驱动可以解决Windows屎一样的蓝牙音频编码器,向支持 Sony LDAC 协议的耳机提供Windows下蓝牙LDAC音频编码器支持。个人破解版本,非最新版本,反正功能没差。新版授权机制改了,但最近在赶论文,没时间研究,有兴趣的可以自己研究一下(反正又不是不能用嘛 🤣)。

注意:LDAC 对蓝牙信号要求比较高,比如我笔记本自带的蓝牙用 LDAC 990Kbps 能卡的六亲不认,可以买个外接 USB 蓝牙用。打游戏时如果觉得 LDAC 导致延迟太高可以在它的面板里切换为 SBC 编码器。

点击阅读全文 →

修复黑群晖 DSM7.0 + Btrfs 存储空间/磁盘损毁的问题

意外断电重启后,发现群晖提示硬盘损毁了,但是实际上硬盘还是正常的,S.M.A.R.T. 状态也良好,但是无法写入数据,系统状态报告为“严重”,群晖的程序也拒绝工作。

修复方法

  1. 通过 SSH 直接登录 root 账号。如果不方便直接登录 root,则执行:

    cd /
    sudo -i
    

    对于虚拟机黑群晖如果SSH挂了也没事,开个管道模式的串口连接(例如 \\.\pipe\dsm),然后用Putty或者Xshell 以管理员身份运行 连上管道即可。

  2. 检查有问题的存储池,此时可以看到 sdc3 后面的 [E] 表示他现在是错误状态:

cat /proc/mdstat

点击阅读全文 →

校园网白嫖思路分享:局域网中转-不花钱、不认证、高速上网

本文将分享一些校园网的白嫖思路(WireGuard / SoftEther VPN Server基于 UDP 53 端口的 VPN 三层白嫖、Socks 5 白嫖+科学上网二合一的四层白嫖),也就是不花一分钱就和一般用户一样使用校园网。

2023/2/23: 更新各平台配置NAT命令和L2TP方法,并根据先前在评论区的答复介绍可以直接放弃的一些不可行的思路

前提条件

下面列出的思路均要求使用一个校园网的服务器作为中转,因此,需要能够在不需要付费、认证后就能上网的网络环境(一般为办公区或实验室网络)下放一个电脑(树莓派也行);或者有任意学校服务器的使用权。

整体思路就是找个在学校里面地方搭个服务器中转流量

各种思路

基于 UDP 53 端口的 VPN 三层白嫖

原理:UDP 53 是 DNS 协议所用端口,由于门户(Portal)认证为了实现 HTTP 劫持跳转到登录页面,必须使得浏览器能够正常地进行 DNS 解析,因此在不认证、不付费的情况下也会放行 UDP 53 端口的流量。

特点不需要校园网认证,不需要购买校园网,不需要校园网账号。此外由于 VPN 自带加密,因此可以克服开放 Wi-Fi 网络通信完全不加密的缺陷。

下面所列出的两个思路均是三层(IP)级的 VPN 方法,可以转发所有三层报文,因此支持 ICMP 协议(可以用ping)。

注意:使用 UDP 53 端口需要所在网络没有DNS劫持的问题,如果你所在的网络存在DNS劫持(例如,OpenWRT的DHCP/DNS下的”DNS重定向”功能就是DNS劫持),则该方法会失败。

实现思路1:WireGuard

我特别推荐此方案。WireGuard 是几乎无状态的VPN协议,切换网络零感知,不需要重新连接VPN,对于经常睡眠-唤醒的电脑特别有用。睡眠唤醒后可以立刻上网。此外 WireGuard 在 Linux 和 Windows 操作系统上均是纯内核态的实现,性能极其高。

方法:搭建一个 wireguard 服务端,然后端口监听在 53 上

搭建 Linux 服务端的教程很多,一键包也很多。但若要搭建 Windows 服务端,请一定要阅读我之前的这篇文章

缺点:搭建确实有些复杂,另外配置文件对于不懂计算机网络的人来说实在是晦涩难懂

点击阅读全文 →

在 Windows 上配置网卡多个 VLAN、多个虚拟网卡、实现单线多拨网速叠加(无需驱动支持)

本文分为两节,分别是如何在 Windows 上利用 Hyper-V 交换机实现对 VLAN 的支持;以及如何利用 Hyper-V 交换机功能创建多块虚拟网卡,实现单线多拨叠加网速。可以只使用 Hyper-V 交换机而不使用 Hyper-V 虚拟机,所以这不会影响你电脑的性能。以上功能均不需要网卡驱动支持。

效果图:

ℹ️ 使用 Hyper-V 功能需要 Windows 10 专业版 或以上版本,如果你使用的是家庭版,可以通过断网更改产品密钥、再通过KMS服务器激活的方式原地升级到专业版。

点击阅读全文 →

解决视频彩铃、语音通话自动转视频通话导致打电话自动挂断的问题

症状

使用Android手机向某些电话号码拨打电话时,由于运营商自动播放视频彩铃,导致电话自动转成视频通话,但由于某些bug,导致电话自动挂断,因而无法打出电话的问题

即:拨打电话,响铃几秒后,提示正在进行运营商视频通话,然后提示通话结束。对方能够听到短时间的响铃。

点击阅读全文 →

超低成本廉价考研教程:如何用小于¥500甚至¥300的开销考个研

在本科学历日渐贬值时代,读研基本成了一个日常话题,然而考研成本甚高,即使是不参与线下培训班、纯网课也往往需要花费万元以上。正好老早就有线下好友吐槽我博客技术文太多 哪有那么多啊,我真的从来都不写复杂技术的文章的啊,乘着手上的拟录取通知还热乎,今天就来分享分享如何用超低成本考研。

我的考研开销情况:

类目 花费(人民币/元) 备注
书本 249.65 126.41(13本书,pdd)+ 123.24(5本书,正版)
初试报名费 180
耗材(纸、笔等) 25 有优惠券那就买纸罢
网课 0
复试费 0 目标院校不收复试费,另外收费院校的复试通知被我鸽了
总计 454.65 这个开销可以更小,至少可以再少 100

生草的是,学信网上关于考研开销的调查表甚至没有这么低的选项。

点击阅读全文 →

在 VMware Workstation 桥接模式的网卡上让虚拟机使用 VLAN 的正确方法

要解决的问题

有一个虚拟机运行在 VMWare workstation 中,如何让这个虚拟机桥接到宿主机的网络上的某个 VLAN?

常见使用场景

只有一个网口的单臂软路由,同时宿主机为 Windows,虚拟机软件为 VMware Workstation,在虚拟机中运行 OpenWrt

需要在一个网口上,利用 VLAN 实现虚拟 WAN 口上的 PPPoE 拨号和 虚拟 LAN 口上的上网服务。

方法

  1. 根据宿主机网卡的品牌,下载对应的 VLAN 设置软件。已知 Realtek 和 Intel 网卡都提供这样的软件。Realtek 网卡的软件为 Realtek Ethernet Diagnostic Utility
  2. 下文以 Realtek 网卡为例。如果你的网卡厂商不提供 VLAN 设置软件,请直接转到文末
  3. 在宿主机上设置你想要使用的 VLAN 编号,软件将会创建一个虚拟网卡。记住网卡名称和适配器名称

点击阅读全文 →

在 Windows 上设置 NAT 或网络共享的正确方法——避免Wi-Fi热点无法使用

最近在我的笔记本上用 WireGuardServerForWindows 项目搭了一个 WireGuard 服务端,但是发现一个问题,我一给 WireGuard 开网络共享,我就没法开 Wi-Fi 热点了

罪魁祸首:SharedAccess

目前的NAT的普遍做法是用 SharedAccess 服务,也就是你在控制面板看到的那个 “Internet 连接共享”

但是这个服务是针对热点的设计的,只能支持一个 NAT 实例,这意味着,由于SharedAccess服务已经被wireguard服务器的NAT占用掉了,你就没办法建立一个有 Internet 的 Wi-Fi热点

但是,如果,使用New-NetNat命令,就能够设置许多NAT实例,同时可以用热点。

方法

点击阅读全文 →