Serwer WWW Apache działa lokalnie, nie globalnie

1

Byłem przy tym przez pewien wieczór i pomyślałem, że szukam pomocy, zanim uderzę w worek. Z powodzeniem pobrałem Apache i mogę go uruchomić bez żadnych problemów na Fedorze 16 Box działającej jako serwer WWW. Udało mi się stworzyć strony, które można wyświetlać lokalnie.

Podsumowując

Z Fedory Box mogę uzyskać dostęp do moich stron za pośrednictwem przeglądarki internetowej pod adresem

  • 127.0.0.1, a także lokalny adres IP.

Z okna systemu Windows w tej samej sieci domowej, z której mogę uzyskać dostęp do strony

  • jego lokalny adres IP.

Z obu maszyn mogę pomyślnie pingować globalny adres IP (dostarczony przez whatsmyip.org)

O ile mi wiadomo, problem dotyczy routera. Musiałem ponownie załadować kopię zapasową dwa razy tej nocy, ponieważ ciągle niszczyłem różne rzeczy (pamiętajcie, ludzie oszczędzają FTW). Czy może być którykolwiek z poniższych problemów z routerem lub serwerem internetowym? Poniższa lista podsumowuje to, co próbowałem i co w tej chwili zostało włączone.

  • Obecnie router ma włączoną translację NAT.
  • Zapora routera jest wyłączona
  • Próbowałem przekierować port 80. Użyłem lokalnego adresu serwera WWW jako portu przekierowującego
  • Protokół HTTP został włączony w zaporze linux na serwerze WWW
  • Internet wchodzi do domu w następujący sposób
    • Modem dostarczony przez dostawcę usług internetowych >> Mój osobisty router >> Indywidualne urządzenie

Edycja: Według mojego dostawcy Internetu port 80 jest blokowany w następujący sposób. Czy może to stanowić większy problem, czy też odpowiedź RedGrittyBrick może temu zaradzić

  • Port = 80
  • Transport = TCP
  • Protokół = HTTP
  • Kierunek = przychodzący
Sealz
źródło
na jakim urządzeniu masz włączone przekierowanie portów?
daya
@daya Na routerze. A jeśli ktoś jest ciekawy, to EnGenius ESR9850
sealz

Odpowiedzi:

1

Przekierowanie portów

Podczas konfigurowania przekierowania portów musisz mieć poprawne trzy parametry:

  • port zewnętrzny , zwykle 80 dla HTTP.
  • wewnętrzny adres IP serwera, często 192.168.1.x
  • wewnętrzny port dla usługi HTTP na serwerze wewnętrznym, zwykle zwykle 80.

Blokowanie portów ISP

Pamiętaj, że serwer sieciowy na linii ADSL będzie miał słabą wydajność i może złamać warunki usługi ISP - z tego powodu może on blokować ruch przychodzący. Spróbuj ustawić wysoki numer portu zewnętrznego (np. 30080), pozostawiając port wewnętrzny na 80, a następnie podaj zewnętrznej przeglądarce adres URL http://<external IP>:30080/

RedGrittyBrick
źródło
Po dodatkowych badaniach wydaje się, że mój dostawca usług internetowych może zablokować port 80. Czy ustawiłbym port zewnętrzny w pliku httpd.conf? Próbowałem 123.123.123.123, a także 123.123.123.123:80.
sealz
A może byłoby to bardziej zgodne z tym, czego potrzebuję: rootatwc.com/blog/article/1
sealz
@ harper89: Nie port zewnętrzny jest ustawiony w konfiguracji przekierowania portów routera. Numer portu wewnętrznego serwera WWW może pozostać taki sam. Nazywa się to czasem PAT (Port Address Translation). Jeśli twój router nie może wykonać PAT w ramach przekierowania portów, wtedy i tylko wtedy konieczna byłaby zmiana portu, na którym nasłuchuje serwer WWW (w takim przypadku możesz dla wygody ustawić dwa numery portów: 80 i 30080) )
RedGrittyBrick
@ harper89: ten artykuł na blogu ma zastosowanie, jeśli router jest bardzo prosty i nie ma możliwości przekierowania portów na port.
RedGrittyBrick
Dzięki, że pobawię się nim po pracy, ktoś jeszcze dla mnie daje +1.
sealz
2

Zakładam, że Twoim problemem jest to, że nie możesz uzyskać dostępu do serwera internetowego z jego adresu publicznego z sieci lokalnej - z tej samej sieci, w której znajduje się serwer.

Wynika to z faktu, że większość domowych routerów nie obsługuje przypinania włosów, co jest techniką wykonywania podwójnego nat / unat, która jest wymagana do zarządzania połączeniami wchodzącymi i wychodzącymi z tego samego interfejsu.

Podczas pingowania adresu globalnego najprawdopodobniej router odpowiada, a nie serwer WWW.

Rozważenie użycia podzielonego DNS w celu uzyskania dostępu do serwera, gdzie wewnętrznie nazwa dns jest tłumaczona na prywatny adres, a zewnętrznie na publiczny adres.

Paweł
źródło