SoftEther 虚拟网卡会出现在操作系统的网络列表里,报告自己未插线,也不承载任何流量。对于一个没有挂上会话的设备来说,这种组合很正常,当错误配置绑定在它上面时看到的也是同一状态。网卡是操作系统拥有的设备,会话才是赋予它生命的东西。请按顺序完成这四项检查,遇到第一个失败就停下来。

把设备与会话分开

创建网卡只是安装了一个网络设备,它不会向任何服务器认证。在从接口状态读出任何结论之前,先确认客户端连接列表里写了什么。一个未连接的配置无需进一步排查就能解释未插线状态。

网卡和物理接口的职责不同。一个承载应用程序看到的解密流量,另一个 把加密后的外层连接送往服务器。把两者混淆,防火墙规则和路由就会被应用到错误的设备上。为物理接口写的规则不会匹配隧道流量,为隧道写的规则也不会影响外层连接。

让一块网卡对应一个配置

每块网卡都应绑定到你想要的那份连接配置,而且这种绑定应当在客户端里看得见,而不是靠记忆。存在多块网卡时,先记下哪份配置拥有哪台设备,再动手。跨配置复用同一块网卡,正是旧地址在重连后仍然存活的原因。

如果客户端提供了受支持的方式重建绑定,就用它,而不要直接编辑操作系统的配置。客户端在连接时会写入网卡设置,所以手工改动往往会在下一次会话中消失或冲突。

连接后读取实际生效的设置

会话建立之后,从系统中读取地址、路由和解析器。客户端的状态面板描述它请求了什么,而内核描述实际发生了什么。

ip -brief address show
ip route get 10.20.30.41
resolvectl status | head -20

地址列表显示网卡究竟有没有拿到任何东西,成功登录后却没有地址的网卡指向配置本身,而不是驱动。路由查询显示哪个接口会承载私有目的地,缺少的路由正是在那里显形。解析器的输出显示 DNS 是否跟随了会话,因为链路可用但 DNS 仍在本地的连接依旧是半坏的。

一块建好却没有可用设置的网卡,可以与客户端别处成功的管理登录并存。两个面板回答的是不同问题,所以一方永远不能当作另一方的证据。两者不一致时,应用程序体验到的就是系统视图。

在桥接或删除之前停手

把虚拟网卡桥接到物理网卡属于设计变更,而不是修复。它会合并两个网络边界,也不是修补缺失路由的办法。如果部署确实需要这种安排,就需要经过授权的设计和测试计划。

当另一项服务正在使用这块网卡时,删除同样具有破坏性。先确认归属,包括机器上任何创建过同名接口的其他客户端或虚拟化产品。移除后又重新出现的设备,说明有东西在重建它。

收尾时要测试的是应用程序,而不是网卡。能通过隧道加载的文件共享或内网页面,才是设备、会话与路由三者一致的证据。

相关文章