zarządzaj rekordami dns za pomocą bind9 bez ponownego uruchamiania serwera


0

W moim biurze regularnie ustawiamy i usuwamy maszyny wirtualne (testowanie itp.). Obecnie nie mamy innego wyboru, jak tylko złożyć skargę do IT, aby dodać wpis dns dla VM (na przykład testapp.myoffice.com) lub zapamiętać IP nowego VM. Chciałbym pozwolić nam na otrzymanie adresu internetowego, który przekierowałby do wybranej maszyny wirtualnej.

Zrobiłem trochę czytania i wygląda na to, że Bind9 jest dobrym punktem wyjścia: mogę dodać własne wpisy dns i wrócić do innego wpisu dns, ale mam kilka pytań:

  1. czy bind9 (lub inna usługa) może mieć wpisy dodane podczas jego działania lub czy wymaga ręcznego zamknięcia, aktualizacji i ponownego uruchomienia? Celem jest stworzenie aplikacji internetowej, w której użytkownicy mogą wprowadzić VM ip i uzyskać z niej link w stylu bitly.

  2. jak mogę pozwolić innym użytkownikom na dostęp do tych wpisów dns bez konieczności określania hosta dns? moim celem jest umożliwienie każdemu w naszej sieci wpisania wygenerowanego adresu URL i przekierowania go na serwer, ale nie tylko przekierowania http.

Nadal uczę się o rzeczach dns i nie jestem nawet pewien, czy dobrze to zrobię; wszelka pomoc jest doceniana. Dzięki.


Bez zamykania, aktualizacji i ponownego uruchamiania? Masz na myśli rndc reload?
grawity

Odpowiedzi:


1

Po pierwsze, aby odpowiedzieć na pytania dotyczące bind9 (nie używałem go w sposób, o którym mówisz od wielu lat, więc mogłem sobie przypomnieć, że coś się zmieniło):

Bind9 można przeładować za pomocą elementów (zakładając, że modyfikujesz konfigurację) bez przestojów. Z pamięci można skonfigurować system master / slave, w którym strefy są podawane do urządzenia slave bez przestojów. Nie wierzę, że łączenie tych rzeczy z BIND jest banalne.

Mimo to uważam, że istnieje wiele lepszych (i łatwiejszych) sposobów na to. Sposób, w jaki prawdopodobnie bym to zrobił, jest taki -

  1. Skonfiguruj nową nazwę domeny lub poddomenę, a rekordy NS wskażą nową serwer / serwer wirtualny, który będzie zarządzał nazwami domen dla tej domeny (i oczywiście nazwy systemów dev będą w tej domenie)

  2. Skonfiguruj autorski serwer nazw, który łączy się z Postgres lub MySQL i po prostu wykonaj aktualizacje w SQL - zmiany będą przepływać automatycznie - prawdopodobnie będziesz chcesz działać stosunkowo nisko (60 sekund?) Tak stare informacje TTL szybko się wyczerpują. Kilka prostych serwerów DNS, które powinny wyglądać MyDNS i Power DNS

Istnieje kilka alternatywnych sposobów na to. Jeśli używasz (lub możesz zmienić na) DNSMasq, możesz skonfigurować DNSMasq, aby przesyłał wpisy z pliku HOSTS do DNS, a następnie wystarczy utrzymywać plik hosts na serwerze DNSMasq z odpowiednim adresem IP.

Możesz zajrzeć do jakiejś usługi dynamicznego DNS. Pozwoli to zaktualizować referencje DNS maszyn bez uruchamiania serwera nazw, zakładam, że potrzebowałbyś publicznych adresów IP, i oczywiście, to przecieka informacje wewnętrzne do szerszego Internetu i może nie być odpowiednie.

Zupełnie innym podejściem może być zapomnienie o robieniu tego w DNS i skonfigurowanie „odwrotnego proxy”, które przesyła dalej odpowiednią maszynę - w ten sposób konfigurujesz odwrotne proxy przy każdej zmianie, ale tak długo, jak odwrotne proxy pozostaje to samo możesz zawsze zaktualizować. Aby to zrobić, musisz albo zhakować kod, albo ręcznie zmodyfikować adres IP. Zdaję sobie sprawę, że istnieje co najmniej 2, ale prawdopodobnie o wiele więcej sposobów. Jednym z nich jest użycie Apache + mod_proxy, innym jest skonfigurowanie Squid. Kluczowym słowem dla google w tym miejscu będzie „Reverse Proxy”


O rany, to dużo informacji. Przejdę przez to i jeśli to wygląda jak mydns lub powerdns lub odwrotne proxy zrobi to, co chcę, szybko to zaakceptuję. Dzięki!
whiterook6

Mój współpracownik z działu IT skonfigurował coś o nazwie tinyDNS który wygląda na to, że zrobi to, co chcę. Dziękuję za tę odpowiedź!
whiterook6
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.