qual é o significado de 0.0.0.0 como gateway?

58

Alguém pode esclarecer a atribuição de gateway para mim?

Qual é a diferença entre adicionar gateway como 0.0.0.0e atribuir um endereço IP específico como gateway?

user2720323
fonte
Você está falando de 0.0.0.0 como o gateway de destino? Ou 0.0.0.0 como a rede para o gateway padrão? Eu nunca vi 0.0.0.0 como o destino real antes, mas vi como a rede listada na tabela de roteamento.
Kurtm # 8/13
@ Kurtm: Estou perguntando sobre a atribuição 0.0.0.0 como um gateway e atribuir um endereço IP específico como um gateway.
usar o seguinte comando
Sim. Eu entendi isso com a resposta do slm. Meus sistemas não imprimem o 0.0.0.0, eles substituem por algo mais significativo. As respostas abaixo devem explicar isso.
Kurtm

Respostas:

44

0.0.0.0tem o significado específico "não especificado". Isso se traduz aproximadamente como "não há nenhum" no contexto de um gateway. Obviamente, isso pressupõe que a rede esteja conectada localmente, pois não há salto intermediário.

Como destino, 0.0.0.0/0é especial: se não houver bits de rede, também não poderá haver nada no número da rede. Então, é naturalmente não especificado.

No entanto, aderindo à sua pergunta, sim, ela tem um significado especial. Isso significa que a rede está conectada localmente nessa interface e não é necessário mais saltos para acessá-la.

Falcon Momot
fonte
26

Na página da wikipedia, 0.0.0.0

excerto

No Protocolo da Internet versão 4, o endereço 0.0.0.0 é um meta-endereço não roteável usado para designar um destino inválido, desconhecido ou não aplicável. Para atribuir um significado especial a um dado inválido é uma aplicação de sinalização em banda.

Na página da Wikipedia, Rota padrão .

excerto

A rota padrão no Internet Protocol Versão 4 (IPv4) é designada como o endereço zero 0.0.0.0/0 na notação CIDR, 1 geralmente chamada de rota quad-zero. A máscara de sub-rede é fornecida como / 0, que especifica efetivamente todas as redes e é a menor correspondência possível. Uma pesquisa de rota que não corresponde a nenhuma outra rota volta a esta rota. Da mesma forma, no IPv6, a rota padrão é especificada por :: / 0.

No segmento de nível mais alto de uma rede, os administradores geralmente apontam a rota padrão para um determinado host em direção ao roteador que possui uma conexão com um provedor de serviços de rede. Portanto, pacotes com destinos fora da rede local da organização, normalmente destinos na Internet ou em uma rede local, são encaminhados para o roteador com a conexão com esse provedor.

O dispositivo para o qual a rota padrão aponta geralmente é chamado de gateway padrão e muitas vezes realiza outras funções, como filtragem de pacotes, firewall ou operações do servidor proxy.

Exemplo

No seu questionamento, vou assumir que você tem algo parecido com isto:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.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.1.254   0.0.0.0         UG        0 0          0 eth0

Isso significa que, para cada um dos destinos de rede (192.168.1.0 ou 169.254.0.0), o gateway padrão é o destino 0.0.0.0, se um pacote NÃO for destinado a qualquer endereço nessa rede específica. Para o destino 0.0.0.0, use o endereço IP 192.168.1.254.

Essas regras atuam para canalizar todo o tráfego que não corresponde a nenhuma das rotas que conhecemos, para a rota padrão.

Amostras de casal

Digamos que tenhamos um pacote com IP 192.168.1.110. A primeira regra é verificada e esse IP corresponde a essa rede, para que seja entregue.

Se tivéssemos o pacote 150.12.13.1, a terceira regra entraria em vigor e o pacote seria roteado para 192.168.1.254.

slm
fonte
Portanto, neste exemplo, todo o tráfego iria para 192.168.1.254
Timothy Pulliam
4

Veja, 0.0.0.0 é usado apenas em tabelas de roteamento - NÃO para atribuir a um host.

Os hosts (computadores com um endereço IP) mantêm uma tabela de roteamento para resolver como enviar suas mensagens para o local correto.

Cenário 1: O PC-A deseja enviar uma mensagem para o PC-B na mesma rede:

1) O PC-A verifica sua tabela de roteamento para ver se há uma correspondência para o endereço IP de destino. 2) A tabela de roteamento mostra que o destino está na mesma rede, localiza a interface que está conectada a essa rede e encaminha a mensagem dessa interface diretamente para o destino.

Cenário 2: O PC-A deseja enviar uma mensagem para o Servidor-Z em uma REMOTE NETORK (NÃO na mesma rede):

1) O PC-A verifica sua tabela de roteamento e não consegue encontrar uma correspondência (é claro, porque os hosts não acompanham os hosts nas redes remotas - esse é o trabalho dos roteadores).

2) No entanto, o PC está configurado com um endereço IP quad-zero e uma máscara de sub-rede mapeados para o seu roteador (gateway padrão para OUTRAS, REMOTO, DIFERENTES redes) como este:

(Interface 0.0.0.0 0.0.0.0 192.168.0.1)

O que significa zero? Isso não significa nenhum. Portanto, se o seu computador não acompanhar onde estão os hosts remotos e verificar sua tabela de roteamento toda vez que quiser enviar uma mensagem para ver se precisa enviá-lo para a mesma rede (local) ou se precisa para enviá-lo para uma rede remota, como ele envia a mensagem para a rede remota?

Ele o envia ao roteador e permite que ele faça o trabalho de rotear o pacote pelo melhor caminho. Portanto, o host / PC / computador precisa saber que, se não conseguir encontrar uma entrada em sua tabela de roteamento para onde enviar a mensagem (também conhecida como 0.0.0.0), saberá enviá-la ao roteador, que é o IP endereço associado à entrada (interface 0.0.0.0 0.0.0.0 192.168.0.1) e usa a interface / placa de rede / adaptador de rede associada a isso.

Portanto, 0.0.0.0 é usado pelas tabelas de roteamento em hosts e roteadores para saber para onde enviar algo quando encontrar zero correspondências para chegar a um destino e deve ser mapeado para o endereço IP de um roteador e uma interface para alcançá-lo.

McGavel
fonte