W systemie Ubuntu 14.04 używam dnsmasq do rozwiązywania znaków wildcard example.com na komputerze lokalnym (komputer stacjonarny w domu).
Po wielu lekturach nie mogę na całe życie rozwiązać tego samego na czystej instalacji 18.04.
W tej chwili chcę tylko:
- dla
ping example.com
polecenia ping 127.0.0.1, a nie 93.184.216.34; - dla
ping anysubdomain.example.com
również pingowania 127.0.0.1; - i
ping google.com
do pingowania prawdziwego google.com za pośrednictwem routera / IP DNS.
Z pewnością to musi być proste, a nawet trywialne?
Ale jestem zakłopotany. Mogę uzyskać rozwiązanie example.com, ale tylko kosztem zepsucia wszystkiego innego.
W jaki sposób mogę to zrobić?
Odpowiedzi:
Oto kroki dla Ubuntu 18.04. Minęło trochę czasu, ponieważ
systemd-resolved
nie jest zbyt dobry wNetworkManager
konfiguracji zdnsmasq
.Nadal jednak polecam zacząć
dnsmasq
odNetworkManager
, ponieważ zmiany w łączności sieciowej (WIFI, przewodowe, ...) będą obsługiwane w przejrzysty sposób.Włącz dnsmasq w NetworkManager
Edytuj plik
/etc/NetworkManager/NetworkManager.conf
i dodaj liniędns=dnsmasq
do[main]
sekcji, będzie to wyglądać następująco:Pozwól NetworkManager zarządzać
/etc/resolv.conf
Konfiguruj
example.com
Załaduj ponownie
NetworkManager
i przetestujNetworkManager powinien zostać ponownie załadowany, aby zmiany odniosły skutek.
Następnie możemy zweryfikować, czy możemy dotrzeć do zwykłej strony:
Na koniec sprawdź,
example.com
czy subdomeny są rozwiązane jako127.0.0.1
:źródło
/etc/resolv.conf
wskazuje/run/systemd/resolve/stub-resolv.conf
.Najpierw upewnij się, że w
/etc/NetworkManager/NetworkManager.conf
następującym wierszu nie ma ani nie skomentował:Uruchom ponownie NetworkManager:
Upewnij się, że kontrolowany przez NetworkManager dnsmasq już nie działa, albo poprzez zabicie procesu, albo ponowne uruchomienie systemu.
Następnie zainstaluj dnsmasq:
Dodaj następujące elementy
/etc/dnsmasq.d/example.com
:Uruchom ponownie dnsmasq:
Teraz powinieneś zastąpić dns wieloznacznym na przykład.com.
źródło
sudo apt install dnsmasq
pojawia się błąd „nie udało się utworzyć gniazda nasłuchującego dla portu 53: Adres już używany”. I tak kontynuowałem do końca, na wypadek, gdyby jakiś krok rozwiązał ten problem, ale to nie zadziałało i to nie działało.To nie będzie tak proste jak edycja pliku hosts. Masz kilka opcji:
To proxy DNS python, które będzie obsługiwać symbole wieloznaczne w / etc / hosts
Korzystanie z DNSmasq
źródło
netstat -tulpn
aby sprawdzić, co korzysta z portu? EDYCJA: Nieważne, zobaczyłem zaakceptowaną odpowiedź. problem dotyczy rozwiązania systemowego.