Skocz do zawartości
Zaloguj się, aby obserwować  
ksenonlogin

Serwer DNS, kierujący adresami na inne maszyny

Polecane posty

Witam

 

Od jakiegoś czasu ćwiczę konfigurację serwerów DNS, obecnie tak na szybko chciałem by klienci kierowali swoje strony na moje DNS-y a nie DNS-y usługodawcy u którego wykupiłem serwer VPS.

 

Jest to raczej taka prowizorka wykonana za pomocą Parallels Plesk, gdzie dodałem domenę domena.pl i w strefie DNS dodałem dwa rekordy "A" ns1.domena.pl oraz ns2.domena.pl, dwa rekordy skierowałem na jeden adres IP tego serwera na którym są rekordy i domena (wiem że tak niewolno, jednak to tylko test).

 

Obecnie na tym serwerze dodałem kilkanaście domen i wszystko jest ok, jednak niedawno nabyłem dwa serwery Cloud na których chciałem umieścić strony z poprzedniego serwera i nie wiem jak skonfigurować serwer za pomocą Pleska czy innego sposobu by serwer DNS kierował adres strony na odpowiedni serwer Cloud.

 

Oczywiście teraz chcę wykonać wszystko poprawnie, czyli serwerem głównym DNS będzie posiadany VPS (nie będzie na nim stron www tylko jeden ns1.domena.pl), a zapasowy adres chcę dodać do freedns.42.pl

 

 

Problem polega na tym iż nie wiem jak to wszystko skonfigurować by serwer VPS wiedział gdzie kierować adres, na jaki serwer Cloud.

 

Proszę o jakie kolwiek wskazówki jak ustawić podstawowy serwer ns1.domena.pl (ns2.domena.pl będzie na darmowym DNS-e), każda wskazówka będzie dla mnie cenna.

Jeżeli nikt nie wie jak pomóc, a zna jakieś forum na którym mogą doradzić jakieś rozwiązanie to też będę wdzięczny.

 

Z góry dziękuję...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

bardzo ciekawy post samego mnie to interesuje jak to ugryźć. Uchyli ktoś z profesjonalistów rąbka tajemnicy ? :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie wiem czy dobrze zrozumiałem, ale jak wrzucasz strone na Cloud 1 to jej rekordy A ustawiasz na IP Cloud 1.

 

Nie. To ma działać na prawidłowej zasadzie, normalnego hostingu:

 

- domeny klientów mają być kierowane na adresy DNS na serwerze VPS

- Serwer DNS/VPS ma wtedy kierować adres klienta na odpowiedni serwer Cloud na którym jest dana strona, przecież taka jest rola serwera DNS

 

Nie wiem jak mam skonfigurować VPS by kierował stronę na odpowiedni serwer.

Przecież firmy hostingowe bazują na dziesiątkach serwerach i jest jeden/dwa czy trzy serwery DNS i jakoś one kierują tymi adresami

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No tak, bo serwer ma zapisane w bazie tak:

serwery id, ip

domeny id, id_serwer, nazwa

 

Tak w skrócie.

I jak dodajesz domene i przypisujesz to on wypełnia szablon DNS z adresem IP pobierajac zapytaniem w stylu:

select ip from serwer where id = $domena['id_serwer']

* pseudokod

 

Darmowy panel wspierający wiele serwerów to np. i-MSCP

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mało dobre mi się to wydaje, bo muszę pilnować serwerów cloud i chi domen.

. Przecież do DNS-a mam VPS i na strony dwa serwery Cloud, a co będzie jak będę miał ich 10 czy 20. Oczywiście mogę dodawać na VPS rekordy "A" o nazwach stron internetowych które dodają klienci i kierować na dany serwer Cloud, ale jest to najgorsze rozwiązanie bo za każdym razem jak klient doda w Panelu nowy adres czy przeniesie go na inny serwer to ja muszę siedzieć przy tym i dokonywać zmian na VPS-e.

 

