Вы здесь

FTP порт форвардинг с использованием Linux роутера

Давайте представим себе типичную ситуацию: у вас есть Linux роутер, который подключен к Интернету например через ADSL модем и у вас есть несколько компьютером в локальной сети, подключенных к роутеру через свичи и Wi-Fi.

Вы имеете внешний IP. назначенный на WAN интерфейсе роутера, тогда как FTP сервер имеет IP из локальной подсети, к примеру: 192.168.123.14 or 172.16.*.* or 10.*.*.*. Кроме того, вам необходимо разрешить доступ к FTP серверу с интернета. Для выполнения моих замыслов имеются различные способы, но сегодня мы воспользуемся форвардингом портов, так как почти в каждом роутере присутствует подобный функционал.

Итак, мы имеем следующую конфигурацию:
Internet <-> [a] router [b] <-> [c] FTP server
[a] это WAN интерфейс с IP 212.213.214.215, [b] это интерефейс роутера, смотрящий в локальную сеть, с IP адресом 192.168.0.1 и [c] это интерфейс сервера FTP с IP IP 192.168.0.2. Мы хотим, чтобы все пользователи Интернета имели доступ к FTP серверу используя IP 212.213.214.215 и порт 21.

Основная проблема заключается в том, что в пассивном режиме FTP использует любые порты из диапазона 1024-65535 , так что недостаточно перенаправить порты 21/20 к FTP серверу. Поэтому для начала настроим FTP сервер: зайдем на сервер и открокроем конфигурационный файл FTP сервера. Это может быть vsftpd, proftpd либо что либо ещё. Предположим что у нас установлелн vsftpd, в данном случае добавим следующие строчки в файле /etc/vsftpd.conf:

pasv_min_port=12000
pasv_max_port=13000

Когда сделаем эти изменения, перезапустим vsftpd.

Теперь подключаемся к роутеру и вводим следующее:

iptables -t nat -I PREROUTING -d 212.213.214.215 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.0.1
iptables -t nat -I PREROUTING -d 212.213.214.215 -p tcp -m tcp --dport 12000:13000 -j DNAT --to-destination 192.168.0.1

Это добавит правила перенаправление портов. которое перенаправит трафик, приходящий на 21 порт внешнего интерфейса роутера и будет правильно отрабатывать пассивный режим.
Оригинал статьи: http://guruadmin.ru/page/ftp-port-forwarding-using-linux-router.