Ustaw mDNSResponder na lokalny serwer DNS?

3

Chcę użyć dnsmasq kiedy mój Mac (Sierra) nie jest podłączony do sieci Wi-Fi.

Konfigurowanie serwerów DNS w oknie dialogowym Zaawansowane preferencje sieciowe działa prawidłowo dig i nslookupi widzę przez tcpdump że te narzędzia trafiły do ​​lokalnego dnsmasq serwer.

To nie działa dla ping, curl i pliki binarne Golang, takie jak CLI Cloud Foundry. Nie są w stanie rozwiązać hostów i nie próbują komunikować się z lokalnym serwerem nazw. Kiedy używam dtruss dla cf Binarny Golang, widzę, że się otwiera /etc/hosts. Nie jestem jednak pewien, jak go wykryć, próbując rozmawiać z serwerami nazw.

Jeśli zatrzymam mDNSResponder i mDNSResponderHelper usługi, ping i curl trochę dłużej upaść cannot resolve api.local.pcfdev.io: Unknown host, ale mimo to nie udaje się i nie próbuje trafić lokalnego serwera nazw.

Jakieś pomysły, jak na Ziemi mogę sprawić, by macOS używał mojego lokalnego serwera nazw, gdy jestem offline?

EngineerBetter_DJ
źródło

Odpowiedzi:

1

Myślę, że mDNSResponder - z działającą maszyną wirtualną PCF Dev VirtualBox, ale bez LAN / WLAN - nie ma domyślnej bramy lub dostaje niewłaściwą bramę. Jeśli twoje interfejsy nie są połączone lub wszystkie interfejsy są nieaktywne, nie istnieje żadna brama domyślna.

Możesz to sprawdzić za pomocą:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
127                localhost          UCS             1        0     lo0
localhost          localhost          UH              5     1380     lo0
192.168.11         link#7             UC              4        0 vboxnet
224.0.0            link#1             UmCS            2        0     lo0
224.0.0.251        link#1             UHmWI           1        0     lo0

Aby tego uniknąć, możesz wykonać następujące czynności:

Wymaganie: poprawna konfiguracja dnsmasq opublikowana w twój q & amp; mój a . Może być konieczne wyłączenie wszystkich interfejsów.

Zduplikuj profil lokalizacji w Preferencjach systemowych & gt; Sieć i zmień nazwę na np. pcdev z VLAN .

Wybierz interfejs (np. Wi-Fi) w lewym okienku i naciśnij przycisk u dołu lewego panelu & gt; Zarządzaj interfejsami wirtualnymi. Naciśnij przycisk ⊞ i dodaj „Nowa sieć VLAN ...”. Zmień nazwę na VLAN, wybierz 1 jako tag i interfejs.

Skonfiguruj interfejs: ręcznie z dowolnym, ale nieużywanym adresem IP, np. 10.228.8.226/Mask 255.255.0.0/Router 10.228.0.1 i serwer DNS 127.0.0.1. Zastosuj ustawienia za pomocą przycisku Zastosować . IP (+ maska) i router muszą znajdować się w tej samej sieci.

Sprawdź ponownie tabelę routingu. Najpierw będzie wyglądać tak:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
10.228/16          link#8             UC              2        0   vlan0
127                localhost          UCS             1        0     lo0
localhost          localhost          UH              4     1380     lo0
192.168.11         link#7             UC              2        0 vboxnet
224.0.0            link#1             UmCS            2        0     lo0
224.0.0.251        link#1             UHmWI           1        0     lo0

ale po kilku sekundach (do 40 sekund w moim środowisku) powinien zostać wypełniony:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.228.0.1         UGSc            3        0   vlan0
10.228/16          link#8             UCS             2        0   vlan0
10.228.0.1/32      link#8             UCS             2        0   vlan0
10.228.0.1         link#8             UHRLWIir        4        0   vlan0     18
10.228.8.226/32    link#8             UCS             2        0   vlan0
10.228.255.255     ff.ff.ff.ff.ff.ff  UHLWbI          1        3   vlan0
127                localhost          UCS             1        0     lo0
localhost          localhost          UH             26     1494     lo0
192.168.11         link#7             UC              3        0 vboxnet
192.168.11.11      8:0:27:35:78:e2    UHLWIi          2        3 vboxnet   1192
192.168.11.255     ff:ff:ff:ff:ff:ff  UHLWbI          1        3 vboxnet
224.0.0/4          link#8             UmCS            3        0   vlan0
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          1        0   vlan0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI          1        3   vlan0
255.255.255.255/32 link#8             UCS             1        0   vlan0

Teraz spróbuj ponownie pingować api.local.pcfdev.io/tcp.local.pcfdev.io/local.pcfdev.io.


Podczas testów odniosłem wrażenie, że niektóre przypadkowe pingowania IP ( ping 192.168.11.11, ping 127.0.0.1 przyspieszono rekonfigurację).


Jeśli jesteś w zasięgu znanego przełącznika WLAN, powróć do swojego wspólnego Lokalizacja profil.


Jest to testowane (i działające) w VMwareFusion Sierra VM i zagnieżdżonej maszynie wirtualnej VirtualBox pcfdev-ubuntu. W tym środowisku nie mogę naprawdę zasymulować brakującego połączenia Wi-Fi, ponieważ nie ma dostępnego interfejsu Wi-Fi. Zamiast tego dezaktywowałem wszystkie interfejsy (2 x Ethernet) w Sierra VM.

klanomath
źródło