Jak działają firmy hostingowe?

 

mają swoje DNS-y które kierują ruchem..., jak to zrobić? nie wiem, bo w internecie jest tona informacji jak to zrobić na jeden serwer i to wygląda tak że konfigurujemy serwer DNS na tym serwerze na którym mamy strony internetowe - a przecież jest to samobójstwo, tak jak byśmy podcinali gałąź na której siedzimy..., a może sam BIND nie wystarczy, może jest inny serwer do pracy z DNS

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli masz na serwerach "cloud 1", "cloud 2", "cloud 3" itd. jakiś panel/skrypt/cokolwiek zarządzający kontami klientów, to ten właśnie panel/skrypt/cokolwiek na każdym z serwerów po dodaniu/usunięciu/zmodyfikowaniu wpisów klientów łączy się z serwerem DNS odpowiednio aktualizując na nim wpisy.

 

Innymi słowy, w uproszczeniu: to nie BIND pobiera dane o domenach z serwerów, tylko te serwery informują BINDa o zmianach.

 

Chyba, że się mylę, to niech ktoś mnie poprawi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli masz na serwerach "cloud 1", "cloud 2", "cloud 3" itd. jakiś panel/skrypt/cokolwiek zarządzający kontami klientów, to ten właśnie panel/skrypt/cokolwiek na każdym z serwerów po dodaniu/usunięciu/zmodyfikowaniu wpisów klientów łączy się z serwerem DNS odpowiednio aktualizując na nim wpisy.

 

Innymi słowy, w uproszczeniu: to nie BIND pobiera dane o domenach z serwerów, tylko te serwery informują BINDa o zmianach.

 

Chyba, że się mylę, to niech ktoś mnie poprawi.

 

 

Tego to już nie wiem, a jeżeli tak jest to jak to skonfigurować - jak skonfigurować te serwery Cloud* by informowały serwer VPS/DNS by się aktualizował i kierował odpowiednio adresami...?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Potrzebowałbyś napisać/znaleźć skrypt, który sprawdza okresowo listę IP wszystkich cloudów, następnie wyrzuca z nich cloudy offline, można by do tego jeszcze dodać jakąś geolokalizację IP użytkownika tak, żeby kierował na najbliższy CLOUD, w celu wydajności, ale to już jest opcjonalne.

 

Innymi słowy skrypt, który modyfikuje konfigurację BIND'a lub coś podobnego. Ewentualnie zabawa z routingiem.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Potrzebowałbyś napisać/znaleźć skrypt, który sprawdza okresowo listę IP wszystkich cloudów, następnie wyrzuca z nich cloudy offline, można by do tego jeszcze dodać jakąś geolokalizację IP użytkownika tak, żeby kierował na najbliższy CLOUD, w celu wydajności, ale to już jest opcjonalne.

 

Innymi słowy skrypt, który modyfikuje konfigurację BIND'a lub coś podobnego. Ewentualnie zabawa z routingiem.

 

Też o czymś takim myślałem, jednak tu pojawia się magiczne pytanie: jak to zrobić? gdybym wiedział to bym juz dawno zrobił....

 

TEMAT DO ZAMKNIĘCIA - POSZUKAM ZAGRANICZNYCH ROZWIĄZAŃ

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Powiedz co u Ciebie oznacza Cloud, bo jeżeli to jest po prostu kolejny serwer to już daliśmy Ci odpowiedź. Każdy multi-serwerowy panel pozwala postawić DNS gdzie indziej. Ewentualnie piszesz na VPSa panel dla siebie, gdzie na "cloudach" (przez daemony uruchomione na nich) dodajesz konta dla domen od razu lokalnie dopisując dane do DNS.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Powiedz co u Ciebie oznacza Cloud, bo jeżeli to jest po prostu kolejny serwer to już daliśmy Ci odpowiedź. Każdy multi-serwerowy panel pozwala postawić DNS gdzie indziej. Ewentualnie piszesz na VPSa panel dla siebie, gdzie na "cloudach" (przez daemony uruchomione na nich) dodajesz konta dla domen od razu lokalnie dopisując dane do DNS.

 

