Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2022.11


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

当Linux设备连接多个网络接口时,默认路由的选择可能会导致意外的结果。这篇文章通过一个实际案例,探讨了在同一台Linux设备上同时连接两个不同子网(一个具备互联网访问能力的公网和一个纯内网)时遇到的网络连通性问题。作者详细描述了故障现象:尽管设备显示有多个网络接口在线,但尝试访问互联网却收到“目标主机不可达”的错误提示。 通过深入分析路由表,文章揭示了问题的本质原因——系统默认选择了优先级更高的内网路由作为默认出口,而忽略了具备实际互联网连接能力的外网接口。为了解决这一问题,作者介绍了如何通过调整默认路由的度量值(metric)来重新定义网络流量的路径选择策略。 文章分享了具体的操作步骤:包括查看当前路由表、删除现有默认路由以及添加新的默认路由。同时,还提供了验证配置效果的方法,例如使用`ip route get`命令查询特定目标地址的路由信息或通过`ping`测试互联网连通性。 最后,作者总结出一个关键原则:当系统中存在多个默认路由时,可以通过调整路由的度量值来控制流量优先选择哪个网络接口。这种机制为管理员在复杂网络环境中灵活配置多网卡设备提供了实用指导。 这篇文章不仅解决了实际问题,还引发了一个值得深入思考的问题:**除了调整度量值之外,还有哪些方法可以优化多网卡环境下的路由策略?如何更精细地控制不同类型的流量通过特定的网络接口?这些问题都值得读者在阅读后进一步探索和实践。--DeepSeek

IP Linux Network Routing Interface Linux Networking

Read from joystick output based on C#

最近购买了一款Thrustmaster TCA Airbus Throttle手柄,并打算利用C#编程语言通过SharpDX.DirectInput库实现对其输入信号的读取,进而用于控制数据中心服务器的风扇转速。文章介绍了如何安装必要的NuGet包`SharpDX.DirectInput`,并展示了使用C#代码从游戏控制器或操纵杆设备中获取输入数据的具体实现方法。通过这段代码,可以实时监控手柄的各个操作事件,并将其转化为可编程信号,从而为自动化控制提供硬件支持。这种基于硬件的手动控制方式不仅能够提升数据中心散热管理的灵活性,还可能为其他类型的工业控制系统带来启发。你是否也在寻找一种高效的方式来将物理设备与软件系统集成?不妨尝试这种方法,探索更多可能性!--DeepSeek

C# Game SharpDX DirectInput Joystick Thrustmaster TCA

区分你在日常生活中的常用软件类型

这篇文章探讨了我们日常使用的三种常见软件类型——互联网软件、企业软件和开源软件,并深入分析了它们各自的优缺点以及背后的设计理念。互联网软件由大型公司开发,以盈利为目的,追求极致的用户体验和性能,但也伴随着广告泛滥、隐私问题和高昂的实际成本。企业软件则注重功能丰富性和协作能力,但设计低劣和维护困难常常令人头疼。开源软件虽然缺乏产品设计和易用性,但却以其高度的可扩展性和社区支持成为解决特定问题的理想选择。文章通过对比这三类软件的特点,揭示了它们在功能、性能、隐私、广告等方面的本质区别,并呼吁读者根据自己的需求选择合适的工具。那么,在面对复杂的数字化生活时,你是否清楚哪种类型的软件最适合自己呢?不妨仔细思考一下!--DeepSeek

User Experience Internet Software Enterprise Software Open Source Software Software Comparison Development Patterns