Сделать стартовойДобавить в закладки  
Главная страничка Главная страничка
В номере:

    Выходит с 17 июля 2008 г. цена договорная

    Опрос

    Windows Mobile
    Symbian
    Android
    iPhone
    Linux
    другая
    не знаю
    у меня обычный телефон



    Календарь
    «    Апрель 2009    »
    ПнВтСрЧтПтСбВс
     12345
    6789101112
    13141516171819
    20212223242526
    27282930 

    Архив новостей
    Февраль 2021 (3)
    Январь 2021 (1)
    Ноябрь 2020 (2)
    Июль 2020 (2)
    Июнь 2020 (3)
    Май 2020 (1)

    Информация
    Разрешение доступа к ФТП средствами iptables
    OS, мобильные OS » Linux
    автор: dimon, опубликовано: 16 апреля 2009

    Есть локальная сеть компьютеры которой вылазят в инте через сервер с Линуксом.
    Необходимо средствами iptables разрешить доступ компьютерам локальной сети к ФТП серверам в интернете.

    Для этого добавим в файл /etc/sysconfig/iptables правила:

    #FTP
    -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp --dport 21 -j ACCEPT


    Теперь в таблице NAT нужно добавить правило (в файле /etc/sysconfig/iptables после строки *nat):

    -A POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 21 -j MASQUERADE


    где 192.168.0.0/255.255.255.0 - наша локальная сеть.

    Однако, после добавления этих правил доступ к FTP серверами из локальной сети получить так и не удалось.

    Все дело оказалось в том, что протокол ФТП несет дополнительную информацию о соединении в области данных пакета. Соответственно корректная трассировка таких соединений требует подключения дополнительных вспомогательных модулей.

    Протокол FTP сначала открывает одиночное соединение, которое называется "сеансом управления FTP" (FTP control session). При выполнении команд в пределах этого сеанса, для передачи сопутствующих данных открываются дополнительные порты. Эти соединения могут быть активными или пассивными. При создании активного соединения клиент передает FTP серверу номер порта и IP адрес для соединения. Затем клент открывает порт, сервер подключает к заданному порту клиента свой порт с номером 20 (известный как FTP-Data) и передает данные через установленное соединение.

    Проблема состоит в том, что iptables ничего не знает об этих дополнительных подключениях, поскольку вся информация о них передается через область данных пакета. Из-за этого iptables не позволит серверу соединиться с указанным портом клиента.

    Решение проблемы состоит в добавлении специального вспомогательного модуля трассировки, который отслеживает, специфичную для данного протокола, информацию в области данных пакетов, передаваемых в рамках сеанса управления. При создании такого соединения, вспомогательный модуль корректно воспримет передаваемую информацию и создаст соответствующую запись в таблице трассировщика со статусом RELATED, благодаря чему соединение будет установлено.

    Пассивный FTP действует противоположным образом. Клиент посылает запрос серверу на получение данных, а сервер возвращает клиенту IP адрес и номер порта для подключения. Клиент подключает свой 20-й порт (FTP-data) к указанному порту сервера и получает запрошенные данные. Если ваш FTP сервер находится за брандмауэром(iptables), то нам потребуется этот вспомогательный модуль для того, чтобы сервер смог обслуживать клиентов из Интернет. То же самое касается случая, когда мы хотим ограничить своих пользователей только возможностью подключения к HTTP и FTP серверам в Интернет и закрыть все остальные порты.

    Поэтому необходимо подключить дополнительный вспомогательный модуль данном ip_nat_ftp.
    Это осуществляется добавлением в файл /etc/sysconfig/iptables-config следующих строк:

    # Additional iptables modules (nat helper)
    # Default: -empty-
    IPTABLES_MODULES="ip_nat_ftp"


    Перед этим естественно нужно проверить есть ли такие модули в системе:

    [root@srv sysconfig]# modprobe -l | grep nat
    /lib/modules/2.6.9-42.ELsmp/kernel/net/bridge/netfilter/ebtable_nat.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/bridge/netfilter/ebt_dnat.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/bridge/netfilter/ebt_snat.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/iptable_nat.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_nat_snmp_basic.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_nat_ftp.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_nat_tftp.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_nat_amanda.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_nat_irc.ko
    /lib/modules/2.6.9-42.ELsmp/kernel/drivers/net/natsemi.ko

     
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Чтобы Вам были доступны все функции Вам необходимо либо зарегистрироваться, либо зайти на сайт под своим именем.

    Другие новости по теме:

  • Утилиты командной строки для диагностики TCP/IP
  • Второй ip алиасом на Windows
  • Пробрасывание порта средствами iptables внутрь локальной сети
  • Команды - сеть
  • Создание ipsec VPN-туннеля между двумя сетями


  • Комментарии:

    Оставить комментарий



     
    Информация
     
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


    Поиск по сайту:


    Облако тегов
    Android, Arduino, backup, CentOS, cmd, css, div, DLE, DLE хаки, domoticz, dzvents, event, Home Assistant, Linux, log, Monster, ogf3, RDP, Template, VBS, w2k8, windows, WSH, бумага, бумажный самолетик, верстка, иструкция, Карты, кино, Навигация, оригами, программа, рецензия, рецепт, скрипт, фигуры, шаблон, Яндекс, яндекс-карты

    Показать все теги
    Реклама
    раскрутка сайта бесплатно
    Главная страница | Регистрация | Добавить новость | Новое на сайте | Статистика | Поддержка | Правила ресурса Copyright © 2005-2018 by dimon - all right reserved!
    Тираж:           экземпляров.   Дизайн, верстка by dimon