Anduin Xue
Anduin Xue

Anduin's Tech Blog

Linux


Interface selection when Linux has multiple network interface at the same time

本文探讨了Linux系统在同时连接多个网络接口时的路由优先级问题。当设备同时接入具备互联网访问权限的绿网和纯内网的蓝网时,系统默认路由策略可能导致互联网访问失败。通过`ip route list`命令发现蓝网默认路由因metric值较低而优先于绿网,这一机制使得原本应使用的绿网接口被错误屏蔽。文章展示了如何通过删除原有默认路由并重新添加带有更小metric值的路由条目,从而调整接口优先级的完整操作流程。在具体实践中需要特别注意删除默认路由可能导致的暂时断网风险,并提供了`ip route get`和ping测试等验证方法。这一案例揭示了现代网络环境中路由决策的复杂性——当系统面临多个有效网络路径时,如何通过metric参数实现智能路径选择?在更复杂的多网关场景中,是否需要更精细的路由策略来满足不同业务需求?这些值得深入思考的问题为读者打开了探索Linux网络架构的窗口。--Qwen3

IP Linux Network Routing Interface Linux Networking

MySQL allow remote connection (For root and other users)

本文围绕MySQL数据库实现远程访问的核心配置展开剖析从防火墙策略调整到用户权限管理的完整流程为读者揭示了如何在保障安全前提下打通数据库的远程连接通道。文章首先指出检查mysql.user与mysql.db数据表是理解当前访问权限的关键起点随后通过开放3306端口与修改bind-address配置的组合操作为远程访问扫清网络障碍。针对root账户的远程授权设计了双步骤方案——通过GRANT语句与直接修改host字段的互补机制既保证了权限的即时生效又确保了配置的可靠性。对于普通用户的远程访问需求则提供了创建新用户与修改现有用户的差异化解决方案其中包含数据库与用户权限的精确绑定策略。值得注意的是文中多次强调的host字段设置为'%'的深层含义——这既是权限开放的开关也是潜在安全风险的源头。当远程访问的便利性与本地访问的封闭性产生碰撞时我们该如何在安全策略中寻找平衡点?当配置完成后如何验证远程连接的有效性?面对多用户场景时权限隔离的最佳实践又是什么?这些看似简单的配置背后实际上蕴含着对数据库安全架构的深层思考。当您完成这些配置操作时是否已经准备好在开放访问的同时守护数据库的安全?--Qwen3

bash Database Linux Ubuntu Remote Management MySQL

Ubuntu resize an ext4 partition without LVM

在Ubuntu系统中扩展已挂载的ext4文件系统需通过调整分区大小并更新文件系统。首先确认磁盘分区表类型(MBR或GPT),使用fdisk(MBR)或gdisk/parted(GPT)调整目标分区大小,删除原有分区后重新创建并覆盖完整空间,保留原有文件系统签名。执行resize2fs命令自动扩展文件系统至新分区大小,无需卸载可在线操作。验证df -Th输出确认容量变化,注意操作前需备份数据,且仅适用于未加密的文件系统。--Qwen3

Linux Ubuntu Disk ext4 fdisk Partition

Aiursoft Nextcloud 事故调查、分析与总结

在2022年10月4日的两小时服务中断事件中,Aiursoft Nextcloud遭遇了从内核到业务层的连锁崩溃。当服务器因系统盘被填满而彻底死机时,技术团队不得不通过VNC强制重启虚拟机,却在恢复过程中发现了更深层的逻辑陷阱——原本应写入NFS备份盘的数据,因存储分离迁移期间的短暂断连,意外将系统盘推至临界点。这场灾难的根源并非硬件故障或软件缺陷,而是备份流程在挂载状态失效时的沉默执行:当/mnt/backup从网络磁盘退化为本地目录时,300GB的rsync复制瞬间吞噬了64GB的系统盘。这个案例揭示了三个值得深思的悖论:看似安全的备份机制为何成为系统脆弱性的放大器?当基础架构变更时,我们是否真正理解了所有依赖路径的失效模式?更重要的是,如何让监控系统在灾难发生前就嗅到风险的气味?事件最终催生出两个关键改进:通过df -Th验证挂载状态的备份脚本,以及在磁盘使用率低于10%时触发警报的监控机制。但更值得警惕的是,这场事故暴露了现代云服务架构中普遍存在的"沉默失效"——那些在监控盲区里悄然腐化的连接、挂载和配置,它们究竟还隐藏着多少未被发现的定时炸弹?--Qwen3

