Назад | Перейти на главную страницу

как изменить ip-адрес пассивного режима ftp для работы haproxy в качестве резервного прокси?

У меня есть ftp-сервер в локальной сети, адрес 192.168.1.11 Я использовал haproxy, потому что он нужен многим другим сервисам

Я установил haproxy на свой 192.168.1.1 на той же машине, что и наш soft-route (ubuntu 14.04)

Моя конфигурация haproxy:

frontend ao3-ftp
bind ftp.ao3.com.au:21
bind ftp.ao3.com.au:20
bind ftp.ao3.com.au:5000-5100
default_backend myftp

 backend myftp 
server server1 192.168.1.11

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

Status: Connected, waiting for welcome message...
Reply: 220-FileZilla Server version 0.9.41 beta
Reply: 220 Hi welcome to Ao3 ftp Server
Reply: 200 Don't care
Command: USER ingram
Reply: 331 Password required for ingram
Command: PASS ***********
Reply: 230 Logged on
Command: SYST
Reply: 215 UNIX emulated by FileZilla
Command: FEAT
Reply: 211-Features:
Reply: MDTM
Reply: REST STREAM
Reply: SIZE
Reply: MLST type*;size*;modify*
Reply: MLSD
Reply: UTF8
Reply: CLNT
Reply: MFMT
Reply: 211 End
Command: PWD
Reply: 257 "/" is current directory.
Status: Current path is /
Command: TYPE I
Reply: 200 Type set to I
Command: PASV
Reply: 227 Entering Passive Mode (192,168,1,11,19,144) ---here the problem
Error: Server returned unroutable private IP address in PASV reply

Вы можете видеть, что IP-адрес по-прежнему является моим внутренним IP-адресом в Интернете, поэтому клиент внешней компании не может передавать данные, поскольку не может найти этот IP-адрес. Предоставляет ли haproxy способ изменить свой внутренний IP-адрес на внешний IP-адрес? Может ли это iptables?

Просто попросите FTP-сервер FileZilla объявить правильный внешний IP-адрес, используемый HA-прокси, что вы можете настроить в Параметры -> Настройки пассивного режима

Обычно ядро ​​Linux использует вспомогательные модули, которые сканируют канал команд FTP с открытым текстом для ответа PASV, чтобы динамически изменять его на правильный ответ NAT и / или динамически открывать соответствующий сетевой порт в iptables, но я не знаю, HA- у прокси есть такой помощник протокола FTP.