Este é o primeiro dia da minha participação no Desafio Gengwen. Para detalhes do evento, acesse: Desafio Gengwen
route
Os comandosWindows
são usados em contexto para exibir ou manipularIP
tabelas de roteamento. A chamada tabela de roteamento pode entender as informações de roteamento uma a uma, ou seja, a tabela de roteamento contém informações de topologia em toda a rede. O principal objetivo da criação da tabela de roteamento é implementar protocolos de roteamento e roteamento estático.
0. Fundo
Se um computador tiver placas de rede duplas, às vezes será necessário especificar o dispositivo de rede especificado a ser usado ao acessar o segmento de rede especificado. Em circunstâncias normais, o Windows pode selecionar automaticamente o dispositivo de rede apropriado para acessar diferentes segmentos de rede. Mas desta vez me deparei com um problema um pouco diferente.
Meu ambiente de rede é o seguinte:
placa de rede com fio
ip 192.168.93.111 netmask 225.255.255.254 gateway 192.168.93.221
placa de rede sem fio
ip 192.168.91.7 netmask 225.255.255.0 gateway 192.168.91.1
Quero acessá-lo através de uma placa de rede com fio 192.168.5.22
, e todo o link de rede está desbloqueado. tracert
Tracei a rota através do comando e descobri que o primeiro gateway impresso é esse 192.168.91.1
. Isso mostra que o endereço de destino é acessado através da placa de rede sem fio. Claro, o endereço de destino não pode ser encontrado no final.
tracert -d 192.168.5.22
Ao verificar os dados, verifica-se route
que a prioridade do roteamento pode ser definida para nos ajudar a resolver o problema.
1. Rota da primeira experiência
1.1 Descrição do comando
Este comando deve ser executado com privilégios de administrador, portanto, execute-o com um administradorcmd
```
formato de comando
ROUTE [-f] [-p] [-4|-6] comando [destino][MASK netmask] [gateway] [METRIC metric] [IF interface] ```
suporte de comando print
, add
, delete
,change
Explicação das opções:
1.2 Exibir informações da tabela de roteamento
route print
Você pode visualizar as informações da tabela de roteamento
route print
A execução deste comando exibirá informações da interface, bem como as tabelas de roteamento IPv4 e IPv6 atuais do sistema
lista de interface
De acordo com as informações impressas, podemos ver que o número da interface do dispositivo com fio é 49
, e o número da interface sem fio é11
tabela de roteamento ipv4
-network target , indicando o host de destino
-接口,表示指定路由的接口地址
-跃点数,表示访问路由到目标网络的成本,即表示优先级,数字越大成本越高,优先级越低。
当然还有ipv6
的路由表,因为还没有用到,就不打印出来了,可以设置可选参数-4
只打印ipv4
的路由表信息。
route print -4
2.route更改优先级
2.1通过添加到目标主机的路由
确定目标主机地址,添加路由
route add 192.168.5.0 mask 255.255.255.254 192.168.93.221 if 49
一般来说添加此条路由规则以后就能按照指定网络设备去访问目标主机,但是如果存在另一条目标主机相同的路由,就可能不会按照你预想的路径去访问。这样跃点数METRIC
能起到作用。
2.2通过设置目标主机的优先级路由
route add 192.168.5.0 mask 255.255.255.254 192.168.93.221 metric 2 if 49
把METRIC
值设置的足够小,就能优先使用此条路由路径。但是也有例外,路由表的路由路径一般会设置目标主机0.0.0.0
的路由规则,有时候会针对所有的网络设备接口进行设置。这个可能会覆盖上面设置的路由规则。建议修改针对0.0.0.0
目标主机的路由规则。
```
修改路由信息
route change 0.0.0.0 mask 255.255.255.254 192.168.93.221 metric 2 if 49 ```
以上的命令都是临时有效的,重启电脑会失效的,要想永久生效,请使用可选参数-p
2.3设置metric的方法
建议参考微软官方文档
An explanation of the Automatic Metric feature for IPv4 routes
2.4其它设置方法
也许命令行对于非计算机专业领域的人群不是很友好,可以参考图形页面设置方法。
How to Change the Priority of Wired/Wireless Network Cards in Windows
3. route扩展
只打印匹配的项
route print 172*
删除指定路由
route delete 172.19.1.28
另外,如果添加无效的MASK
会产生错误。
4.实践操作
如果有外网和内网冲突,参照以下指令解决。以下方案的目标是外网优先,特殊设置内网访问的路由规则。
```
删除全部指向0.0.0.0的路由配置
route delete 0.0.0.0
添加永久的通过外网网卡访问所有目标地址路由规则
route add 0.0.0.0 mask 0.0.0.0 192.168.130.1 -p
添加永久的通过内网网卡访问指定目标地址的路由规则
route add 192.168.3.0 mask 255.255.255.0 192.168.93.225 -p ```