bash Linux Backup Nextcloud Disk Incident

Install your own NFS ESXI storage server

文章详细介绍了基于Debian系统搭建NFS存储服务器并连接ESXI主机的全流程。包括:安装Debian系统后配置RAID 10+ZFS存储池,调整内核参数优化性能;通过IPMI管理硬件,使用ip link命令设置网络桥接和Jumbo Frames(MTU 9000)提升网络传输效率;部署ISC DHCP服务器为ESXI主机分配存储网络IP,配置桥接接口和DHCP范围;安装Cockpit监控工具及Navigator插件实现服务器状态可视化;在VMware vSphere中创建存储虚拟交换机,配置VMkernel网络并挂载NFS存储;最后通过CrystalDiskMark测试验证10Gbps网络可达1200MB/s的传输速度。整个方案通过物理隔离存储网络、优化协议栈和硬件参数,实现了高性能的虚拟化存储架构。--Qwen3

Linux Storage NFS VMware ESXI Vsphere Dell IPMI Debian Server

If a Ubuntu server should run apt upgrade automatically?

在管理大量Ubuntu服务器时是否应该启用apt upgrade自动更新?这既是一场效率与风险的博弈也是对运维哲学的深刻思考。当服务器数量庞大时手动执行update和upgrade再重启的重复操作确实会消耗大量时间而自动更新看似能完美解决这个问题尤其在安全补丁及时性和系统稳定性方面展现出明显优势。但这种看似完美的方案却暗藏玄机:当服务器需要排查历史问题时自动更新可能抹去关键调试线索;对航空控制系统这类零容忍变更的场景自动更新简直是灾难性的;更不用说功能更新可能引入新bug导致业务中断而强制重启对游戏服务器等系统可能直接中断正在进行的赛事。尽管作者给出了每周日凌晨执行脚本的配置方案却在最后提出了令人警醒的条件清单——只有当系统不重要能容忍可用性下降且具备完美快照和互联网连通性时才适合启用自动更新。这引发我们思考:在自动化浪潮中我们是否正在失去对系统演进过程的掌控?当安全更新与业务连续性产生矛盾时该如何在风险与收益间找到平衡点?或许真正的智慧不在于选择自动或手动而在于建立对系统生命周期的深度认知。--Qwen3

bash Linux Ubuntu Upgrade Crontab Update

Install Cockpit on Ubuntu 22.04

