route add 只打印帮助,而不是添加路线

route add 只打印帮助,而不是添加路线

我想将网站路由至特定网卡。 这接口号NIC 是38:Atheros AR7015

>路线打印
===========================================================================
接口列表
 13...00 e0 53 17 32 68 ......Realtek PCI GBE 系列控制器
  3...0a 00 27 00 00 03 ......VirtualBox 仅主机以太网适配器
  2...00 26 37 bd 39 42 ......PdaNet 宽带适配器
 17...74 d4 35 bd 37 c4 ......英特尔(R) 以太网连接 I217-V
 38...54 e6 fc 95 17 85 ......Atheros AR7015 无线网络适配器
  1..............................软件环回接口1
 12...00 00 00 00 00 00 00 e0 Microsoft ISATAP 适配器
 16...00 00 00 00 00 00 00 e0 Microsoft ISATAP 适配器 #2
  8...00 00 00 00 00 00 00 e0 Microsoft ISATAP 适配器 #3
===========================================================================

使用问题我执行了命令,但它只打印帮助页面:

C:\Windows\system32>route ADD website.com IF 38

Manipulates network routing tables.

ROUTE [-f] [-p] [-4|-6] command [destination]
                  [MASK netmask]  [gateway] [METRIC metric]  [IF interface]

  -f           Clears the routing tables of all gateway entries.  If this is
               used in conjunction with one of the commands, the tables are
               cleared prior to running the command.

  -p           When used with the ADD command, makes a route persistent across
               boots of the system. By default, routes are not preserved
               when the system is restarted. Ignored for all other commands,
               which always affect the appropriate persistent routes.

  -4           Force using IPv4.

  -6           Force using IPv6.

  command      One of these:
                 PRINT     Prints  a route
                 ADD       Adds    a route
                 DELETE    Deletes a route
                 CHANGE    Modifies an existing route
  destination  Specifies the host.
  MASK         Specifies that the next parameter is the 'netmask' value.
  netmask      Specifies a subnet mask value for this route entry.
               If not specified, it defaults to 255.255.255.255.
  gateway      Specifies gateway.
  interface    the interface number for the specified route.
  METRIC       specifies the metric, ie. cost for the destination.

All symbolic names used for destination are looked up in the network database
file NETWORKS. The symbolic names for gateway are looked up in the host name
database file HOSTS.

If the command is PRINT or DELETE. Destination or gateway can be a wildcard,
(wildcard is specified as a star '*'), or the gateway argument may be omitted.

If Dest contains a * or ?, it is treated as a shell pattern, and only
matching destination routes are printed. The '*' matches any string,
and '?' matches any one char. Examples: 157.*.1, 157.*, 127.*, *224*.

Pattern match is only allowed in PRINT command.
Diagnostic Notes:
    Invalid MASK generates an error, that is when (DEST & MASK) != DEST.
    Example> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
             The route addition failed: The specified mask parameter is invalid. (Destination & Mask) != Destination.

Examples:

    > route PRINT
    > route PRINT -4
    > route PRINT -6
    > route PRINT 157*          .... Only prints those matching 157*

    > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
             destination^      ^mask      ^gateway     metric^    ^
                                                         Interface^
      If IF is not given, it tries to find the best interface for a given
      gateway.
    > route ADD 3ffe::/32 3ffe::1

    > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

      CHANGE is used to modify gateway and/or metric only.

    > route DELETE 157.0.0.0
    > route DELETE 3ffe::/32

C:\Windows\system32>

我也尝试指定所有参数,但它给出了错误。我认为我输入的一切都正确

C:\Windows\system32>route ADD vk.com MASK 255.255.255.255 192.168.83.1 IF 38
The route addition failed: The parameter is incorrect.


C:\Windows\system32>

如果我将 NIC IP 设置为IF参数,也会出现同样的错误。在其他问题中也看到过这种方法。

我还尝试指定原始 IP 而不是网站名称:

C:\Windows\system32>route add 87.240.165.80 IF 38

Manipulates network routing tables.
...

IP 的输出与以下相同IF

C:\Windows\system32>route add 87.240.165.80 IF 192.168.83.27

C:\Windows\system32>route ADD 87.240.165.80 MASK 255.255.255.255 192.168.83.1 IF 192.168.83.27
The route addition failed: The system cannot find the file specified.


C:\Windows\system32>

好的对于IF数字38

C:\Windows\system32>route ADD 87.240.165.80 MASK 255.255.255.255 192.168.83.1 IF 38
 OK!

C:\Windows\system32>

答案1

原始命令中,有两处错误:

  1. 路由发生在第 3 层,这意味着基于 IP 地址。因此输入主机名是没有意义的,因为这必须由 DNS 进行转换。这导致有时可以选择多个 IP,但更严重的问题是 IP 可能会改变,但原始路由仍然存在。当直接输入 IP 时,用户直观地知道它不会自动更新。此行为与答案中的评论一致https://serverfault.com/a/144584

  2. 尽管 Windows 可以做出有根据的猜测(如果设置了 IF),但需要有关下一跳的信息。这也是有道理的,因为静态路由在没有动态信息的情况下也应该有效。因此,Windows 不会使用 DHCP 宣布的下一跳。

因此,对于您的情况,使其工作的更改最少的命令是

route ADD 87.240.165.80 192.168.83.1 IF 38

相关内容