Pagina 1 di 1

Forwarding FTP su altra macchina

Inviato: dom 20 set , 2009 3:51 pm
da snowpunk
Ciao a tutti.

Ho un server linux (Debian) che da la connessione ad un'altra macchina linux (CentOS).
Sul server Debian (192.168.1.31 (eht1)) ho due interfacce di rete, eth1(192.168.0.1/24) da la connessione alla seconda macchina.
Sul server sono attivi più servizi tra cui FTP.
IL MIO PROBLEMA:

Ho la necessità di aprire un FTP secondario sulla macchina CentOS(192.168.0.3).
Ho provato ad aprire una porta arbitraria (la 5000) sulla macchina Debian, e ho impostato iptables in questo modo:

iptables -t nat -A PREROUTING -p tcp --dport 5000 -d 192.168.1.31 -j DNAT --to-destination 192.168.0.3:21

iptables -A FORWARD -s 192.168.0.3 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


Questo ovviamente funziona, ma non come dovrebbe, soprattutto pensando che il servizio FTP utilizza la modalità binaria per il trasferimento file.
Quindi nonostante la connessione sulla porta 5000 venga accettata e inoltrata alla macchina voluta, dopo l'autenticazione non è possibile eseguire comandi con output, mentre è possibile scaricare file e spostarsi fra le cartelle.

SOLUZIONI?? grazie in anticipo a tutti.

Inviato: dom 25 ott , 2009 3:32 pm
da marco.giuliani
Ciao. Il problema dovrebbe essere correlato all' ftp attivo/passivo.
Nel caso ti servisse, dai un'occhiata qui
http://slacksite.com/other/ftp.html

Ma non capisco una cosa:
se il server debian fa routing verso il server centos, perchè vuoi che un client della subnet 192.168.1.0/24 apra una sessione ftp con 192.168.1.31 porta 5000 anziché direttamente con 192.168.0.3 porta 21?

Per esempio, togliendo la regola di nat, il server debian dovrebbe essere configurato in questo modo....

modprobe ip_conntrack
modprobe ip_conntrack_ftp

iptables -A FORWARD -p tcp --dport 21 -s 192.168.1.0/24 -d 192.168.0.1 -j ACCEPT

iptables -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT

ciao!