Explicação detalhada da rota do Linux

O comando route é usado para exibir e manipular a tabela de roteamento IP. Para realizar a comunicação entre duas sub-redes diferentes, é necessário um roteador conectando as duas redes ou um gateway localizado nas duas redes ao mesmo tempo. Em um sistema Linux, o roteamento é geralmente definido para resolver os seguintes problemas: O sistema Linux está em uma rede local e há um gateway na rede local que permite que a máquina acesse a Internet e, em seguida, o endereço IP deste máquina precisa ser definida como o padrão de roteamento da máquina Linux. Deve-se notar que, a execução direta do comando de rota na linha de comando para adicionar uma rota não será salva permanentemente. Quando a placa de rede for reiniciada ou a máquina reiniciar, a rota se tornará inválida; se você quiser salvá-la permanentemente, existem os seguintes métodos:


1. Adicione em /etc/rc.local
2. Adicione ao final em / etc / sysconfig / network 3. / etc / sysconfig /
static-router:
any net xxxx / 24 gw yyyy


Formato:
formato de rota  : / sbin / rota é 
usado para imprimir a tabela de roteamento atual (exibir a tabela de roteamento atual).

Quando usado por usuários não root, você precisa usar o caminho completo para executar o comando de rota.


Parâmetros de comando

[root @ linux ~] # rota [-nee]
[root @ linux ~] # rota add [-net | -host] [ domínio ou host ] máscara de rede [máscara] [gw | dev]
[root @ linux ~] # rota del [-net | -host] [ domínio ou host ] netmask [máscara] [gw | dev]
Parâmetros observados:
   -n   : Não use protocolo ou nome de host, use IP  ou  número de porta diretamente  ;
   -ee  : use Informações mais detalhadas para mostrar os parâmetros relevantes de
adição  (adição)  e exclusão ( exclusão  ) de  roteamento:
   -net     : indica que a seguinte rota é um domínio de rede;
   -host    : indica que a seguinte é uma rota conectada a um único host;
   máscara de rede  : relacionada a o domínio de rede , você pode definir a  máscara de rede  para determinar o tamanho do domínio de
   rede ; gw       : abreviação de gateway  , seguido por  IP O valor de é diferente de  dev  ;
   dev      : Se você deseja apenas especificar a qual placa de rede se conectar, use esta configuração, seguida por  eth0,  etc.


Formato: route -n
format: / sbin / route -n é
usado para imprimir a tabela de roteamento, e o parâmetro -n é para imprimir o endereço IP diretamente sem imprimir o nome do host nas informações de saída.

Formato: rota add default gw {IP-ADDRESS} {INTERFACE-NAME} é
usado para definir a rota padrão, onde o
parâmetro {IP-ADDRESS): é usado para especificar o endereço IP do roteador (gateway); o
parâmetro { INTERFACE-NAME}: é usado para especificar o nome da interface, como eth0. Use / sbin / ifconfig -a para exibir todas as informações da interface.

Exemplo: route add padrão gw mango

format: route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME} é
adicionado às regras de roteamento da rede especificada, onde o
parâmetro {NETWORK-ADDRESS}: é usado para especificar o
parâmetro de endereço de rede {NETMASK}: Usado para especificar a máscara de sub-rede
Parâmetro {INTERFACE-NAME}: Usado para especificar o nome da interface, como eth0.

Exemplo 1: route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
Exemplo 2: route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

Formato: route add -net {NETWORK-ADDRESS} netmask {NETMASK} rejeitar
Defina a rede designada como inacessível, para evitar que o programa espere muito ao se conectar ao endereço desta rede e saiba diretamente que a rede está inacessível.

Exemplo: route add -net 10.0.0.0 netmask 255.0.0.0 rejeitar

formato: route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
formato: route del -net {NETWORK-ADDRESS} netmask {NETMASK} rejeitar é
usado para excluir as configurações de roteamento. A forma de especificação de parâmetro é semelhante à adição de rota.


Saída detalhada