本文通过分步指南解析了在Ubuntu 22.04系统上部署Cockpit的完整流程并揭示了其背后的技术逻辑。安装过程从基础命令切入却巧妙融入了权限管理的底层思考——为何要避免root用户直接操作?当网络异常导致PackageKit缓存刷新失败时解决方案通过Netplan配置迁移与NetworkManager渲染器调整既解决了表层问题更暗示了系统服务间依赖关系的复杂性。插件安装环节通过自动化脚本实现版本追踪与动态下载展现了现代DevOps中CI/CD的实践思维而Caddy反向代理的配置则抛出了安全与便捷的永恒命题:如何在TLS证书验证与服务可达性之间取得平衡?当浏览器地址栏中的9090端口打破传统Web服务的80/443端口惯例时是否预示着更多非标准服务的崛起?最后通过反向代理实现HTTPS的方案既解决了证书信任链问题又引发了对自动化证书管理(如Let's Encrypt)与手动配置安全性的对比思考——当技术方案面临选择时我们究竟应该追求极致安全还是适度妥协?--Qwen3

bash Linux Ubuntu Remote Management Cockpit NetworkManager

CaddyV2 tips and examples (How to correctly get user's IP address after a reverse proxy)

Caddy V2作为现代反向代理工具展现了极强的可定制性与场景适配能力文章通过编译带有Proxy Protocol插件的自定义Caddy版本揭示了如何在FRP等隧道代理后精准获取用户真实IP地址这一核心难题同时展示了从静态文件托管到动态负载均衡的12种典型配置方案包括如何通过header操作实现安全加固如何结合IP白名单与路径匹配进行精细化访问控制以及如何利用基础认证与健康检查构建多层防护体系值得注意的是当反向代理链涉及多层嵌套时配置的允许规则与超时参数往往成为系统稳定性的关键变量文章尤其值得关注的创新点在于将Caddy的模块化特性与实际网络拓扑深度结合例如通过cookie-based负载均衡策略实现会话保持或在HTTPS跳转时自动移除潜在风险头字段这种将协议细节与安全策略有机融合的实践思路值得深入思考当面对混合云环境或混合网络架构时如何设计既能满足性能要求又能保证可观测性的反向代理方案或许正是本文抛砖引玉的价值所在--Qwen3

Reverse Proxy Linux Ubuntu Proxy FRP Caddy CaddyV2 IP Address Proxy Protocol

Build a new NFS server with WinServer or Ubuntu and mount it

本文详细介绍了如何在Windows Server和Ubuntu系统上搭建NFS服务器并实现跨平台挂载的过程。通过分步解析的方式,文章展示了Windows Server中通过图形界面安装NFS角色并配置共享目录的便捷操作,同时对比了Ubuntu系统中使用命令行安装服务、设置共享路径及权限的标准化流程。在挂载环节则分别演示了Windows客户端通过PowerShell和CMD实现匿名挂载的技术要点,Ubuntu系统使用mount命令与fstab配置的差异性方案,以及VMware ESXI环境通过VCenter添加网络存储的可视化操作路径。文章通过技术细节的对比揭示了不同操作系统在NFS协议实现层面的兼容性特征,并通过实际配置过程中的端口开放、权限继承等关键环节,引发了关于跨平台资源共享安全性与性能优化的深层思考。当NFS服务器在异构系统间架起数据通道时,如何平衡便捷性与安全防护?在容器化和云原生趋势下,传统NFS存储方案如何适应动态扩展需求?这些问题或许正是理解现代存储架构演进的关键切入点。--Qwen3

Linux Ubuntu File Windows Server Share NFS VMware ESXI Vsphere NAS

Mount Windows SMB folder to Ubuntu

本文通过简洁的步骤解析了如何在Ubuntu系统中挂载Windows SMB共享文件夹,并延伸探讨了跨平台协作的技术可能性。文章从安装cifs-utils工具包切入,演示了通过命令行创建挂载点、输入认证参数实现远程目录本地化的完整流程,特别展示了交互式密码输入和挂载后文件访问的实操场景,同时提供了开机自动挂载的配置方案。这种将网络存储无缝集成到本地文件系统的技术,不仅打破了操作系统的边界,更引发了关于数据访问权限管理、跨平台协作效率以及自动化运维方案的深层思考——当远程文件如同本地磁盘般可读写时,我们是否重新定义了“文件”的存在形式?在享受技术便利的同时,如何平衡自动化配置与安全性需求?当SMB协议成为连接异构系统的桥梁,我们是否能想象出更多跨平台协作的创新应用场景?--Qwen3

bash Linux Ubuntu Windows Server SMB Share

Run WeChat in Ubuntu

本文介绍了在Ubuntu系统中通过Wine运行微信的完整流程并探讨了不同方案的取舍。文章首先演示了如何通过调整Wine配置优化高分辨率显示效果并解决字体渲染问题随后通过环境变量设置实现中文语言支持但指出微信在Linux环境下仍存在浏览器调用异常和小程序崩溃等兼容性问题。同时文章对比分析了Kylin和Deepin两款原生Linux微信方案发现虽然它们避免了Wine的复杂性但牺牲了后台运行自动登录历史记录同步等核心功能引发读者思考:当选择技术方案时到底是优先考虑功能完整性还是系统原生性?此外文章暗示了Linux环境下Windows应用适配的深层矛盾——我们是否应该继续追求跨平台兼容还是应该推动更多原生应用开发?最后抛出一个值得深思的问题:在追求完美体验的过程中我们究竟应该在多大程度上妥协于现有生态的限制?--Qwen3

bash Linux Ubuntu China WeChat Wine

Install Nextcloud on a Ubuntu 20.04\22.04 server

文章详细介绍了Nextcloud服务器的部署与优化流程涵盖从基础安装到高级配置的17个步骤。核心内容包括:安装LAMP环境后通过APT部署Nextcloud,配置外部存储通过挂载大容量硬盘修改数据目录,设置邮件服务与默认区域,优化预览功能;引入Redis缓存通过修改配置文件与权限组提升性能,编写自动化备份脚本结合rsync和mysqldump实现数据与数据库的定期备份;部署反向代理时配置信任代理IP并使用Caddy进行反向代理;针对GPU加速场景提供CUDA与cuDNN的安装指引。全文重点强调配置文件的修改细节包括config.php中数据目录、缓存机制、信任域等参数调整,以及权限管理、服务重启等关键操作,最终通过分层架构实现可扩展的云存储解决方案。--Qwen3

Web Linux Ubuntu IT Apache2 PHP MySQL Certbot Nextcloud Storage