Como posso obter a máscara de rede de um endereço IP?

7

Como faço para obter uma máscara de rede do endereço IP? Existe um comando para obtê-lo?

    
por fronthem 18.03.2012 / 18:53

4 respostas

13

Isso não é possível. Se fosse possível, não haveria razão para ter uma máscara de rede, pois ela poderia ser determinada automaticamente.

A máscara de rede é usada para especificar o intervalo de IP em que uma 'rede' inicia e pára em. Esse intervalo é arbitrário.

Por exemplo, com o endereço IP 192.168.0.140 :
Com a máscara de rede de 255.255.255.0 ( /24 na notação cidr), o intervalo de IPs seria 192.168.0.1 - 192.168.0.254 .
Com uma máscara de rede de 255.255.255.128 ( /25 na notação cidr), o intervalo de IPs seria 192.168.0.129 - 192.168.0.254 .

    
por 18.03.2012 / 19:29
3

Você não pode, na maioria dos casos, devido a redes sem classes . Um determinado endereço IPv4 pode ter 30 diferentes máscaras de rede.

    
por 18.03.2012 / 19:31
1

A máscara de rede é usada principalmente para distinguir endereços locais na mesma sub-rede de endereços externos que só podem ser acessados em um gateway.

Então, se você souber todos (= atualmente ou no futuro usados) endereços IP na mesma sub-rede, você pode construir uma máscara de rede que contém todos eles. Por exemplo, se 192.168.2.4 e 192.168.2.253 devem estar na mesma sub-rede, a máscara de rede 255.255.255.0 (igual ao intervalo de ip 192.168.2.0-255 ou na notação cidr 192.168.2.0/24) funciona.

    
por 18.03.2012 / 19:50
1

Embora você não possa determinar a máscara de rede a partir do endereço IP diretamente no centos 7, você pode digitar "ip ad", que retornará o endereço IP com seu número de sub-rede correspondente.

-bash-4.2 $ ip ad 1: lo: mtu 65536 qdisc noqueue estado DESCONHECIDO qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

   valid_lft forever preferred_lft forever

inet6 ::1/128 scope host 

   valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast estado UP qlen 1000

link/ether 00:16:3e:77:ca:e9 brd ff:ff:ff:ff:ff:ff

**inet 10.1.0.11/24** brd 10.1.0.255 scope global eth0

   valid_lft forever preferred_lft forever

inet6 fe80::216:3eff:fe77:cae9/64 scope link 

   valid_lft forever preferred_lft forever

O número da sub-rede também é armazenado no seguinte arquivo

/ etc / sysconfig / scripts de rede / ifcfg-eth0 (onde eth0 depende do tipo de placa de rede)

Procure a configuração PREFIX. O número que ele fornece é a máscara de sub-rede

por exemplo, PREFIXO = 24

Se não houver um número PREFIX no arquivo acima, sua configuração de rede do servidor será padronizada para uma máscara de sub-rede de 8, que novamente será mostrada no comando "ip ad".

Se você deseja alterar o número PREFIX, lembre-se de reiniciar o serviço de rede usando a rede restart do systemctl.

    
por 10.03.2017 / 02:17