Verifique no seu sistema, mas na maioria dos ifup
é um script de shell, para que você possa ver o que faz pegando um pico na origem. Você pode ver onde o script reside com este comando:
$ type -a ifup
ifup is /sbin/ifup
Distros de Feodra / Red Hat
No meu sistema (Fedora 14) /sbin/ifup
inclui esta biblioteca de funções de script de shell, /etc/sysconfig/network-scripts/network-functions
. Se você grep
através deste arquivo para "máscara":
$ grep -i mask /etc/sysconfig/network-scripts/network-functions
if [ -z "${NETMASK}" ]; then
eval $(/bin/ipcalc --netmask ${IPADDR})
eval $(/bin/ipcalc --prefix ${IPADDR} ${NETMASK})
eval $(/bin/ipcalc --broadcast ${IPADDR} ${NETMASK})
eval $(/bin/ipcalc --network ${IPADDR} ${NETMASK})
A ferramenta ipcalc
é um executável usado para fazer "cálculos" referentes a configurações de rede.
Você também pode executá-lo a partir da linha de comando:
$ /bin/ipcalc --netmask 192.168.1.1
NETMASK=255.255.255.0
$ /bin/ipcalc --prefix 192.168.1.1 255.255.255.0
PREFIX=24
Debian / Ubuntu
A ferramenta ipcalc
é um pouco diferente no Debian / Ubuntu, mas tem uma função semelhante.
$ ipcalc 192.168.1.1
Address: 192.168.1.1 11000000.10101000.00000001. 00000001
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.1.0/24 11000000.10101000.00000001. 00000000
HostMin: 192.168.1.1 11000000.10101000.00000001. 00000001
HostMax: 192.168.1.254 11000000.10101000.00000001. 11111110
Broadcast: 192.168.1.255 11000000.10101000.00000001. 11111111
Hosts/Net: 254 Class C, Private Internet
Você configurações
Fedora:
$ /bin/ipcalc --netmask 192.168.0.130
NETMASK=255.255.255.0
$ /bin/ipcalc --prefix 192.168.0.130 250.255.255.0
PREFIX=24
Ubuntu:
$ ipcalc 192.168.0.130
Address: 192.168.0.130 11000000.10101000.00000000. 10000010
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000
HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001
HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111
Hosts/Net: 254 Class C, Private Internet
Então, o mais provável é que suas configurações estejam configurando com o valor errado em um ponto. Para depurar isso mais, preciso ver a saída de ip
.
Exemplo
$ ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:19:d1:e8:4c:95 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.3/24 brd 192.168.1.255 scope global eth0
inet6 fe80::219:d1ff:fee8:4c95/64 scope link
valid_lft forever preferred_lft forever