DNS Çözümleme Problemi

Normalde sunucumun public IP adresini aşağıdaki komut ile alıyorum:
dig +short myip.opendns.com @resolver1.opendns.com
Ancak bugün, dış dünyaya erişim sağlanmasına rağmen (internete çıkabiliyorum), bu komutla IP adresimi alamıyordum. Komut çalıştığında aşağıdaki hata ile karşılaşıyordum:

;; connection timed out; no servers could be reached

Sorunu araştırırken /etc/resolv.conf dosyasına nameserver 8.8.8.8 satırını ekledim ve bu işlem sorunu çözdü. Şu anda dig komutu çalışıyor ve IP adresimi alabiliyorum. Ancak, sorunun temel sebebini hala anlayabilmiş değilim.

Sunucumda sadece Docker’la dağıtılmış bir uygulama çalışıyor ve herhangi bir ağ veya DNS ayarı değiştirmedim. Daha önce benzer bir durum yaşayan veya çözümle ilgili fikir sahibi olan varsa, bu durumun neden kaynaklandığını paylaşabilir mi? Docker’ın ağ yönlendirmesi veya başka bir faktör etkili olmuş olabilir mi?

man sayfasi diyor ki:

Unless it is told to query a specific name server, dig will try each of the servers listed in /etc/resolv.conf.

Yani resolv.conf da gecerli bir DNS sunucusu yoksa calismamasi normal. (8.8.8.8 kaydini eklemeden once o dosyada gecerli bir dns sunucusu olmadigini anliyorum)

1 Like

Selamün Aleyküm
dig komutuna @IP_OR_FQDN şeklinde belirttiğiniz kısım, sorgulamanın yapılacağı sunucuyu belirtir. Bu kısma IP adresi dışında bir bir kayıt girildiğinde ilk önce hosts dosyasında bulamazsa resolv.conf dosyasındaki DNS sunucusunda sorgular. Bu iki şart sağlanmazsa da sizdeki hatayı verir.

2 Likes

Cevap için teşekür ederim. netplan’i güncelledim problemim çözüldü.

1 Like