Campo Significado A saída do comando de rota da tabela de roteamento é a seguinte:
    o destino de destino
          A rede de destino ou host de destino rede de destino ou host de destino.

    Gateway
          O endereço do gateway ou '*' se nenhum estiver definido.O endereço do gateway, se não houver definido, serão exibidos asteriscos.

    Genmask
          A máscara de rede para a rede de destino; '255.255.255.255' para um
          destino de host e '0.0.0.0' para a rota padrão.

     Sinalizadores : há vários sinalizadores no total e seus significados são os seguintes:                        

         o U (route is up):该路由是启动的;                       

         o H (target is a host):目标是一部主机 (IP) 而非网域;                       

         o G (use gateway):需要透过外部的主机 (gateway) 来转递封包;                       

         o R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;                       

         o D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由                       

         o M (modified from routing daemon or redirect):路由已经被修改了;                       

         o !  (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)

         o A (installed by addrconf)

 

         o C (cache entry)

    Metric 距离、跳数。暂无用。
          The 'distance' to the target (usually counted in  hops).  It  is
          not  used  by  recent kernels, but may be needed by routing dae-
          mons.

    Ref   不用管,恒为0。
          Number of references to this route. (Not used in the Linux  ker-nel.)

    Use    该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。
          Count  of lookups for the route.  Depending on the use of -F and
          -C this will be either route cache misses (-F) or hits (-C).

    Iface 接口,即eth0,eth0等网络接口名
          Interface to which packets for this route will be sent.



范例一

单纯的观察路由状态


[root@linux ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.10.30   0.0.0.0         UG    0      0        0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         server.cluster     0.0.0.0         UG    0      0        0 eth0

 

此外,观察一下上面的路由排列顺序喔,依序是由小网域(192.168.10.0/24 是 Class C),逐渐到大网域(169.254.0.0/16 Class B) 最后则是预设路由 (0.0.0.0/0.0.0.0)。然后当我们要判断某个网路封包应该如何传送的时候,该封包会经由这个路由的过程来判断喔!举例来说,我上头仅有三个路由,若我有一个传往 192.168.10.20 的封包要传递,那首先会找 192.168.10.0/24 这个网域的路由,找到了!所以直接由 eth0 传送出去;如果是传送到 Yahoo 的主机呢? Yahoo 的主机 IP 是 202.43.195.52,我通过判断 

1)不是 192.168.10.0/24
      2)不是 169.254.0.0/16 结果到达 

3)0/0  时, OK !传出去了,透过  eth0  将封包传给  192.168.10.30 那部  gateway  主机啊!所以说,路由是有顺序的。因此当你重复设定多个同样的路由时,例如在你的主机上的两张网路卡设定为相同网域的  IP  时,会出现什么情况?会出现如下的情况: 
Kernel  IP  routing  table 
Destination          Gateway                  Genmask                  Flags  Metric  Ref        Use  Iface 
192.168.10.0        0.0.0.0                  255.255.255.0      U          0            0                0  eth0 
192.168.10.0        0.0.0.0                  255.255.255.0      U          0            0                0  eth1 
也就是说,由于路由是依照顺序来排列与传送的,所以不论封包是由那个介面  (eth0, eth1)  所接收,都会由上述的  eth0  传送出去,所以,在一部主机上面设定两个相同网域的  IP  本身没有什么意义!有点多此一举就是了。除非是类似虚拟主机  (Xen, VMware  等软体  所架设的多主机时,才会有这个必要~


范例二

[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
上面这个动作可以删除掉 169.254.0.0/16 这个网域!
请注意,在删除的时候,需要将路由表上面出现的资讯都写入
包括  netmask , dev 等等参数喔!注意注意
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
透过 route add 来增加一个路由!请注意,这个路由必须要能够与你互通。


举例来说,如果我下达底下的指令就会显示错误:
 route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254这个网段直接使用 MAC 互通!这样说,可以理解喔!?
[root@linux ~]# route add default gw 192.168.10.30
增加预设路由的方法!请注意,只要有一个预设路由就够了喔!
在这个地方如果您随便设定后,记得使用底下的指令重新设定你的网路
  /etc/init.d/network restart
     如果是要进行路由的删除与增加,那就得要参考上面的例子了,其实,使用 man route 里面的资料就很丰富了!仔细查阅一下囉!你只要记得,当出现『SIOCADDRT: Network is unreachable』这个错误时,肯定是由于 gw 后面接的 IP 无法直接与您的网域沟通 (Gateway 并不在你的网域内)



WINDOWS下的route命令

 

简单的的操作如下,

查看路由状态:routeprint

只查看ipv4(ipv6)路由状态:route print-4(-6)

添加路由:route add 目的网络 mask 子网掩码 网关——重启机器或网卡失效

route add 192.168.20.0 mask 255.255.255.0192.168.10.1

添加永久:route -p add 目的网络 mask子网掩码网关

route -p add 192.168.20.0 mask 255.255.255.0192.168.10.1

删除路由:route delete 目的网络 mask 子网掩码

route delete 192.168.20.0 mask255.255.255.0

Acho que você gosta

Origin blog.csdn.net/gredn/article/details/76615284
Recomendado
Clasificación