Serwery w 1and1.pl (jeden VPS i dwa Cloud wszystkie o minimalnych parametrach)

 

Chciałem na serwerze VPS skonfigurować główny serwer dns dla ns1.domena.pl oraz zapasowy adres dns na freedns.42.pl o adresie ns2.domena.pl, jednak sama konfiguracja nie wystarczy bo te serwery po prostu tylko istnieją.

 

Dodatkowo posiadam właśnie dwa serwery cloud gdzie umieściłem strony domena1.pl oraz domena2.pl gdzie u dostawcy az.pl skierowałem te domeny na moje adresy DNS i teraz nic się nie dzieje bo serwer DNS/VPS nie wie co robić z tymi adresami, no chyba że dodam daną stronę na tym VPS-e to działa, ale nie chcę umieszczać stron na tym niby głównym DNS-e/VPS-e

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Musisz. Ten VPS będzie działać jako okienko informacyjne. Tam będą leciały żądania DNS. Musisz po prostu w DNSach dodawać IP tych chmurek, czyli potrzebujesz panel, w którym możesz mieć na osobnej maszynie DNS, na osobnych maszynach WWW i żeby ten panel to ogarniał.

 

Przy okazji nie wiem jak teraz, ale jakieś 3-5 miesięcy temu pakowanie się do 1&1 to było proszenie się o kłopoty ze wszystkim.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Musisz. Ten VPS będzie działać jako okienko informacyjne. Tam będą leciały żądania DNS. Musisz po prostu w DNSach dodawać IP tych chmurek, czyli potrzebujesz panel, w którym możesz mieć na osobnej maszynie DNS, na osobnych maszynach WWW i żeby ten panel to ogarniał.

 

Przy okazji nie wiem jak teraz, ale jakieś 3-5 miesięcy temu pakowanie się do 1&1 to było proszenie się o kłopoty ze wszystkim.

 

 

Podawać IP tych chmurek? ale w nazwie co mam wpisywać?

np. dodaje rekord A w konfiguracji:

domena.pl A xxx.xxx.xx.xx?

ns1.domena.pl A xxx.xxx.xx.xx?

domena.pl A yyy.yyy.yy.yy?

 

cotuwpisac dlakilkuserwerow A ip.ip.ip.ip?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Twój serwer DNS nie utowrzy sam z siebie automagicznie strefy zaraz po tym jak tylko ktoś kupił domenę i przekierował ją na Twoje DNS-y. Twoje DNS-y nie będą wiedziały same z siebie na którym serwerze leży VirtualHost danej domeny. To trzeba by załatwić jakimś automatem. Także albo skorzystaj z gotowej usługi jakiejś firmy hostingowej lub wynajmij człowieka, który stworzy Ci taki automat.

No chyba, że nie zrozumiałem czegoś z Twojego opisu problemu... :-)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Twój serwer DNS nie utowrzy sam z siebie automagicznie strefy zaraz po tym jak tylko ktoś kupił domenę i przekierował ją na Twoje DNS-y. Twoje DNS-y nie będą wiedziały same z siebie na którym serwerze leży VirtualHost danej domeny. To trzeba by załatwić jakimś automatem. Także albo skorzystaj z gotowej usługi jakiejś firmy hostingowej lub wynajmij człowieka, który stworzy Ci taki automat.

No chyba, że nie zrozumiałem czegoś z Twojego opisu problemu... :-)

 

Taki automat byłby super, tylko bym mógł wykonać taki automat muszę wiedzieć jak to robić ręcznie - czyli przydałby się jakiś przykład takiej konfiguracji do wykonania ręcznie by to działało. wtedy dowiem się tego co od początku próbuję się dowiedzieć i taki automat stworzę sam bądź z czyjąś pomocą - jednak co ma on robić?

