Re: Поднять ftp сервер за NAT
Tue, 11 Sep 2007 14:47:45 +0400, "Угодай n/a" <ugoday@gmail.com>:
> но вот какие порты куда пробрасывать я не понимаю.
> судя по
> $ cat /etc/services|grep ftp
> ftp-data 20/tcp
> ftp 21/tcp
>
> destination-port это 20 и 21, но что такое to-port?
Почитайте RFC по протоколу FTP. Или хотя бы статью в википедии. В FTP
используется не одно TCP-соединение, а два. Одно контрольное, а другое
— для передачи данных. Там есть два режима работы: активный и
пассивный, разница в том, кто (клиент или сервер) инициирует соединение
для передачи данных.
В активном режиме клиент открывает произвольный порт с номером >1023,
сообщает о нём серверу, а сервер к нему должен подсоединиться. В
пассивном режиме — сервер открывает случайный порт с номером >1023,
сообщает о нём клиенту, а клиент должен к нему подсоединиться.
Такая работа протокола, очевидно, затрудняет его работу через NAT,
поскольку от NAT-устройства ещё требуется и номера портов в управляющем
соединении подменять или динамически изменять конфигурацию на лету.
http://en.wikipedia.org/wiki/File_Transfer_Protocol#FTP_and_NAT_devices
--
Мой линукс-блог: http://sovety.blogspot.com/
Reply to: