Передайте FTP другому Серверу

Я пытаюсь передать все входящие соединения FTP в Server к другому Серверу B. Я попробовал это использование iptables и могу соединиться в первом шаге. Проблема состоит в том, что после перехода к пассивному режиму и отправки команды MLSD я получаю a GnuTLS-Error -110: The TLS connection was non-properly terminated и мое соединение прерывается. Я должен использовать пассивного ftp.

Сервер (прокси):

  • IP 192.168.178.20
  • Передача IPv4 активна
  • nf_nat_ftp активен
  • nf_conntrack_ftp активен

iptables:

# general rules for forwarding traffic between external interface tap0 and internal interface eth0
iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE
iptables -A FORWARD -i tap0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tap0 -j ACCEPT

# NAT for active/passive FTP. 192.168.178.21 would be your internal ftp server
iptables -t nat -A PREROUTING  -p tcp  --dport 20 -j DNAT --to 192.168.178.21:20
iptables -t nat -A PREROUTING  -p tcp  --dport 21 -j DNAT --to 192.168.178.21:21
iptables -t nat -A PREROUTING  -p tcp  --dport 1024:65535 -j DNAT --to 192.168.178.21:1024-65535
iptables -A FORWARD -s 192.168.178.21 -p tcp --sport 20 -j ACCEPT
iptables -A FORWARD -s 192.168.178.21 -p tcp --sport 21 -j ACCEPT
iptables -A FORWARD -s 192.168.178.21 -p tcp --sport 1024:65535 -j ACCEPT

# allowing active/passive FTP
iptables -A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

(Немецкий) Файл регистрации соединений от FileZilla для проксирования:

Status:         Verbindung hergestellt, warte auf Willkommensnachricht...
Status:         Initialisiere TLS...
Status:         Überprüfe Zertifikat...
Status:         TLS-Verbindung hergestellt.
Status:         Angemeldet
Status:         Empfange Verzeichnisinhalt...
Befehl:         PWD
Antwort:        257 "/" is your current location
Befehl:         TYPE I
Antwort:        200 TYPE is now 8-bit binary
Befehl:         PASV
Antwort:        227 Entering Passive Mode (192,168,178,21,156,206)
Befehl:         MLSD
Fehler:         GnuTLS-Fehler -110: The TLS connection was non-properly terminated.
Status:         Server hat die TLS-Verbindung nicht ordnungsgemäß geschlossen
Fehler:         Übertragungsverbindung unterbrochen: ECONNABORTED - Verbindung abgebrochen
Fehler:         Anzeigen des Verzeichnisinhalts durch Benutzer abgebrochen

Сервер B (FTP-сервер):

  • чистое-ftpd использование
  • IP 192.168.178.21
  • FTP-сервер использует порты 40110-40210

Системный журнал от FTP-сервера, когда соединение через прокси прибывает:

Jun 30 20:06:02 ftpserver pure-ftpd: (?@192.168.178.20) [INFO] New connection from 192.168.178.20
Jun 30 20:06:02 ftpserver pure-ftpd: (?@192.168.178.20) [DEBUG] Command [auth] [TLS]
Jun 30 20:06:02 ftpserver pure-ftpd: (?@192.168.178.20) [INFO] SSL/TLS: Enabled TLSv1/SSLv3 with AES256-GCM-SHA384, 256 secret bits cipher
Jun 30 20:06:03 ftpserver pure-ftpd: (?@192.168.178.20) [DEBUG] Command [user] [ftpuser_1]
Jun 30 20:06:03 ftpserver pure-ftpd: (?@192.168.178.20) [DEBUG] Command [pass] []
Jun 30 20:06:03 ftpserver pure-ftpd: (?@192.168.178.20) [INFO] ftpuser_1 is now logged in
Jun 30 20:06:03 ftpserver pure-ftpd: (ftpuser_1@192.168.178.20) [DEBUG] Command [opts] [UTF8 ON]
Jun 30 20:06:03 ftpserver pure-ftpd: (ftpuser_1@192.168.178.20) [DEBUG] Command [pbsz] [0]
Jun 30 20:06:03 ftpserver pure-ftpd: (ftpuser_1@192.168.178.20) [DEBUG] Command [prot] [P]
Jun 30 20:06:03 ftpserver pure-ftpd: (ftpuser_1@192.168.178.20) [DEBUG] Command [pwd] []
Jun 30 20:06:04 ftpserver pure-ftpd: (ftpuser_1@192.168.178.20) [DEBUG] Command [type] [I]
Jun 30 20:06:04 ftpserver pure-ftpd: (ftpuser_1@192.168.178.20) [DEBUG] Command [pasv] []
Jun 30 20:06:04 ftpserver pure-ftpd: (ftpuser_1@192.168.178.20) [DEBUG] Command [mlsd] []

Я могу соединиться с FTP-сервером непосредственно, таким образом, я задавался вопросом, должен ли я думать о tls.

2
задан 30 June 2017 в 16:37

0 ответов

Другие вопросы по тегам:

Похожие вопросы: