Czy możliwe jest hostowanie serwera WWW spoza NAT?

21

Mój komputer jest za routerem NAT, który ma publiczny adres IP. Jeśli chcę hostować stronę internetową, uważam, że potrzebuję nazwy domeny, którą mogę kupić z jakiejś strony, która zobowiązałaby się do rozwiązania wszystkich żądań DNS dla tej nazwy domeny i wysłania adresu IP mojego routera NAT (zakładając, że nie chcę hostować moją nazwę domeny na swoich serwerach). Teraz chcę hostować serwer WWW na moim komputerze.

  1. Jakie zmiany należy wprowadzić w konfiguracji routera NAT, aby przekazywać wszystkie żądania HTTP dla witryny example.com na mój komputer w sieci wewnętrznej.
  2. Czy powyższa strategia jest poprawna?
  3. Czy jest powszechnie używany?
Rohit Banga
źródło

Odpowiedzi:

12

Opisane jest hostowanie serwera za NAT.
Spójrz na tę stronę pomocy Ubuntu na ServersBehindNAT dla podstaw.

Więcej referencji,

  1. Hostowanie serwera Apache za NAT

  2. Podczas konfigurowania serwera za NAT używa się routera z serii NAT Buffalo AirStation i przykładów routerów Linksys
  3. Metoda udostępniania połączenia internetowego systemu Windows XP . jeśli masz komputer z systemem Windows obsługujący NAT
  4. [Jeśli używasz XP, możesz również użyć IIS 6 5 (obsługa hosta wirtualnego 1), przechodząc do Panelu sterowania> Dodaj i usuń programy> Dodaj składnik Windows> Internetowe usługi informacyjne.

Zakłada się, że wiesz, jak hostować serwer WWW i potrzebujesz pomysłów na NAT.

nik
źródło
1

Inną alternatywą może być coś w rodzaju homelinux, w którym dynamiczny adres IP można zmapować na statix .homelinux. URL

Istnieją również inne opcje niż „homelinux”

http://www.dyndns.com/

0x808080
źródło
1
  1. Sprawdź portforward.com . Mają szczegółowe wskazówki dotyczące tego rodzaju rzeczy, podstawową ideą jest to, że musisz skonfigurować router, aby przekazywał żądania TCP na porcie 80 na adres IP komputera. To pociąga za sobą jeszcze jedną rzecz: musisz ustawić komputer tak, aby miał statyczny adres IP. Jeśli na routerze działa serwer DHCP (co ma miejsce w 97% przypadków), pamiętaj, aby przypisać serwer znacznie powyżej lub poniżej. Google dla „statycznego adresu IP LAN” prawdopodobnie wyświetli instrukcje, jak to skonfigurować w różnych systemach operacyjnych.
  2. Będzie działać, pod warunkiem, że twój dostawca usług internetowych nie blokuje połączeń przychodzących na porcie 80; niektórzy robią to ze względów bezpieczeństwa.
  3. Może. To właśnie robię teraz z ftp, http, ssh, vnc, xmpp i kilkoma innymi rzeczami ...

Musisz także uruchomić serwer WWW na swoim komputerze. Wystarczy pobrać Apache, działa na prawie wszystkim i jest to, czego używa większość stron.

marcusw
źródło
1

Po sprawdzeniu wszystkich tych odpowiedzi i powiązanych poradników doszedłem do wniosku, że wszystkie zawierają skomplikowane konfiguracje z dużymi programami (częściowo stworzonymi do innych celów) oraz plikami konfiguracyjnymi i innymi rzeczami, więc postanowiłem napisać własne rozwiązanie.

https://github.com/rofl0r/nat-tunnel

Jest to 250-wierszowy skrypt Pythona, który można uruchomić bezpośrednio z kasy git.

Przykład: Serwer HTTP nasłuchuje na komputerze lokalnym na porcie 80. Chcesz go udostępnić na publicznym adresie IP swojego serwera w chmurze / VPS / etc na porcie 7000. Używamy portu 8000 na serwerze w chmurze dla kanału kontrolnego.

użyj jak

Serwer:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

Klient:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000
the_JQ
źródło
0
  1. przekieruj ruch TCP do routera na porcie 80 do komputera na port_whthing_you_are_running_your_webserver

  2. nie potrzebujesz nazwy domeny, aby umożliwić innym dostęp do twojego serwera, publiczny adres IP jest wystarczający. nazwa domeny do twojego publicznego adresu IP jest po prostu bardziej wygodna. w przeciwnym razie twój plan wygląda dobrze.

  3. router jest po prostu „zaporą ogniową” między publicznym a serwerem. taka konfiguracja jest dość powszechna.

akira
źródło
0

1.) Musisz przekierować port 80 na swój wewnętrzny adres IP na porcie 80

2.) Możliwe. Jeśli masz statyczny adres IP od swojego usługodawcy internetowego, wszystko zależy od tej strategii. Jeśli nie masz statycznego adresu IP, prawdopodobnie będziesz musiał skorzystać z Dynamic Dns, w którym uruchamiasz oprogramowanie na serwerze i stale aktualizuje adres IP twojej nazwy domeny, co zwykle jest czymś przypisują. Możesz jednak skonfigurować w swojej domenie rekord CNAME wskazujący na rekord dynamicznego dostawcy dns.

3.) Osobiście nie powiedziałbym, że to powszechne, ale nie jest też rzadkie.

JCA122204
źródło
-2

Twoja strategia jest dość często stosowana, a jeśli kupiłeś publiczne IP, to całkiem dobrze jest iść.

Powinieneś dostać XAMPP. XAMMP jest wstępnie skonfigurowany i Apache domyślnie używa portu 80. Upewnij się, że żaden inny proces nie działa na porcie 80, w przeciwnym razie Apache nie uruchomi się. Zasadniczo Skype (jeśli używasz Skype'a) gra zepsuty sport i wieprzy port 80, musisz go wyłączyć w ustawieniach połączeń.

Zawiera Apache, PHP i Mysql, który zadba o wszystkie Twoje potrzeby. Tylko nie zapomnij dobrze go zabezpieczyć .

Pamiętaj tylko, że XAMPP nie jest oprogramowaniem produkcyjnym, ale powinno spełniać Twoje potrzeby hostingu osobistej witryny / bloga.

Jeszcze jedna rzecz, jeśli chcesz, aby ta strona była czynna 24 godziny na dobę, 7 dni w tygodniu, musisz utrzymywać komputer przez całą dobę.

Jeśli potrzebujesz bezpłatnej domeny, możesz uzyskać co.cc do użytku osobistego, a oni odnawiają ją co roku

rzlines
źródło