piligrimm |
|
Темы:
29
Сообщения:
185
Участник с: 22 февраля 2009
|
Приветствую всех. Поднял на локальном компе тестовый vsftpd-сервер. Порт 20207 назначил. Из локальной сети, всё работает нормально. Но теперь необходимо, чтобы этот сервер был доступен извне. На шлюзе пытаюсь пробросить порт, не выходит. Делаю так: -A INPUT -d (внешний ip) -m state –state NEW -m tcp -p tcp –dport 20207 -j ACCEPT -A PREROUTING -p tcp -m tcp -d (внешний ip) –dport 20207 -j DNAT –to-destination (внутренний ip):20207 Где у меня косяк? |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Для протокола FTP недостаточно одного порта, ему нужно минимум два, поскольку в его рамках устанавливается два TCP-соединения – первое для управления (обычно это порт 22) и второе для данных. В “активном” режиме соединение для данных устанавливается от сервера к клиенту, в “пассивном” от клиента к серверу. Если клиент находится за NAT (выходит из локальной сети в интернет), он в общем случае не может работать в активном режиме. Для пассивного режима в конфигурации сервера обычно указывается не один порт, а диапазон портов для передачи данных. Если ваш сервер сам находится в локальной сети, то шлюз должен перенаправлять на сервер и порт для управления, и диапазон портов для данных. И разумеется, надо ещё разрешить форвардинг всего этого из интернета в локалку. Это можно сделать примерно так: iptables -t nat -A PREROUTING -i $WAN -p tcp --dport $PORT1 -j DNAT --to-destination $LOCALSERVER iptables -t nat -A PREROUTING -i $WAN -p tcp --dport $PORTS2 -j DNAT --to-destination $LOCALSERVER iptables -A FORWARD -i $WAN -p tcp -d $LOCALSERVER -j ACCEPT Подразумевается, что форвардинг ответных пакетов соединений на шлюзе уже включён. P.S. А цепочка INPUT тут совсем ни при чём – она работает только с пакетами, предназначенными самому шлюзу. Подробнее схему прохождения пакетами цепочек см. в Iptables Tutorial. По-русски: http://www.opennet.ru/docs/RUS/iptables … INGGENERAL |
piligrimm |
|
Темы:
29
Сообщения:
185
Участник с: 22 февраля 2009
|
Большое спасибо за информацию! Завтра займусь. Отпишусь подробней. |