Resposta lenta do servidor local do Ubuntu após perder a conexão com o gateway

0

Estou executando um servidor web Ubuntu 14.04 LTS (apache 2.4.7) local configurado com um ip estático no arquivo / etc / network / interfaces da seguinte forma:

auto lo
iface lo inet loopback
auto em1
iface em1 inet static
address 192.168.2.230
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
gateway 192.168.2.254

Este servidor está conectado a dois outros PCs locais (os clientes) através de um switch de rede. Esse switch de rede, por sua vez, está conectado ao roteador (192.168.2.254).

Esta configuração funciona perfeitamente bem em condições normais e eu posso conectar ao servidor web dos dois computadores locais sem nenhum problema. Agora, eu estava testando se os dois clientes ainda poderiam acessar o servidor da Web se o roteador ficasse off-line, desconectando o cabo de rede do switch de rede para o roteador (para simular a falha / reinicialização do roteador ou o acesso da Internet ao exterior estar indisponível).

Aqui é onde o problema surge, cada solicitação feita a partir do computador cliente para o servidor da web agora está atrasada em até 10 segundos (até páginas estáticas em HTML).

Se eu remover a entrada do gateway do arquivo / etc / network / interfaces (no servidor) e recarregar a interface de rede sem um gateway, tudo ficará bem novamente. Assim, parece que o servidor está tentando alcançar o gateway por 10 segundos e, em seguida, decide que ele também pode atingir o PC cliente diretamente. Os clientes e o servidor estão na mesma sub-rede e têm a mesma máscara de rede 255.255.255.0, a propósito.

Eu também tentei ignorar o switch conectando diretamente um dos clientes com o servidor, o mesmo problema persiste, ele funciona, mas com um atraso de 10 segundos. O ping do cliente para o servidor e do servidor para o cliente fica sem problemas (menos de 1 ms).

route -n produz o seguinte com o conjunto de gateways:

Destination   Gateway        Genmask       Flags  Metric   Ref    Use  Iface
0.0.0.0       192.168.2.254  0.0.0.0       UG     0        0      0    em1
192.168.2.0   0.0.0.0        255.255.255.0 U      0        0      0    em1

Eu gasto 12 horas tentando configurar rotas estáticas, mexer com o gerenciador de rede e alterar a métrica e o que não, mas sem sucesso. No momento, eu removi completamente o gerenciador de rede para descartar possíveis rotas e configurações conflitantes.

Tudo que eu quero é que os clientes possam acessar o servidor da Web com a mesma velocidade, independentemente do gateway estar lá ou não. Não configurar o gateway em tudo corrige tudo localmente, mas obviamente eu não consigo mais acessar o servidor remotamente.

Espero que meu problema e configuração estejam claros, estou realmente ansioso para consertar isso e espero que seja algo óbvio.

EDITAR: A interface de loopback no servidor parece não ser afetada pelo caminho, o site carrega tão rápido no próprio servidor com um gateway válido como sem um.

    
por Bram 09.07.2016 / 14:40

1 resposta

0

FINALMENTE consegui fazer as coisas funcionarem como deveriam (!). Eu adicionei os dois endereços IP do cliente ao arquivo / etc / hosts (do servidor Ubuntu) da seguinte forma:

192.168.2.228       192.168.2.228
192.168.2.229       192.168.2.229

Isso resolve completamente o atraso de 10 segundos da interface de rede tentando resolver o endereço IP com o roteador e, em vez disso, conecta-se ao cliente diretamente (como deveria).

Embora isso resolva o problema, acho que ainda existe um problema em algum lugar, já que ele deve preferir se conectar diretamente aos computadores locais, em vez de tentar resolver o 'dns' com o roteador, de alguma forma (certo?). Eu não sou de nenhuma maneira um especialista em redes ou Ubuntu (sou mais do tipo desenvolvedor da web), então talvez alguém possa esclarecer qual é o problema real (e talvez fornecer uma solução melhor?).

    
por Bram 09.07.2016 / 16:42