Tak jak mówię wiedza - jak to skonfigurować ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Masz takie ustawienie:

post-7648-0-74726100-1355486101.png

 

Teraz na VPSie potrzebujesz skrypt, którego wywołujesz mniej więcej tak:

skrypt domena dodaj example.com c1

 

Ten skrypt musi utworzyć pliki strefy i jej danych, który wygląda mniej więcej tak:


$TTL 14400
$ORIGIN example.com.

; Specify the primary nameserver ns1.example.com in SOA
@ 14400 IN SOA ns1.example.com. webmaster.example.com. (
							2008092902 ; Serial in YYYYMMDDXX (XX is increment)
							10800; refresh seconds
							3600; retry
							604800; expire
							38400; minimum
							);
; Website IP Address specified in A record

   IN A x.x.x.x

; TWO nameserver names

   IN NS ns1.example.com.
   IN NS ns2.example.com.

; Nameservers and their corresponding IPs

ns1  IN A ad.re.sv.ps
ns2  IN A adr.esf.ree.dns

; Specify here any Aliases using CNAME record

www IN CNAME example.com.
ftp IN CNAME example.com.

; Set Mail Exchanger record with priority

mail IN MX 10 example.com.

Ważne, żeby ns'y ustawiał tak jak ma być, czyli pierwszy na adres vps, a drugi na np. freedns.

 

Instrukcje jak dodawać poprawnie domenę do bind masz np. tutaj. Jak używasz PowerDNS to musisz znaleźć instrukcję do niego (zapytania MySQL).

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam po przerwie...

 

Zainstalowałem PDNS wraz z panelem Poweradmin, po zalogowaniu dodałem dwie domeny, pierwsza wraz z wpisami A ma służyć w pewnym sensie za nameserwer (dlatego jest skierowana na ip własnego serwera), a druga ma ip zewnętrznego serwera, jednak w sytuacji jak chciałem skierować u dostawcy domeny.pl domenę speed-host.pl na ns1.speed-host.pl oraz ns2.speed-host.pl jak to robiłem przy bind-e to tu wyskakuje info ze rekordy A o tych nazwach nie istnieją skoro są dodane i tu moje pytanie:

czy coś jest nie tak, czy samo dodanie rekordów do bazy nic nie da i trzeba modyfikować jakiś plik na serwerze?

post-17212-0-30409800-1355678434.png

post-17212-0-35608600-1355678435.png

Edytowano przez ksenonlogin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie masz możliwości wpisania u rejestratora IP dla tych nsów?

Często jest tak, że przypisujesz domene i masz pole hostname i IP, więc wypełniasz oba. Dodatkowo możliwe, że po prostu potrzeba jeszcze chwilkę czasu, jednak raczej tak jak mówię - musisz podać IP nsów pierwszej domeny u rejestratora. Potem już będziesz mógł normalnie przenosić.

Edytowano przez Misiek08 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie masz możliwości wpisania i rejestratora IP dla tych nsów?

Często jest tak, że przypisujesz domene i masz pole hostname i IP, więc wypełniasz oba. Dodatkowo możliwe, że po prostu potrzeba jeszcze chwilkę czasu, jednak raczej tak jak mówię - musisz podać IP nsów pierwszej domeny u rejestratora. Potem już będziesz mógł normalnie przenosić.

 

I tu jest problem, ponieważ dodałem IP. W PDNS te rekordy są trzymane w bazie danych, ale czy są gdzieś w jakimś pliku, gdy miałem bind wraz z Panelem Plesk to w sytuacji dodania rekordu a od razu było wszystko wykrywane, a tu nie znajduje tych rekordów...

 

Całość instalowałem według instrukcji: PART-1 PART-2

Edytowano przez ksenonlogin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Są w bazie, ale pdns na bieżąco odświeża. Poprawiłem w 1 zdaniu "i" na "u".

 

