Archiwum tagów: dig

Problem z DNSem: dig działa, ping nie. Hmm..

Trochę dziś siedziałem nad rekonfiguracją wewnętrznej sieci wirtualnej w laptopie – mam sporo wirtualek, więc używanie wpisów w /etc/hosts już nie wystarczało. DNSmasq mógłby rozwiązać problem, jednak osobiście wolę BINDa – zainstalowałem więc, zchrootowałem, skonfigurowałem jako caching-name server i dodałem obsługę strefy ‘local’ (jako, że używam adresów z taką właśnie końcówką: git.local, dev1.local etc). Miałem jeszcze trochę zabawy z konfiguracją NetworkManagera (Fedora 17), który to nadpisuje /etc/resolv.conf – początkowo chciałem temu plikowi nadać atrybut immutable (chattr +i) tak żeby się NM odczepił, ale to mało koszerne – przypuszczam, że developerzy NM nie brali pod uwagę takiego podejścia użytkownika, więc wpadłbym w bliżej niekreślony wyjątek. Dodałem więc wpisy:

Do /etc/sysconfig/network-scripts/ifcfg-Auto_WLANname i zaczęło to śmigać – po restarcie połączenia /etc/resolv.conf zawierał to co chciałem. Podobnie rozwiązałem problem resolvowania w trakcie połączenia z VPNem.

No i gdy zaczynałem w końcu pracę, okazało się, że nie mogę się podłączyć do VMki:

Dziwna przypadłość. A proszę co tu mamy:

No to wtf z tym DNSem?

Teraz więc spory WTF – DNS lokalny działa poprawnie. Hmmm.. Zacząłem podejrzewać, że mój system nagle stwierdził, że domeny ‘local’ to on nie będzie resolwował za pomocą owego lokalnego DNSa. Aby to potwierdzić w ruch poszedł tcpdump: “tcpdump -n port 53″ – w międzyczasie próbując pingować adres ‘git.local’ – i zupełnie nic tcpdump nie wypluł. Skoro więc ping nie chciał resolvować za pomocą DNSa to za pomocą czego? Oczywistą oczywistością jest /etc/hosts ale co więcej? Tym razem strace:

No i jasne – mamy tu nscd (którego u mnie na laptopie brak), a później Avahi – hmm.. a gdzie DNS? No to rzućmy okiem na /etc/nsswitch.conf:

No i sprawy stają się jasne – żeby się nie rozpisywać odsyłam tutaj: http://avahi.org/wiki/AvahiAndUnicastDotLocal

Rozwiązanie? Są dwa. Albo zmieniamy wpis w /etc/nsswitch.conf na taki jak poniżej (czyli po prostu przestajemy polegać na resolvowaniu adresacji via avahi – jak tego nie używamy to dobre rozwiązanie):

A drugie to rekonfiguracja Avahi tak jak opisano w powyższym linku:

Po czym wykonujemy restart usługi i czyszczenie cache przeglądarek.

Digging know how

Ten wpis nie jest dostępny w języku polskim