Mensagem de espera: "Waiting for network configuration"

Iniciado por Felix, 13 de Setembro de 2013, 16:07

tópico anterior - próximo tópico

Felix

Olá a todos.

Confesso que não sou novato em Linux e muito menos no Ubuntu, como devem já ter percebido, fiquei alguns anos afastado do Ubuntu e usando apenas outras distribuições, porém agora voltei, usando o 13.04 e algo de estranho me ocorre:

Minha estação de trabalho possui duas placas de rede, resolvi então que uma delas receberia o link de internet e a outra distribuiria tal link em uma outra rede para fins de testes de laboratório. Tentei de toda forma fazer isso pelo modo gráfico mas não teve jeito, o bom e velho terminal foi o unico que me salvou.

Minha configuração de rede está da seguinte forma:

felix@valhalla:~$ cat /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.76
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 10.0.0.1

auto eth1
iface eth1 inet static
address 10.0.0.103
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
dns-nameservers 8.8.8.8 208.67.222.222 8.8.4.4
pre-up iptables-restore < /etc/iptables.up.rules


Explicando: A internet chega no meu computador pela eth1 e eu 'distribuo' ela para outros equipamentos pela eth0, a ultima linha do arquivo é para que minhas regras de iptables sejam restauradas quando reinicio a máquina, o conteúdo do arquivo /etc/iptables.up.rules segue também abaixo:


# Generated by iptables-save v1.4.12 on Wed Sep  4 09:54:48 2013
*nat
:PREROUTING ACCEPT [142:8437]
:INPUT ACCEPT [17:1985]
:OUTPUT ACCEPT [140:13991]
:POSTROUTING ACCEPT [5:660]
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Wed Sep  4 09:54:48 2013
# Generated by iptables-save v1.4.12 on Wed Sep  4 09:54:48 2013
*filter
:INPUT ACCEPT [253257:187339128]
:FORWARD ACCEPT [13773:1934415]
:OUTPUT ACCEPT [224843:38480459]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A fail2ban-ssh -j RETURN
COMMIT
# Completed on Wed Sep  4 09:54:48 2013


Isso tudo só para não ter que toda vez que reiniciar a máquina para ter que digitar no terminal:
sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Ok, cenário apresentado e funcionando relato agora o que me incomoda:

Toda vez que é necessário reiniciar a máquina (por sorte quase sempre mantenho-a ligada), no momento em que deveria ser apresentada a tela de login tenho que aguardar um bom tempo pelas seguintes mensagens:

Citar
"Waiting for network configuration"

Citar
"Waiting up to 60 more seconds for network configuration"

Citar
"Boot system without fully network configuration"

Pensei até que fosse por conta do gerenciador de rede do Gnome, mas desativei ele da inicialização e o problema persiste.

Alguém tem alguma ideia de que ajuste eu precise fazer ainda para não ter mais estas mensagens e ficar aguardando todo esse tempo para o boot?

Desde já grato por qualquer ajuda.
Felix

Arthur Bernardes

#1
Quer saber um modo mais fácil?

Esse seu Firewall tá muito esquisito, mas descarto o erro ser nele.

Ao invés de determinar a placa de rede que recebe a internet no arquivo interfaces, porque não configura ela pelo Network Manager? É muito mais fácil e pra mim diminui a margem de erro.

Deixe assim:

Código (/etc/network/interfaces) Selecionar
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255


Não se esqueça que a eth0 vai distribuir sua internet, então, certifique-se que ela será o Gateway e não terá um Gateway, então você não pode definir um Gateway para ela.

Pra mim seu firewall tá muito esquisito. :(

Mas, prefira usar variáveis que organiza melhor seu firewall, vou dar um exemplo simples.

Código (/etc/init.d/firewall) Selecionar
#!/bin/bash

#### Declarando variáveis ####

# Interface da Internet:
ifinternet="eth1"

# Interface da Rede Local
iflocal="eth0"

#### Função "start" ####

iniciar(){

## Limpa todas as regras ##

iptables -F
iptables -t nat -F
iptables -t mangle -F

## Carrega módulos ##

modprobe ip_tables
modprobe iptable_mangle
modprobe iptable_nat

## Habilita roteamento no kernel ##

echo 1 > /proc/sys/net/ipv4/ip_forward

## Compartilha a internet ##

iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

#### Regras de Firewall ####

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p udp --dport 3128 -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -i $iflocal -j ACCEPT
iptables -A FORWARD -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p udp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -p udp --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp --syn -s $iflocal -j ACCEPT

#### Libera tráfego estabelecido ####

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

}

parar(){
iptables -F
iptables -F -t nat
}

status (){
iptables -L -v -n
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
"status")status;;
*) echo "Use os parâmetros start, stop ou status"
esac


