Program do sprzedaży nie łączy się przez ftp

Te, które nie mieszczą się w powyższych kategoriach, a mają coś wspólnego ze Slackware.

Moderatorzy: Moderatorzy, Administratorzy

baczek79
Użytkownik
Posty: 8
Rejestracja: 2006-04-21, 10:40

Program do sprzedaży nie łączy się przez ftp

Post autor: baczek79 » 2009-11-14, 19:48

Witam.


Jeden z klientów prowadzi sklep.Zainstalował sobie nowy program który wysyła automatycznie zamówienia do hurtowni.

Problem w tym że program podobno komunikuje się automatycznie przez ftp na porcie 21 ale nie może się wysłać lub odebrać danych.
Dodam że na tym kompie można normalnie wejsc na ftp i się zalogować.

Jak sprawdzić co jest źle lub który z portów jest zablokowany ?


liczę na waszą pomoc i pozdrawiam

Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: Pajaczek » 2009-11-14, 19:59

Zobacz czy w programie możesz sobie przestawić tryb ftp na pasywny (passiv).

baczek79
Użytkownik
Posty: 8
Rejestracja: 2006-04-21, 10:40

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: baczek79 » 2009-11-14, 20:02

A jeśli nie ma takiej opcji ?

Jaką wpisać regułkę na serwerze? Może taką ?

iptables -A INPUT -i eth0 -p tcp --sport 20 -j ACCEPT

Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: Pajaczek » 2009-11-14, 20:21

Po pierwsze to napewno nie INPUT, bo to nie Ty masz wpuszczać, tylko przekazywać, więc FORWARD. Po wtóre to sport na pewno nie będzie 20, co najwyżej dport. Po trzecie... to pewnie i tak masz gdzieś ACCEPT dla tych pakietów. Po czwarte wreszcie... rozwiązaniem było by przeforwardowanie portu 20 dla tego klienta. Ale taki klient może być tylko 1 na każde ip (i port) ;)

baczek79
Użytkownik
Posty: 8
Rejestracja: 2006-04-21, 10:40

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: baczek79 » 2009-11-14, 20:47

Odpalilem sniffita i widze ze program laczy sie na porcie 21.

W jaki sposob zlogować przesledzic problem ?

Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: Pajaczek » 2009-11-14, 21:21

Jeśli to klasyczny ftp, to na 21 nawiązuje połączenie i prowadzi negocjacje, lecz będzie oczekiwał połączenia na porcie 20 w celu wymiany danych. Problem w tym, że druga strona nie będzie potrafiła się na ten 20 dostać. Od tego jest właśnie tryb passiv, albo forwardowanie portów na routerze.

baczek79
Użytkownik
Posty: 8
Rejestracja: 2006-04-21, 10:40

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: baczek79 » 2009-11-14, 21:46

a więc jeśli nie da się ustawić w programie passiv jak powinny wyglądać te regułki?

Awatar użytkownika
ondreyos
Użytkownik
Posty: 331
Rejestracja: 2007-11-01, 17:31
Lokalizacja: Poznań

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: ondreyos » 2009-11-16, 01:22

No zasadniczo regulka do przekierowania portow powinna wygladac tak

Kod: Zaznacz cały

iptables -t nat -I PREROUTING -p tcp --dport 1234 -j DNAT --to 1.2.3.4:5678
Mozesz wpisac kilka innych parametrow - np. -i zeby okreslic ktorego interfejsu ma to dotyczyc, czy -d zeby doprecyzować dla jakiego adresu docelowego polaczenia maja byc przekierowywane.

A co do pozostalych fragmentow: 1234 to jest przekierowywany port, adres (1.2.3.4) to jest adres komputera za maskarada, do ktorego przekierowany ruch ma trafic. Ostatnia czesc, czyli :5678 to jest port na komputerze docelowym (czyli tym, do ktorego trafia przekierowanie), na ktorym nasluchuje usluga. Ten fragment mozna pominac - wtedy port bedzie taki sam, jak podany w dport (w moim przykladzie polaczenia dochodzace do serwera na porcie 1234 trafiaja do maszyny o adresie 1.2.3.4 na port 5678)

Poniewaz mowimy o ftp, wiec powinienes dac dwie regulki, jak pisali koledzy - dla portu 20 i 21. Chociaz w tym wypadku nie jest to konieczne, ale mozesz obie regulki (dla portu 20 i 21) powtorzyc, zmieniajac -p tcp na -p udp. Nie wiem, jak masz zbudowanego firewalla, byc moze zamiast -I PREROUTING powinienes dac -A

Minusem tego przekierowania jest (o czym tez koledzy wczesniej pisali), ze tylko jeden klient moze byc w ten sposob "uszczesliwiony" dla jednego adresu ip serwera.

baczek79
Użytkownik
Posty: 8
Rejestracja: 2006-04-21, 10:40

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: baczek79 » 2009-11-16, 13:46

Dzięki za odpowiedź, będę dzisiaj kombinował.
A firewall wygląda tak. Czyli powinienem dać -A zamiast -I PREROUTING ?




# Czyszczenie tablic iptables (NAT i Filtrowanie)
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

# Odrzucenie i brak zezwolenia na forwardowanie pakietow
iptables -t filter -P FORWARD DROP

