Bizarramente incapaz de se conectar a um domínio de dentro do servidor

0

Não consigo me conectar a github.com IF e somente se eu tentar fazer isso de dentro do meu servidor de LAN (vamos chamar seu FQDN server.com ). Se eu ssh server.com e, em seguida, tentar, digamos, curl github.com , um erro do tipo "nenhuma rota para hospedar" será produzido:

curl: (7) Failed to connect to github.com port 80: No route to host

O servidor em questão tem serviços DNS (bind9), DHCP, HTTP / s e SSH ativos e, em particular, é o resolvedor de DNS para todas as máquinas na LAN. Por favor, veja parte inferior do post para algumas informações úteis.

Eu posso me conectar ao GitHub muito bem em qualquer das minhas outras máquinas locais, no entanto.

Como faço para diagnosticar e corrigir isso?

$ systemd-resolve github.com
github.com: 192.30.253.113
            192.30.253.112

-- Information acquired via protocol DNS in 48.2ms.
-- Data is authenticated: no

$ host -v github.com
Trying "github.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47061
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 2

;; QUESTION SECTION:
;github.com.            IN  A

;; ANSWER SECTION:
github.com.     8   IN  A   192.30.253.113
github.com.     8   IN  A   192.30.253.112

;; AUTHORITY SECTION:
.           513652  IN  NS  a.root-servers.net.
.           513652  IN  NS  d.root-servers.net.
.           513652  IN  NS  k.root-servers.net.
.           513652  IN  NS  j.root-servers.net.
.           513652  IN  NS  c.root-servers.net.
.           513652  IN  NS  f.root-servers.net.
.           513652  IN  NS  h.root-servers.net.
.           513652  IN  NS  g.root-servers.net.
.           513652  IN  NS  b.root-servers.net.
.           513652  IN  NS  i.root-servers.net.
.           513652  IN  NS  e.root-servers.net.
.           513652  IN  NS  l.root-servers.net.
.           513652  IN  NS  m.root-servers.net.

;; ADDITIONAL SECTION:
E.ROOT-SERVERS.NET. 133062  IN  AAAA    2001:500:a8::e
G.ROOT-SERVERS.NET. 483477  IN  AAAA    2001:500:12::d0d

Received 347 bytes from 127.0.0.1#53 in 0 ms
Trying "github.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37084
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;github.com.            IN  AAAA

;; AUTHORITY SECTION:
github.com.     660 IN  SOA ns-1707.awsdns-21.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

Received 112 bytes from 127.0.0.1#53 in 0 ms
Trying "github.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39053
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 13, ADDITIONAL: 2

;; QUESTION SECTION:
;github.com.            IN  MX

;; ANSWER SECTION:
github.com.     844 IN  MX  1 aspmx.l.google.com.
github.com.     844 IN  MX  10 alt3.aspmx.l.google.com.
github.com.     844 IN  MX  5 alt2.aspmx.l.google.com.
github.com.     844 IN  MX  5 alt1.aspmx.l.google.com.
github.com.     844 IN  MX  10 alt4.aspmx.l.google.com.

;; AUTHORITY SECTION:
.           513652  IN  NS  b.root-servers.net.
.           513652  IN  NS  j.root-servers.net.
.           513652  IN  NS  l.root-servers.net.
.           513652  IN  NS  e.root-servers.net.
.           513652  IN  NS  i.root-servers.net.
.           513652  IN  NS  m.root-servers.net.
.           513652  IN  NS  g.root-servers.net.
.           513652  IN  NS  k.root-servers.net.
.           513652  IN  NS  a.root-servers.net.
.           513652  IN  NS  f.root-servers.net.
.           513652  IN  NS  d.root-servers.net.
.           513652  IN  NS  c.root-servers.net.
.           513652  IN  NS  h.root-servers.net.

;; ADDITIONAL SECTION:
E.ROOT-SERVERS.NET. 133062  IN  AAAA    2001:500:a8::e
G.ROOT-SERVERS.NET. 483477  IN  AAAA    2001:500:12::d0d

Received 430 bytes from 127.0.0.1#53 in 0 ms

$ sudo traceroute -ITU github.com
traceroute to github.com (192.30.253.112), 30 hops max, 60 byte packets
 1  server.com (192.168.0.2)  2998.275 ms !H  2998.252 ms !H  2998.238 ms !H
    
por miguelg 09.03.2018 / 18:57

1 resposta

0

Eu suspeitava que isso estivesse de alguma forma relacionado ao fato de que eu estava usando a sub-rede 192.168.0.0/16 em minha LAN e, de fato, acabou sendo o caso. Para entender qual era o problema e, eventualmente, resolvê-lo, comecei consultando o roteamento do servidor, que revelou uma estranha máscara de rede:

# ip route show
default via 192.168.0.1 dev enp5s0 onlink                                                                                                                  
192.0.0.0/8 dev enp5s0  proto kernel  scope link  src 192.168.0.2

Olhando em /etc/network/interfaces revelou o culpado:

iface enp5s0 inet static
address 192.168.0.2
netmask 255.0.0.0
gateway 192.168.0.1

Não me lembro mais se voltar a configurar o servidor, a instalação do Ubuntu Server me solicitou detalhes sobre a rede ou se silenciosamente fez as suposições acima. Eu realmente acredito que é configurado fora da caixa para esperar uma sub-rede 10.0.0.0/8 e eu devo tê-lo alterado por engano para 192.168.*.* , mas esqueci da máscara de rede.

De qualquer forma, eu corrigi a máscara de rede acima para 255.255.0.0 e executei systemctl restart networking . A execução de ip route show mostrou a nova máscara de rede em efeito, mas também a antiga, estranhamente. Eu tive que excluir explicitamente a rota antiga com ip route delete 192.0.0.0/8 dev enp5s0 e então tudo funcionou.

EDIT: a resposta para a primeira parte da minha pergunta (como diagnosticar) foi olhar para o roteamento da máquina, que, se você está tendo problemas de conectividade de rede semelhantes aos meus, pode ser um bom lugar para olhar primeiro.

    
por miguelg 13.03.2018 / 09:55