Dê permissão de execução, e inicie o serviço de firewall com o comando sudo service firewall start, para colocá-lo para iniciar durante o boot, pode usar o update-rc.d ou pode colocar no /etc/rc.local, service firewall start, eu prefiro a primeira opção.

Acho que agora dará certo, lembre de configurar a interface da internet pelo Network Manager com o IP Fixo que tem que usar.

Felix

Arthur, valeu pela resposta, porém como eu já havia dito tentei fazer de toda forma possível pela interface gráfica (usando o Network Manager) e não houve maneira de funcionar.

Meu firewall não está esquisito, ele só não está do modo default que da instalação por conta do fail2ban que instalei e por conta desta regra que adicionei, veja você mesmo o seu arquivo /etc/iptables.up.rules para ver o seu formato, tanto que por isso expliquei que a regra que adiciono é: sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE, que no arquivo em questão aparece na linha -A POSTROUTING -o eth1 -j MASQUERADE.

Enfim, todo o detalhamento que fiz da rede foi para explicar as alterações que fiz no sistema e o porquê de tê-lo feito, o problema em si são as mensagens que eu julgava serem do Network Manager, porém mesmo com ele desativado da inicialização ainda as tenho.

Desculpe caso eu não tenha sido claro na abertura do tópico.

Arthur Bernardes

Eu acho que foi você quem não entendeu, eu não disse pra compartilhar usando o Network Manager, e sim configurar a interface da internet por ele, assim como se normalmente.

Contanto que funcione, use o script que desejar.

Execute ifconfig -a e cole aqui por favor.

Tota

Citação de: Arthur Bernardes online 13 de Setembro de 2013, 18:04
Execute ifconfig -a e cole aqui por favor.

Desculpe a intromissão, mas o Felix é o cara!

É um dos administradores mais antigos deste fórum e eu acho que ifconfig -a é apenas um aperitivo para ele.

O problema aqui não é de conexão à rede (ifconfig só mostraria isto e depois do sistema ter sido iniciado), como isto ocorre na inicalização deve ser algo no uheadahead que tenta "levantar" a rede dele antes dos scripts de configuração serem executados.

Felix, seria legal tentar um wait=60 para sua placa de rede ou algo assim.

Desta forrma sua rede demoraria mais para "levantar", dando tempo aos scripts

Dá uma ligada pro Fabricio ou pro Titio Barrigudo, eles sabem muito mais do que eu sobre redes.

Bom te ver de volta.

[]'s

zekkerj

Felix, haveria alguma chance de sua máquina ter uma ter uma terceira placa de rede?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Felix

#6
Citação de: zekkerj online 15 de Setembro de 2013, 11:27
Felix, haveria alguma chance de sua máquina ter uma ter uma terceira placa de rede?

Não zekkerj, não há uma terceira interface de rede, no máximo de vez em quando eu levanto uma interface virtual para simular alguns cenários, mas quando preciso fazer isso crio essa interface na mão mesmo após o sistema estar inicializado e a mesma não é persistente ao reiniciar a máquina.

Citação de: Arthur Bernardes online 13 de Setembro de 2013, 18:04
Eu acho que foi você quem não entendeu, eu não disse pra compartilhar usando o Network Manager, e sim configurar a interface da internet por ele, assim como se normalmente.

Contanto que funcione, use o script que desejar.

Execute ifconfig -a e cole aqui por favor.

Sobre colar aqui o resultado do ifconfig -a realmente não vejo a necessidade, já que coloquei todo meu arquivo de configuração de rede na abertura do tópico...

zekkerj

Então, a mensagem que vc reclama parece estar relacionada com alguma coisa esquecida ou perdida em sua máquina. Vc alguma vez fez a configuração das interfaces pelo Network Manager?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

NOOB Saibot

Se a rede está funcionando, então tu pode desabilitar a mensagem comentando os parâmetros no arquivo /etc/init/failsafe.conf

Tua ultima linha lá no arquivo interfaces, isso é pra carregar o iptables durante o boot?
pre-up iptables-restore < /etc/iptables.up.rules
Já experimentou colocar esse parâmento no rc.local ?

Ou então sudo iptables-save | sudo tee /etc/iptables.sav  (salva regras ativas)
e colocar iptables-restore < /etc/iptables.sav no rc.local

Somente algumas possibilidades, espero que ajude

Felix

Citação de: NOOB Saibot online 16 de Setembro de 2013, 10:47
Se a rede está funcionando, então tu pode desabilitar a mensagem comentando os parâmetros no arquivo /etc/init/failsafe.conf
(...)

Não sei se é a melhor solução, mas digamos que a sugestão acima 'resolveu' meu problema. Agradeço a todos pela ajuda, vou dar o tópico como resolvido, porém se encontrar algo a mais volto a atualizar.