Пробросить порт с определенного адреса на другой адрес
JIyHoXoD 31 октября, 2008 - 01:43
На локальном айпишнике (yyy) запущено два фтп-демона на портах 2021 и 2022. Требуется с внешнего адреса (xxx) перенаправлять все ftp-запросы по портам, в зависимости от адреса. Допустим, адрес aaa отправить на порт 2021, а все остальные - на 2022. Делаю следующие правила:
iptables -t nat -A PREROUTING -p tcp -d xxx -s aaa --dport 21 -j DNAT --to-destination yyy:2021
iptables -t nat -A PREROUTING -p tcp -d xxx --dport 21 -j DNAT --to-destination yyy:2022
В итоге адрес aaa все равно пробрасывает на 2022й порт. Что я упустил из виду? И как правильно реализовать то, что я хочу?
»
- Для комментирования войдите или зарегистрируйтесь
Вроде вы все верно написали.
Вроде вы все верно написали. Включен ли net.ipv4.ip_forward = 1 ?
net.ipv4.ip_forward
Да, включен. Через этот комп в инет еще 2 ходят.
JIyHoXoD wrote: iptables -t
Жирным выделено то, что меня немного смущает, а что если
Или я не правильно понял задачу?!
JIyHoXoD wrote:На локальном
Как бы Вы не мучились ничего у Вас не выйдет!!!
FTP по своему роду и характеру генерирует самостоятельно порты (вхождение в папку, копирование etc).
Тобиш коды к вашему xxx конектишся идёт проброс на yyy 2021 но сразу после этого порт 2021 ftp демон меняет на 5421(пример.)
Речь не об этом
Как я понимаю речь не об этом. Ему все равно на каком порту будет сокет после установки соединения. Автору хочется чтобы соединение устанавливалось на определнном порту. Если я, конечно, правильно понял.
А что подразумевается под
А что подразумевается под адресом? Правильно ли я понимаю, что это адрес клиента и один клиент должен попадат на ftp, который находится на одном порту, а другой клиент на тот, что на другом порту?
Частично решил проблему
Да, все именно так. Нужные мне айпишники перенаправляются на порт с анонимным фтп, остальные на порт, где фтп требует авторизации.
Частично решил эту задачу, повесив фтп-демонов на внешний адрес и делая REDIRECT.
А перенаправление на порты локального айпишника так и не завелось.
iptables -t nat -A PREROUTING
iptables -t nat -A PREROUTING -p tcp -d xxx -s aaa --dport 21 -j DNAT --to-destination yyy:2021
iptables -t nat -A PREROUTING -p tcp -d xxx -s ! aaa --dport 21 -j DNAT --to-destination yyy:2022