Mam kilka komputerów skonfigurowanych w mojej wewnętrznej sieci 192.168.1. * I mam jeden publiczny adres IP, mój router jest połączony ze wszystkimi portami na wewnętrznej maszynie Linux w mojej sieci 192.168.1.3. Chcę wiedzieć, jak skonfigurować serwer DNS w moim systemie Linux, aby przekazywał do wewnętrznych adresów IP sieci LAN w zależności od nazwy hosta. NA PRZYKŁAD. computer4.83.22.56.12 znajdzie moje urządzenie, a następnie przekieruje do 192.168.1.4 w sieci lokalnej.
Dzięki temu mogę uruchomić wiele serwerów WWW pod jednym adresem IP. btw, używam Ubuntu.
Dzięki, Dave
Edytować --
Przepraszam za mylące pytanie, mogłem zadać je pijany. Miałem na myśli to, że mam wiele urządzeń Linux za moimi routerami NAT, wszystkie mają lokalny adres IP 192.168.1.2-10. Mam jeden publiczny adres IP, który po prostu wskazuje router (inne urządzenie z systemem Linux) Chcę, aby kierowało je do jednego z tych pól przez subdomenę / nazwę hosta. Na przykład:
domain.com -> router -> główne okno publicznego adresu IP
box2.domain.com -> router -> 192.168.1.3
Mam nadzieję, że to pomoże? Możesz mi pomóc?
-
źródło
Odpowiedzi:
Nie musisz tego robić. Jeśli korzystasz z Apache, możesz użyć funkcji virtualhosts.
źródło
Po pierwsze, Harv ma rację mówiąc, że można użyć wirtualnych hostów, aby jeden serwer Apache obsługiwał wiele stron internetowych. Jeśli wolisz używać osobnych fizycznych hostów lub instancji serwera (być może chcesz uruchomić zarówno IIS, aolserver, jak i apache?), Jest to również możliwe.
W obu przypadkach dodaj wpis do zewnętrznego DNS dla każdej nazwy serwera, którą chcesz. Na przykład zakładając, że twoja domena jest
example.com
i to jest plik strefy dlaexample.com
:Pozwala to hostom zewnętrznym na rozpoznanie example.com, www.example.com, apache.example.com i vhost.example.com. Wszystkie żądania na jednym porcie muszą być przekazywane do jednego hosta: jedynym sposobem na użycie wielu hostów byłoby zastosowanie pewnego rodzaju filtru: możesz mieć reguły zapory ogniowej (
iptables
) lub użyć proxy takiego jak kałamarnica.Jeśli nie chcesz mieć wielu hostów (znacznie łatwiej), po prostu dołącz sekcję dla każdego z nich w konfiguracji apache. Biorąc pod uwagę, że używasz Ubuntu, myślę, że są one zazwyczaj instalowane w / etc / apache2 / sites-available z dowiązaniem symbolicznym w / etc / apache2 / sites-enabled, gdy są aktywne. Spróbuj tego:
Zmodyfikuj plik mysite, aby wskazywał inny folder dokumentów i zmień nazwę serwera na jeden z hostów vhost
źródło
Uznałem, że brzmienie tego pytania jest mylące. Mogę założyć, że zadajesz jedno z dwóch pytań.
1) Czy pojedynczy serwer WWW może obsługiwać wiele witryn z jednym adresem IP? Odpowiedź brzmi tak. Skorzystaj z poniższego linku, aby się o tym dowiedzieć: http://httpd.apache.org/docs/2.0/vhosts/examples.html
2) Czy BIND może być używany do innego rozpoznawania nazw dla maszyn wewnętrznych i zewnętrznych? Odpowiedź brzmi tak. Rzuć okiem na jeden z tych łączy: http://www.howtoforge.com/two_in_one_dns_bind9_views http://www.cyberciti.biz/faq/linux-unix-bind9-named-configure-views/
Użyłem tego howto skuwając artykuł wiele księżyców (lat) temu. Może być konieczne przeprowadzenie dalszych badań dotyczących „widoków” BIND
Będziesz potrzebował obu części skonfigurowanych na jednym serwerze, jeśli dwie usługi są na tym samym komputerze. Najpierw musisz rozwiązać hosta w DNS (poprawnie skonfigurować widoki), a następnie musisz skonfigurować Apache, aby odpowiadał na każde żądanie w oparciu o żądaną domenę.
źródło