H2-2光猫配置IPv6防火墙 1. 背景IPv6相比IPv4的一大优势是IP地址空间充足。以笔者的中国移动宽带为例,光猫可以从运营商处获得2409开头的/64公网网段,连接至光猫的设备可自动获得公网IPv6地址: 但处于安全考虑,光猫的IPv6防火墙会默认禁用所有入站连接,导致其它公网设备无法直连光猫防火墙内部的设备: 幸运的是,笔者使用的中国移动H2-2光猫在网上有大量使用教程,可以通过配置IPv6防火墙的方式解决这个问 2022-12-31 #网络 #IPv6
偷天换日:屏蔽光猫的IP地址自动分配 1. 背景 在之前的文章[1]中,笔者苦于安卓对IPv6的支持不佳,所以在手机已root的情况下使用tasker应用+命令行让安卓设备连接指定wifi后禁用IPv6。但这种方案并不完美: 首先需要保证tasker应用始终在后台运行(笔者会定时进入清空后台的深度省电模式) 其次tasker并不能保证每次都禁用IPv6成功(可能和笔者选择只运行一条命令有关) 所以笔者的目光还是转向了更为彻底的解决 2022-12-28 #网络 #IPv6
用Prometheus监控硬盘SMART信息 1. 背景笔者的NAS(或者说ALL IN ONE主机)内有两块3.5寸的机械硬盘。群晖、TrueNAS等系统内置了比较完善的监控,可通过SMART信息(参数、温度、通电时长等)观察硬盘健康状况。可惜笔者使用的是Ubuntu系统,只能定期通过命令行进行检查。为了更方便地掌握硬盘的健康状况,笔者决定搭建一套关于硬盘的监控解决方案。 2. 思路 由于笔者已经搭建了一套Prometheus监控套件,所以 2022-12-23 #监控
安卓对指定WiFi禁用IPv6 1. 背景这是笔者之前的家庭网络架构,所有设备集中在宽带网关的二级 NAT 下,同时有一台旁路由设备用于透明代理: 后来由于某些设备有连接公网 IPv6 地址的需求,所以笔者将二级 NAT 改成了无线 AP ,所有设备直连宽带网关以拿到 IPv6 地址: OP 的安卓设备在之前的网络架构中将旁路由作为网关。但在新的网络架构中,由于安卓设备无法设置静态 IPv6 ,所以 IPv6 流量无法经过旁 2022-12-17 #数码
改善室内空气质量-加湿篇 1. 前言在前一篇文章[1]中,笔者通过新风大幅优化了室内PM2.5和CO2指标。冬季的北京空气十分干燥,室外空气湿度可能低至20%。而低湿度的空气被新风源源不断送入室内,让室内空气湿度始终维持在较低的水平。考虑到舒适的室内湿度为40%~60%[2],同时也为了解决低湿度带来的皮肤容易干燥、起床后口鼻不舒服等问题,笔者决定采取手段提升室内湿度。 2. 方案选择室内加湿器是比较直接的选择。笔者了解后 2022-12-10 #监控 #生活
改善室内空气质量-新风篇 1. 背景在上一篇文章[1]中,笔者搭建了一套空气质量监控方案。但随之而来的是持续的告警以及糟糕的空气。最极端的时候,笔者能从监控上观察到超过100的室内PM2.5浓度。 在下决心改善室内空气质量后,摆在笔者面前的有两个选择:空气净化器和新风。两者都可以降低室内PM2.5,但前者只能被动净化流入室内的室外空气(先污染后治理),而后者能主动净化室外空气并送入屋内,除了能降低室内PM2 2022-12-09 #监控 #生活
监控室内空气质量 1. 背景爱否出品的新风消费报告[1]里提到了一个概念:室内空气的四个终极目标是恒温、恒湿、恒净、恒氧。笔者对此深感认同,可惜笔者生活的北京并没有足够宜人的气候[2]: 空气质量指数[3]也堪忧: 更糟糕的是,为了保证室内空气含氧量,笔者的窗户常年是半开的。这就导致室内空气很容易受室外影响,不仅容易积灰,而且往往要等空气质量显著糟糕时笔者才会想到要关窗。 为了能更好地评估室内空气质量,并指导改 2022-12-05 #监控 #生活
用Afterburner和Grafana监控PC性能 背景监控Linux服务器性能已经有比较成熟的解决方案了:笔者用的是node_exporter+Prometheus+Grafana的经典三件套,整体效果令人满意: 整体架构 Grafana面板 同时笔者在使用PC时偶尔还会使用MSI Afterburner(以下简称Afterburner)来观察PC性能: 但Afterburner的监控功能并不易用(特别是在高分辨率下),如果 2022-08-20 #Golang #监控 #生活
Go语言error四问 什么是errorGo语言没有像Java/Python一样提供try&catch这种错误捕获方式,而是要求编码者显示地处理下游的传递的错误、显示地向上游抛出错误,也难怪总是有人吐槽Go在这方面的啰嗦。 1234567891011var file *os.Filevar err errorfile, err = os.Open("something.txt")if 2021-07-17 #Golang
读《流畅的Python》:一等函数 前言一等对象(first-class objects)是指拥有如下特性的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 Python中的函数拥有这几个特性,所以被称作一等函数(functions as first-class objects,简称first-class functions)。 把函数视作对象12345678910111213& 2020-07-05 #流畅的Python #读书笔记