如何在 C# 中从窗口的 IP 路由表中永久删除辅助网络接口的默认路由规则

use*_*840 2 c# windows routing

我有一台多宿主 Windows 机器(Windows Server 2016),我想确保出站流量永远不会通过辅助网络接口(通过 C# 编程)。

我的路由表中有 2 个网络接口的默认条目:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      172.31.32.1    172.31.44.180     15
          0.0.0.0          0.0.0.0      172.31.96.1    172.31.96.230     15
Run Code Online (Sandbox Code Playgroud)

我认为永久删除辅助网络接口的条目对于我的用例就足够了。我只希望此条目之后存在:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      172.31.32.1    172.31.44.180     15
Run Code Online (Sandbox Code Playgroud)

我找到了 C# APIDeleteIpForwardEntry来删除路由,但我不知道如何使此删除永久化,以便重新启动机器不会撤消我的更改。

任何帮助将不胜感激。

Ran*_*vey 7

在命令提示符中

route delete 0.0.0.0 mask 0.0.0.0 172.31.96.1 -p
Run Code Online (Sandbox Code Playgroud)

不过,我不确定-p标志(持久性)是否适用于删除。你必须测试它。