route add apenas imprime ajuda em vez de adicionar a rota

0

Quero encaminhar um site para NIC específica . O número de interface da NIC é 38 : Atheros AR7015

>route print
===========================================================================
Interface List
 13...00 e0 53 17 32 68 ......Realtek PCI GBE Family Controller
  3...0a 00 27 00 00 03 ......VirtualBox Host-Only Ethernet Adapter
  2...00 26 37 bd 39 42 ......PdaNet Broadband Adapter
 17...74 d4 35 bd 37 c4 ......Intel(R) Ethernet Connection I217-V
 38...54 e6 fc 95 17 85 ......Atheros AR7015 Wireless Network Adapter
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
  8...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
===========================================================================

Usando este e este perguntas Eu executo o comando, mas ele apenas imprime a página de ajuda:

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>

Eu também tentei especificar todos os argumentos, mas isso me dá um erro. Acho que entrei tudo corretamente

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>

O mesmo erro ocorre se eu definir o IP da NIC como o parâmetro IF . Vi essa abordagem em outras questões em algum lugar.

Eu também tentei especificar o IP bruto em vez do nome do site:

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

Manipulates network routing tables.
...

a mesma saída para IP como IF :

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

e

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>

OK para IF number 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>
    
por Sam 17.09.2017 / 12:28

1 resposta

1

No comando original, há dois erros:

  1. O roteamento acontece na camada 3, o que significa baseado em endereços IP. Portanto, não faz sentido inserir um nome de host, já que isso teria que ser traduzido pelo DNS. Isso leva ao problema de que, às vezes, vários IPs podem ser escolhidos, mas o problema mais grave é que o IP pode mudar, mas a rota original ainda persiste. Ao inserir o IP diretamente, o usuário sabe intuitivamente que não será atualizado automaticamente. Esse comportamento é consistente com os comentários no answer link link .

  2. Embora o Windows possa adivinhar (se o IF estiver definido), as informações sobre o próximo salto são necessárias. Isso também faz sentido, já que as rotas estáticas também devem funcionar quando nenhuma informação dinâmica estiver presente. Portanto, o Windows não usará o próximo salto anunciado pelo DHCP.

Assim, para o seu caso, o comando com menos alterações para que funcione seria

route ADD 87.240.165.80 192.168.83.1 IF 38
    
por 17.09.2017 / 13:44