Zaraz sprawdzę te dns'y.

 

Tak, ale w sytuacji kontroli w whois nie ma żadnych DNS, Oczywiście u dostawcy domeny.pl są dodane te DNS ponieważ zrobiłem to za czasów konfiguracji rekordów "A" w BIND a nie na obecnym oprogramowaniu.

Podczas instalacji nie miałem żadnych błędów wszystko było ok, jednak po prostu mam wrażenie że coś jest nie tak, że czegoś brakuje, z logicznego punktu widzenia jakieś podstawowe dane muszą być w jakimś pliku a nie bazie danych...

 

A co najbardziej mnie zastanawia że plik pdns.conf nie posiada żadnej konfiguracji prócz połączenia z bazą danych (którą sam ustawiłem)

 

setuid=pdns
setgid=pdns
# Autogenerated configuration file template
#################################
# allow-axfr-ips Allow zonetransfers only to these subnets
#
# allow-axfr-ips=0.0.0.0/0
#################################
# allow-recursion List of subnets that are allowed to recurse
#
# allow-recursion=0.0.0.0/0
#################################
# allow-recursion-override Set this so that local data fully overrides the recursor
#
# allow-recursion-override=no
#################################
# cache-ttl Seconds to store packets in the PacketCache
#
# cache-ttl=20
#################################
# chroot If set, chroot to this directory for more security
#
# chroot=
#################################
# config-dir Location of configuration directory (pdns.conf)
#
# config-dir=/usr/local/etc
#################################
# config-name Name of this virtual configuration - will rename the binary image
#
# config-name=
#################################
# control-console Debugging switch - don't use
#
# control-console=no
#################################
# daemon Operate as a daemon
#
# daemon=no
#################################
# default-soa-name name to insert in the SOA record if none set in the backend
#
# default-soa-name=a.misconfigured.powerdns.server
#################################
# default-ttl Seconds a result is valid if not set otherwise
#
# default-ttl=3600
#################################
# disable-axfr Disable zonetransfers but do allow TCP queries
#
# disable-axfr=no
#################################
# disable-tcp Do not listen to TCP queries
#
# disable-tcp=no
#################################
# distributor-threads Default number of Distributor (backend) threads to start
#
# distributor-threads=3
#################################
# do-ipv6-additional-processing Do AAAA additional processing
#
# do-ipv6-additional-processing=no
#################################
# fancy-records Process URL and MBOXFW records
#
# fancy-records=no
#################################
# guardian Run within a guardian process
#
# guardian=no
#################################
# launch Which backends to launch and order to query them in
#
# launch=
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=power_admin
gmysql-password=corects1
gmysql-dbname=powerdns
#################################
# lazy-recursion Only recurse if question cannot be answered locally
#
# lazy-recursion=yes
#################################
# load-modules Load this module - supply absolute or relative path
#
# load-modules=
#################################
# local-address Local IP addresses to which we bind
#
# local-address=0.0.0.0
#################################
# local-ipv6 Local IP address to which we bind
#
# local-ipv6=
#################################
# local-port The port on which we listen
#
# local-port=53
#################################
# log-dns-details If PDNS should log DNS non-erroneous details
#
# log-dns-details=
#################################
# log-failed-updates If PDNS should log failed update requests
#
# log-failed-updates=
#################################
# logfile Logfile to use
#
# logfile=pdns.log
#################################
# logging-facility Log under a specific facility
#
# logging-facility=
#################################
# loglevel Amount of logging. Higher is more. Do not set below 3
#
# loglevel=4
#################################
# master Act as a master
#
# master=no
#################################
# max-queue-length Maximum queuelength before considering situation lost
#
# max-queue-length=5000
#################################
# max-tcp-connections Maximum number of TCP connections
#
# max-tcp-connections=10
#################################
# module-dir Default directory for modules
#
# module-dir=/usr/local/lib
#################################
# negquery-cache-ttl Seconds to store packets in the PacketCache
#
# negquery-cache-ttl=60
#################################
# no-shuffle Set this to prevent random shuffling of answers - for regression testing
#
# no-shuffle=off
#################################
# out-of-zone-additional-processing Do out of zone additional processing
#
# out-of-zone-additional-processing=yes
#################################
# pipebackend-abi-version Version of the pipe backend ABI
#
# pipebackend-abi-version=1
#################################
# query-cache-ttl Seconds to store packets in the PacketCache
#
# query-cache-ttl=20
#################################
# query-local-address Source IP address for sending queries
#
# query-local-address=
#################################
# query-logging Hint backends that queries should be logged
#
# query-logging=no
#################################
# queue-limit Maximum number of milliseconds to queue a query
#
# queue-limit=1500
#################################
# recursive-cache-ttl Seconds to store packets in the PacketCache
#
# recursive-cache-ttl=10
#################################
# recursor If recursion is desired, IP address of a recursing nameserver
#
# recursor=no
#################################
# send-root-referral Send out old-fashioned root-referral instead of ServFail in case of no authority
#
# send-root-referral=no
#################################
# setgid If set, change group id to this gid for more security
#
# setgid=
#################################
# setuid If set, change user id to this uid for more security
#
# setuid=
#################################
# skip-cname Do not perform CNAME indirection for each query
#
# skip-cname=no
#################################
# slave Act as a slave
#
# slave=no
#################################
# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds
#
# slave-cycle-interval=60
#################################
# smtpredirector Our smtpredir MX host
#
# smtpredirector=a.misconfigured.powerdns.smtp.server
#################################
# soa-expire-default Default SOA expire
#
# soa-expire-default=604800
#################################
# soa-minimum-ttl Default SOA mininum ttl
#
# soa-minimum-ttl=3600
#################################
# soa-refresh-default Default SOA refresh
#
# soa-refresh-default=10800
#################################
# soa-retry-default Default SOA retry
#
# soa-retry-default=3600
#################################
# soa-serial-offset Make sure that no SOA serial is less than this number
#
# soa-serial-offset=0
#################################
# socket-dir Where the controlsocket will live
#
# socket-dir=/var/run
#################################
# strict-rfc-axfrs Perform strictly rfc compliant axfrs (very slow)
#
# strict-rfc-axfrs=no
#################################
# urlredirector Where we send hosts to that need to be url redirected
#
# urlredirector=127.0.0.1
#################################
# use-logfile Use a log file
#
# use-logfile=no
#################################
# version-string PowerDNS version in packets - full, anonymous, powerdns or custom
#
# version-string=full
#################################
# webserver Start a webserver for monitoring
#
# webserver=no
#################################
# webserver-address IP Address of webserver to listen on
#
# webserver-address=127.0.0.1
#################################
# webserver-password Password required for accessing the webserver
#
# webserver-password=
#################################
# webserver-port Port of webserver to listen on
#
# webserver-port=8081
#################################
# webserver-print-arguments If the webserver should print arguments
#
# webserver-print-arguments=no
#################################
# wildcard-url Process URL and MBOXFW records
#
# wildcard-url=no
#################################
# wildcards Honor wildcards in the database
#
# wildcards=

Edytowano przez ksenonlogin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki za podpowiedzi, wszystko działa, a problem z brakiem wpisów A występuje tylko w domeny.pl, a u reszty dostawców jest ok.

 

Dzięki Misiek08 za podpowiedź z PDNS - baza danych rozwiązuje cały problem z automatyzacją

Edytowano przez ksenonlogin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam jeszcze pytanie co do poczty: jak poprawnie ustawić MX-y na serwerze PDNS oraz na serwerze gdzie jest domena by to działało, ponieważ wszystko poustawiałem niby ok, ale poczta nie jest wysyłana ani odbierana....

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×