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

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

Опрос

gismeteo.ru
Погода на Яндексе
pogoda.ru
meteonova.ru
по телевизору
за окном
в газете
а че его смотреть?
в другом месте
по счетчику гейгера


Календарь
«    Апрель 2009    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 

Архив новостей
Апрель 2012 (4)
Март 2012 (1)
Январь 2012 (2)
Декабрь 2011 (2)
Ноябрь 2011 (1)
Октябрь 2011 (4)

Информация
 
Разрешение доступа к ФТП средствами 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

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

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

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




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


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


    Аккаунт
    Логин
    Пароль
     
    Облако тегов

    Требуется для просмотра Flash Player 9 или выше.

    Показать все теги
    Реклама
    раскрутка сайта бесплатно






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