# Przepuszczanie pakietow z sieci lub przeznaczone dla sieci
iptables -t filter -A FORWARD -s 192.168.1.0/255.255.255.0 -d 0/0 -j ACCEPT
iptables -t filter -A FORWARD -s 0/0 -d 192.168.1.0/255.255.255.0 -j ACCEPT





# Udostepanianie Internetu przez Maskarade
###############################################################################
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE #

iptables -t nat -A POSTROUTING -s 192.168.1.2 -d 0/0 -j MASQUERADE #admin
iptables -t nat -A POSTROUTING -s 192.168.1.3 -d 0/0 -j MASQUERADE #notebus
Ostatnio zmieniony 2009-11-16, 13:47 przez baczek79, łącznie zmieniany 1 raz.

Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: Pajaczek » 2009-11-16, 17:53

Po pierwsze, tego typu do wstawki używaj

Kod: Zaznacz cały

.

Po drugie, nie ma znaczenia tutaj czy -I czy -A, bo w PREROUTING i tak nie masz nic więcej. 

A po trzecie, to już do [b]ondreyos[/b], w tym przypadku forward 21 portu nie będzie chyba konieczny, chodzi tylko o zwrotkę na porcie 20. Choć na pewno nie zaszkodzi.

Awatar użytkownika
bojleros
Użytkownik
Posty: 785
Rejestracja: 2005-08-29, 11:12
Lokalizacja: z widokem na familoki :)
Kontakt:

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: bojleros » 2009-11-16, 18:07

A nie jest to tak że jądro posiada odpowiednie wsparcie dla protokołu ftp w conntracku ?

Awatar użytkownika
ondreyos
Użytkownik
Posty: 331
Rejestracja: 2007-11-01, 17:31
Lokalizacja: Poznań

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: ondreyos » 2009-11-16, 21:49

1) Jak napisal Pajaczek - w twoim przypadku nie ma znaczenia, czy dasz -I czy -A. Tak poza konkursem - mozesz wywalic z twoich regulek fragmenty "-d 0/0" i "-s 0/0" - oznaczaja one, ze regulka dotyczy wszystkich adersow docelowych/zrodlowych - a w wypadku pominiecia tych parametrow, domyslnie przyjete jest takie samo zalozenie

2) Co do portu 21 - byc moze ;) Dawno sie tym nie bawilem. Ale jak sam napisales - dodatkowe przekierowanie nie zaszkodzi ;)

3)
Jak sprawdzić[...] który z portów jest zablokowany ?
Rzucilem jeszcze raz okiem na pierwszego posta i zauwazylem ten fragment - nie wiem czemu, przedtem go ominalem ;) Ogolnie zeby sprawdzic czy port nie jest gdzies zablokowany - odpal na innym komputerze (oczywiscie komputerze spoza sieci w ktorej jest testowany komp.) jakas usluge - chociazby serwer WWW na porcie 20, 21 czy jakimkolwiek innym jaki chcesz sprawdzic i zobacz, czy mozesz sie polaczyc (chociazby wpisujac w przegladarke adres http://22.33.44.55:21)

baczek79
Użytkownik
Posty: 8
Rejestracja: 2006-04-21, 10:40

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: baczek79 » 2009-11-20, 20:36

Nadal jestem w lesie.Próbowałem powyższych regułek ale nic to nie pomaga.


Serwer ftp to 212.244.6.2 może potraficie jakoś go sprawdzić jak działa?

Awatar użytkownika
ondreyos
Użytkownik
Posty: 331
Rejestracja: 2007-11-01, 17:31
Lokalizacja: Poznań

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: ondreyos » 2009-11-20, 20:52

Byc moze twoj problem, z ktorym sie meczymy od kilku dni, nie polega na zlych regulkach firewalla czy poblokowanych portach, ale na braku znajomosci hasla i/lub loginu do serwera FTP. Sprobowalem sie polaczyc z podanym przez ciebie adresem i oto, co mi sie pojawilo:

Kod: Zaznacz cały

Connect to: (2009-1 1-20 20:43:59)
hostname=212.244.6.2
usemame =anonymous
startdir=
220 Sewer (ProFTPD) [PLD]
USER anonymous
331 Password required for anonymous
530 Login incorect.
QUIT
Retry: Wait 5 sec
220 Sewer (ProFTPD) [PLD]
USER anonymous
331 Password required for anonymous
530 Login incorect.
QUIT
Retry: Wait 5 sec
Jak widzisz, nie moze sie polaczyc, bo nie zna loginu i hasla. Gdy dzieje sie to z poziomu programu do ksiegowosci, to prawdopodobnie nie masz wgladu do logu - po prostu program nie moze sie polaczyc, nie pisze dokladnie, co go boli, a my szukamy nie tam, gdzie powinnismy ;)
Ostatnio zmieniony 2009-11-20, 20:54 przez ondreyos, łącznie zmieniany 1 raz.

baczek79
Użytkownik
Posty: 8
Rejestracja: 2006-04-21, 10:40

Re: Program do sprzedaży nie łączy się przez ftp

Post autor: baczek79 » 2009-11-20, 20:57

Program ma dobre ustawienia(login i haslo) bo jak wpiąłem się bezpośrednio w DSL-a to działa prawidłowo.

Dlatego coś jest źle ustawione w firewallu.

A czy czasami nie brakuje jakiegoś modułu?
Ostatnio zmieniony 2009-11-20, 21:04 przez baczek79, łącznie zmieniany 1 raz.

ODPOWIEDZ