PowerShell New-NetRoute
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍PowerShell中的New-NetRoute cmdlet。此cmdlet会在IP路由表中创建网络路由。
网络路由基础知识
网络路由定义了网络流量到达目的地所经过的路径。路由由目标网络、网关和接口索引组成。New-NetRoute cmdlet将静态路由添加到路由表中。这些路由将一直存在,直到被手动删除或系统重新启动。
New-NetRoute 基本用法
New-NetRoute 的最简单用法需要目标前缀、下一跳和接口索引。目标前缀指定目标网络。下一跳是路由的网关IP地址。
New-NetRoute -DestinationPrefix "192.168.2.0/24" -NextHop "192.168.1.1" -InterfaceIndex 12
此命令通过接口 12,使用网关 192.168.1.1 为 192.168.2.0/24 网络添加了一条路由。该路由将立即生效。
添加持久性路由
默认情况下,使用New-NetRoute创建的路由不是持久性的。使用"-PolicyStore"参数与"PersistentStore"一起,可以使它们在重启后依然存在。持久性路由存储在注册表中,并在启动时重新应用。
New-NetRoute -DestinationPrefix "10.0.0.0/8" -NextHop "192.168.1.2" `
-InterfaceIndex 12 -PolicyStore PersistentStore
此命令为 10.0.0.0/8 网络创建了一条持久性路由。反引号 (`) 是PowerShell中的行连接字符。路由将在系统重启后仍然保留。
设置路由度量
当存在多个相同目的地的路由时,路由度量决定了优先级。度量值越低,优先级越高。使用-RouteMetric参数指定此值。默认度量值通常已足够。
New-NetRoute -DestinationPrefix "172.16.0.0/16" -NextHop "192.168.1.3" `
-InterfaceIndex 12 -RouteMetric 5
此命令为 172.16.0.0/16 网络添加了一条度量值为 5 的路由。如果存在具有更高度量值的另一条路由,则将优先使用此路由。
创建默认路由
默认路由 (0.0.0.0/0) 用于处理不存在特定路由的流量。这通常用于将流量定向到Internet网关。其原理与常规路由相同。
New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.1.254" `
-InterfaceIndex 12 -PolicyStore PersistentStore
此命令通过网关 192.168.1.254 创建了一条持久性默认路由。除非存在更具体的路由,否则所有非本地流量都将使用此路由。
添加具有特定接口的路由
当存在多个网络接口时,使用-InterfaceIndex指定要使用的接口。使用Get-NetAdapter查找接口索引。索引唯一标识系统上的每个网络接口。
$ifIndex = (Get-NetAdapter -Name "Ethernet").ifIndex
New-NetRoute -DestinationPrefix "192.168.3.0/24" -NextHop "192.168.1.4" `
-InterfaceIndex $ifIndex
此命令首先检索“Ethernet”适配器的接口索引。然后,它使用该接口专门创建一条路由。这确保了路由使用正确的物理或虚拟网络接口。
来源
在本文中,我们介绍了PowerShell中的New-NetRoute cmdlet。
作者
列出 所有 PowerShell 教程。