Skocz do zawartości

Problem Z Udostępnieniem Ftp Na Zewnątrz Przez Przeglądarkę


Marcin Ostrowski

Rekomendowane odpowiedzi

Mam serwer FTP (vsftpd) - osobna maszyna w sieci na adresie 10.0.0.4. Serwer działa prawidłowo - tzn. na zewnątrz można się normalnie do niego zalogować używając klienta FTP (np. wbudowany w TotalCommandera)

Problem jest gdy ktoś chce się połączyć z moim FTP za pomocą przeglądarki internetowej. Prawdopodobnie coś mi blokuje firewall (dodam że wewnątrz sieci mogę zalogować się przez przeglądarkę)

Jako firewalla używam IPTABLES (serwer - bramka internetowa postawiona na Fedorze pełni rolę firewalla)

Jak mam ustawić przekierowania żeby zaczęło to działać z poza sieci lokalnej.

 

w tej chwili mam takie wpisy w iptables (w kodzie poniżej zmieniłem mój publiczny adres IP )

 

-A PREROUTING -d 78.128.168.134 -p tcp -m tcp --dport 21 -j DNAT --to-destination 10.0.0.4:21
-A PREROUTING -d 78.128.168.134 -p udp -m udp --dport 21 -j DNAT --to-destination 10.0.0.4:21

-A PREROUTING -d 78.128.168.134 -p tcp -m tcp --dport 50000 -j DNAT --to-destination 10.0.0.4:50000

-A FORWARD -p tcp -d 10.0.0.4 --dport 50000 -j ACCEPT

-A INETIN -p udp -m udp --dport 21 -j UDPACCEPT
-A INETIN -p tcp -m tcp --dport 21 -j TCPACCEPT
-A INETIN -p tcp -m tcp --sport 21 -j TCPACCEPT

-A INETIN -p tcp -m tcp --dport 50000 -j TCPACCEPT
-A INETIN -p udp -m udp --dport 50000 -j UDPACCEPT

 

niestety żaden z tych wpisów nie załatwił mi możliwości dostania się z poza sieci lokalnej do FTP za pomocą przeglądarki. Proszę o pomoc w konfiguracji iptables aby to przepuścić.

Odnośnik do komentarza
Udostępnij na innych stronach

Przed rejectem, czy tez jako ostatnia regule (jezeli uzywacz polityki domyslnej) w łancuchu INPUT dodaj:

iptables -A INPUT -j LOG

 

spróbuj się przeglądarką połączyć i zobacz w logach co jest blokowane.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Lamerska rada: wyłącz na chwilę zaporę i sprawdź wtedy.

 

Wyeliminujemy problem dot. konfiguracji samej usługi.

 

Ja bym nie powiedział, że lamerska... jest to jedna z zalecanych metod troubleshootingu, którą propnuje na szkoleniach :)

Odnośnik do komentarza
Udostępnij na innych stronach

Lamerska rada: wyłącz na chwilę zaporę i sprawdź wtedy.

 

Wyeliminujemy problem dot. konfiguracji samej usługi.

 

 

chyba nie czytałeś dokładnie mojego postu, usługa jest poprawnie skonfigurowana, wewnątrz sieci działa zarówno przez klienta jak i przeglądarkę. Problem jest z połączeniem z poza sieci - via przeglądarka. więc ewidentynie blokuje ją firewall.

Odnośnik do komentarza
Udostępnij na innych stronach

:huh: ani z tego ani z poprzedniego Twojego posta nie wynika, że: Przy wyłączonym firewallu można prawidłowo połączyć się z serwerem ftp za pomocą przeglądarki internetowej używając do tego komputera niepodłączonego do sieci lokalnej, w której znajduje się ten serwer. Czy to zdanie jest prawdziwe? Tylko wtedy ma sens Twoje stwierdzenie, że:

więc ewidentynie blokuje ją firewall.
Odnośnik do komentarza
Udostępnij na innych stronach

To chyba zależy jak skonfigurowany jest router, który łączy sieć lokalną z publiczną. Na nim też musisz forwardować porty.

 

W 1 poście załączyłem listing jak i które porty forwarduję. Dodam że firewall i router to jest jedna i ta sama maszyna.

Więc może ktoś podpowie w jaki sposób mam robić forward? bo faktycznie może to nie jest kwestia blokady firewalla tylko błędnego forwardu.

Odnośnik do komentarza
Udostępnij na innych stronach

Na iptables się nijak znam, ale jeśli uważasz że regułki masz ok, to sprawdź ich kolejność. Jest ważna, bo jeśli wcześniej masz że porty mają być blokowane, to iptables nie patrzy już na następne (przepuszczania). Musisz ustawić najpierw forward i przepuszczanie, a potem blokadę na wszystko.

Odnośnik do komentarza
Udostępnij na innych stronach

kolejność jest raczej dobra (ręki odciąć sobie nie dam...)

raczej brakuje mi czegoś?

Napiszę jeszcze tak: jak chcę cobie przekierować jakiś port dla klientów z poza LAN aby mogli się polączyć z jakąś usługą wewnętrzną używam takiej składni:

-A PREROUTING -d 78.128.168.134 -p tcp -m tcp --dport 50000 -j DNAT --to-destination 10.0.0.4:50000

 

w tym przypadku aby zadzialał tryb PASSV należy odblokować porty z zakresu 50000:60000 - niestety iptables nie przyjmuje takiego zapisu

-A PREROUTING -d 78.128.168.134 -p tcp -m tcp --dport 50000:60000 -j DNAT --to-destination 10.0.0.4:50000:60000

może tu jest błąd?

w jaki sposób to zastąpić - próbowałem zwykłym

-A FORWARD -p tcp -d 10.0.0.4 --dport 50000:60000 -j ACCEPT

ale bez skutku

przeglądarka zwraca mi taki błąd: 425 Failed to establish connection

Z kolei jak w kliencie FTP (TotalCommander) w opcjach zaznaczę opję użyj trybu pasywnego jak w przeglądarce www to mogę się połączyć z komputera będącego poza siecią LAN.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...