如何制作添加网络路由的脚本?
Posted
技术标签:
【中文标题】如何制作添加网络路由的脚本?【英文标题】:How to make a script that adds a network route? 【发布时间】:2011-03-18 15:25:16 【问题描述】:场景
所以 Windows 7
我需要通过 cisco *** 连接到远程主机。有时主机目标网络与本地网络相同。 示例(ipconfig 命令的部分输出):
以太网适配器 Cisco *** 适配器: IPv4 地址。 . . . . . . . . . . : 192.168.100.12 子网掩码 。 . . . . . . . . . . : 255.255.255.0 无线 LAN 适配器 无线网络连接: IPv4 地址。 . . . . . . . . . . : 192.168.1.74 子网掩码 。 . . . . . . . . . . : 255.255.255.0我需要通过 *** 连接到远程网络上的主机 192.168.1.11 然后我需要添加新路由(在此配置中,到 192.168.1.xxx 的所有流量都是到本地网络的路由) 路线打印的输出开始于:
接口列表 17...00 05 9a 3c 78 00 ......思科系统 *** 适配器 12...00 16 44 ea 74 58 ......戴尔无线 1395 WLAN 迷你卡
命令是:route add 192.168.1.11 mask 255.255.255.255 192.168.100.12 metric 1 if 17
问题:
Cisco 适配器上的 Ip 不是静态的,我无法使用修饰符 -p(永久)添加路由 当断开连接并重新连接时,我需要查找 NewIp 并添加正确的路由:route add 192.168.1.11 mask 255.255.255.255 «NewIP» metric 1 if 17
对我来说,每次都很容易(但很无聊)编写所有这些命令:
ipconfig 等 路线打印等 路线添加等
我需要一个 bat 或 PowerShell 脚本来添加正确的路线。脚本在 Cisco 适配器上查找 IP 并运行命令 route add 并创建 IP 网关。
谢谢
【问题讨论】:
或许更适合ServerFault。 【参考方案1】:我解决了。 (我是 PowerShell 的新手,但问题很简单)
$adapter=Get-WmiObject Win32_NetworkAdapterConfiguration| Where-Object $_.Description -match "Cisco Systems *** Adapter" $GateWay=$adapter.IP地址[0] $if=$adapter.Index route add 192.168.1.11 mask 255.255.255.255 $Gateway metric 1 if $if【讨论】:
这个答案不正确。另一个Howie 是正确的。 $adapter.Index 值可能与 $adapter.InterfaceIndex 值不同,后者与运行 route print 输出的接口索引值一致,并且是 route add 命令所期望的。这意味着它可以通过简单的网络设置为您工作,但如果您有多个接口,这可能会将路由绑定到错误的接口。【参考方案2】:我尝试了 renegm 的答案,但 Index 属性为我提供了错误的值。这对我有用(这里是 Juniper ***,但同样的问题) - 注意 InterfaceIndex 而不是 Index:
$adapter=Get-WmiObject Win32_NetworkAdapterConfiguration|
Where-Object $_.Description -match "Juniper Network Connect Virtual Adapter"
$Gateway=$adapter.IPaddress[0]
$if=$adapter.InterfaceIndex
route add 192.168.1.3 mask 255.255.255.255 $Gateway metric 1 if $if
【讨论】:
命令应该是: route add 192.168.1.3 mask 255.255.255.255 $Gateway metric 1 IF $if【参考方案3】:这是一个相当古老的讨论,但您可以在连接到 *** 后使用以下 PowerShell 命令创建路由:
Add-***ConnectionRoute -ConnectionName "You *** Name Here" -DestinationPrefix 10.0.0.0/8
它适用于 Windows 10。
【讨论】:
显然,即使您在连接到 *** 之前执行它,它也可以工作。执行一次,永远工作。以上是关于如何制作添加网络路由的脚本?的主要内容,如果未能解决你的问题,请参考以下文章