Strona 1 z 2

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

: 2009-11-14, 19:48
autor: baczek79
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

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

: 2009-11-14, 19:59
autor: Pajaczek
Zobacz czy w programie możesz sobie przestawić tryb ftp na pasywny (passiv).

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

: 2009-11-14, 20:02
autor: baczek79
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

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

: 2009-11-14, 20:21
autor: Pajaczek
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) ;)

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

: 2009-11-14, 20:47
autor: baczek79
Odpalilem sniffita i widze ze program laczy sie na porcie 21.

W jaki sposob zlogować przesledzic problem ?

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

: 2009-11-14, 21:21
autor: Pajaczek
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.

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

: 2009-11-14, 21:46
autor: baczek79
a więc jeśli nie da się ustawić w programie passiv jak powinny wyglądać te regułki?

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

: 2009-11-16, 01:22
autor: ondreyos
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.

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

: 2009-11-16, 13:46
autor: baczek79
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

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

: 2009-11-16, 17:53
autor: Pajaczek
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.

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

: 2009-11-16, 18:07
autor: bojleros
A nie jest to tak że jądro posiada odpowiednie wsparcie dla protokołu ftp w conntracku ?

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

: 2009-11-16, 21:49
autor: ondreyos
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)

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

: 2009-11-20, 20:36
autor: baczek79
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?

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

: 2009-11-20, 20:52
autor: ondreyos
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 ;)

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

: 2009-11-20, 20:57
autor: baczek79
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?