Por algum motivo, não consigo acessar github.com
, a conexão simplesmente expira; Eu tenho tido esse problema consistentemente nos últimos dias. Não tenho esse problema com nenhum outro site.
Estou executando o macOS 10.15.5. Em execução traceroute
, vejo que o DNS é resolvido, mas depois se perde ( edit : as respostas apontaram que isso é esperado para o github):
$ traceroute github.com
traceroute to github.com (192.30.253.113), 64 hops max, 72 byte packets
1 10.0.0.1 (10.0.0.1) 5.508 ms 1.134 ms 1.275 ms
2 192.168.1.1 (192.168.1.1) 3.066 ms 2.711 ms 2.658 ms
3 80.10.124.196 (80.10.124.196) 69.645 ms 53.357 ms 55.386 ms
4 10.125.222.74 (10.125.222.74) 54.702 ms 61.938 ms 38.273 ms
5 ae44-0.niidf202.paris15earrondissement.francetelecom.net (193.252.98.246) 108.873 ms 32.476 ms 102.200 ms
6 193.252.137.74 (193.252.137.74) 55.651 ms 82.649 ms 70.433 ms
7 zayo-9.gw.opentransit.net (193.251.250.188) 38.020 ms 85.435 ms 91.153 ms
8 ae27.cs1.cdg11.fr.eth.zayo.com (64.125.29.4) 168.142 ms 220.846 ms 195.284 ms
9 ae0.cs1.cdg12.fr.eth.zayo.com (64.125.29.84) 180.439 ms 119.870 ms 108.460 ms
10 ae2.cs3.lhr11.uk.eth.zayo.com (64.125.29.25) 114.051 ms * *
11 * * *
12 * * *
13 * * *
14 209.66.120.181.ipyx-243981-004-zyo.zip.zayo.com (209.66.120.181) 112.761 ms 120.212 ms 113.661 ms
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
...
Usar host
confirma que o DNS resolve
$ host github.com
github.com has address 140.82.113.4
github.com mail is handled by 5 ALT1.ASPMX.L.GOOGLE.com.
github.com mail is handled by 5 ALT2.ASPMX.L.GOOGLE.com.
github.com mail is handled by 10 ALT3.ASPMX.L.GOOGLE.com.
github.com mail is handled by 10 ALT4.ASPMX.L.GOOGLE.com.
github.com mail is handled by 1 ASPMX.L.GOOGLE.com.
Executando curl no IP de host
, posso ver o tempo limite da conexão tentando alcançar 192.30.253.113
:
$ curl -v --insecure -L 140.82.113.4
* Trying 140.82.113.4...
* TCP_NODELAY set
* Connected to 140.82.113.4 (140.82.113.4) port 80 (#0)
> GET / HTTP/1.1
> Host: 140.82.113.4
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: https://140.82.113.4/
<
* Connection #0 to host 140.82.113.4 left intact
* Issue another request to this URL: 'https://140.82.113.4/'
* Trying 140.82.113.4...
* TCP_NODELAY set
* Connected to 140.82.113.4 (140.82.113.4) port 443 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/cert.pem
CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=github.com
* start date: May 5 00:00:00 2020 GMT
* expire date: May 10 12:00:00 2022 GMT
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA
* SSL certificate verify ok.
> GET / HTTP/1.1
> Host: 140.82.113.4
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: https://github.com/
<
* Connection #1 to host 140.82.113.4 left intact
* Issue another request to this URL: 'https://github.com/'
* Trying 192.30.253.113...
* TCP_NODELAY set
* Connection failed
* connect to 192.30.253.113 port 443 failed: Operation timed out
* Failed to connect to github.com port 443: Operation timed out
* Closing connection 2
curl: (7) Failed to connect to github.com port 443: Operation timed out
* Closing connection 0
* Closing connection 1
Neste ponto, acho que o problema está do lado do github, mas sou o único com esse problema entre todos os meus colegas.
Editar 2 Fiz login com a conta de convidado do macOS e consegui acessar o github. O problema ainda aparece em outra conta de usuário comum. Portanto, o problema vem de alguma configuração específica do usuário.
Eu também corri sudo killall -HUP mDNSResponder
e sudo dscacheutil -flushcache
; não resolveu o problema.
Editar 3
Se eu chamar curl
sem -L
(ou seja, sem redirecionamentos) a solicitação for bem-sucedida, recebo o HTML para o GitHub de volta:
$ curl -H "Host: github.com" --insecure -v https://140.82.118.3/
* Trying 140.82.118.3...
* TCP_NODELAY set
* Connected to 140.82.118.3 (140.82.118.3) port 443 (#0)
[...]
* TLSv1.2 (IN), TLS handshake, Finished (20):
[...]
<!DOCTYPE html>
<html lang="en">
<head>
[...]
Eu também estava tendo esse problema, também por vários dias, e com o mesmo endereço de ipad que você! Apenas corrigi-lo esta manhã.
A maneira como consertei foi procurar em /etc/hosts e ver aquele ip listado para github.com e comentar essa linha.
uma explicação que alguém me deu para isso
Mas seu comando já mostra que o nome de domínio resolve (para o endereço IP 192.30.253.113 na linha #2). Caso contrário, o rastreamento não poderia nem começar.
O resto da sua saída de rastreamento não tem nada a ver com a resolução de nomes DNS - não é isso que o traceroute está verificando. (O nome de domínio não é resolvido novamente para cada pacote. Uma vez que o aplicativo conhece o endereço IP, ele usa diretamente esse endereço.) Em vez disso, o traceroute pode mostrar um problema com a conexão de rede real que segue.
Sua saída não significa necessariamente que há problemas em geral - apenas mostra que esses nós não parecem responder especificamente às sondagens traceroute. Na verdade, isso é normal nos sistemas do GitHub quando o traceroute é usado no modo UDP (já que eles têm apenas um firewall que bloqueia as investigações UDP desde o início). Provavelmente, você pode alterná-lo para sondas ICMP para obter resultados um pouco mais precisos:
No entanto, no seu caso, o rastreamento não lhe dirá muito, pois é o próprio sistema final, o balanceador de carga 192.30.253.113, que não aceita suas conexões HTTPS. Mas normalmente as operações do GitHub teriam removido rapidamente um endereço inválido do DNS (e, como mostra o segundo comando, o endereço incorreto não está mais no DNS).
Em outras palavras, o problema é que o domínio resolve para o endereço errado sempre que curl ou traceroute usam os recursos de pesquisa de nomes fornecidos pelo sistema operacional.
Opções possíveis:
Você acabou de resolver o nome de domínio quando ele ainda tinha esse endereço e será armazenado em cache pelo sistema operacional por alguns minutos (o GitHub especifica 60s, mas nem todos os sistemas honram TTLs tão baixos). Espere um pouco e tente novamente.
Você tem o endereço inválido configurado como uma substituição em /etc/hosts (que traceroute e curl honram, mas as ferramentas
host
ou ignoram).dig
Verifique a partir de um dispositivo diferente.Seu servidor DNS estava mentindo no momento, por exemplo, talvez o administrador da rede tenha tentado substituir o nome de domínio por um endereço personalizado. (No entanto, seu segundo
host
comando mostra bons resultados.) Tente usar uma conexão diferente, como Wi-Fi público ou 4G móvel, para ignorar qualquer interceptação.Os servidores de nomes do GitHub eram inconsistentes e retornavam resultados diferentes em diferentes consultas. (O domínio é hospedado por AWS e Dyn, não é impossível que uma chamada de atualização tenha sido bem-sucedida, mas outra falhou.) Aguarde um pouco e tente novamente.
O Github.com resolve no seu computador, como evidenciado pelo fato de que o traceroute tem um endereço IP para trabalhar (
192.30.253.113
). Seu problema não é com a resolução de DNS.Na verdade, o teste que você está tentando fazer tem muito pouco a ver com DNS. A resolução já foi feita antes mesmo do teste começar. Seu problema é que seus pacotes não chegam aos servidores do Github.
No entanto, o traceroute será inconclusivo para isso, pois parece que algumas partes no caminho para o Github.com desativaram o traceroute de alguma forma (veja abaixo). Github.com ainda funciona bem para mim, mesmo que eu veja as estrelas.
Neste ponto, acho que não há muito o que fazer. A resolução funciona e você pode acessar a Internet. O resto é com outras partes.
Além das respostas fornecidas,
traceroute
às vezes pode ser um pouco enganador devido ao uso de pacotes ICMP ou UDP.É mais provável que você obtenha informações melhores usando
tcptraceroute
a porta de destino 443. Talvez seu traceroute até suporte o-T
switch.