logo-nt
13.02.2012 M6232 - Внедрение базы данных Microsoft SQL Server 2008
 M6158 - Переход с SQL Server 2005 на SQL Server 2008
20.02.2012 M80290 - Управление маркетингом в Microsoft Dynamics ® CRM 2011
English version

Трансляция адресов

Что такое и зачем нужна трансляция адресов

IP-адреса (и другие параметры заголовков) пакетов, проходящих через хост можно изменять. Измененение IP-адреса отправителя дает возможность скрывать несколько адресов хостов одним, а IP-адреса получателя, например, распределять нагрузку между несколькими хостами. Изменение порта отправителя в некоторых случаях позволяет обходить ненужные брандмауэры, а порта получателя, к примеру, организовать прозрачную работу прокси-сервера.

В частном случае нужно выполнить маскарадинг, то есть скрытие множества хостов, работающих с разными IP-адресами, одним.

Из-за ограничености адресного пространства IP, каждый хост, который пользуется услугами Интернета не может получить собственного IP-адреса. В этом случае используются адреса из диапазонов 10.x.x.x, 192.168.x.x., 172.16.x.x.-172.31.x.x. Эти адреса зарезервированы для внутреннего использования и не могут встретиться в Интернете. Компьютеры, имеющие такие адреса, могут общаться друг с другом в пределах одной сети, но не могут выходить за ее пределы: пакеты, имеющие такие адреса будут попросту уничтожаться.

Для того чтобы обеспечить хостам с внутреними адресами возможность доступа к Интернету, используется маскарадинг.

При маскарадинге, адрес отправителя пакета автоматически подменяется внешним адресом сетевого интерфейса хоста, на котором он осуществляется.

Трансляция адресов в FreeBSD

В FreeBSD трансляцию адресов пакетов можно выполнить двумя способами:

natd

Демон natd является процессом, то есть он работает не в пространстве ядра, а в пространстве пользователя. Поэтому, для обработки демоном трафик должен копироваться из ядра в пространство пользователя и обратно. Это несколько уменьшает производительность.

ipnat

Трансляция адресов выполняется ядром системы.

Каждый из этих механизмов имеет собственные способы настройки. Здесь рассматривается только первый вариант, то есть обеспечение маскарадинга с помощью natd.

Настройка natd

Демон natd является процессом, работающим в пространстве пользователя (то есть не в пространстве ядра). Следовательно, пакеты, которые он обрабатывает, должны как-то к нему попасть. Действие divert пакетного фильтра может справиться с такой задачей.

Если к пакету применяется действие divert, он передается на соответствующий сокет и его обработка фильтром пакетов на этом прекращается (если сокет закрыт или не существует, пакет просто уничтожается).

Например, для того, чтобы все пакеты, которые отправлены из сети 192.168.15.0 и проходят через интерфейс ${natd_interface} передавались демону natd, нужно так модифицировать правила:

# ipfw add divert 8868 tcp from 192.168.15.0/24 to any via ${natd_interface}

Здесь ${natd_interface} -- интерфейс, через который пакеты уходят из сети во внешний мир, а 8868 -- номер сокета, на котором ведет прослушивание natd. Вместо 8868 можно написать символическое имя порта: natd.

Для того чтобы трансляция адресов работала, необходимо чтобы natd получал и все пакеты, которые возвращаются обтратно. Можно пойти еще дальше и передавать демону natd вообще все пакеты, которые проходят через ${natd_interface}:

# ipfw add divert 8868 tcp from any to any via ${natd_interface}

Собственно настройка ipfw дает только то, что пакеты будут переданы демону natd. Основная работа выполняется самим демоном, так что, нужно сконфигурировать и его.

Конфигурация natd задается либо аргументами его командной строки, либо конфигурационным файлом /etc/natd.conf (имя конфигурационного файла должно быть указано при вызове natd с ключом -f). Параметры конфигурационного файла и аргументы командной строки natd в точности повторяют друг друга, с той разницей, что когда параметр указывается в командной строке, перед ним нужно поставить минус. Например, сказать

# natd -interface xl0

значит то же самое, что и просто

# natd -f /etc/natd.conf

когда в конфигурационном файле /etc/natd.conf находится

interface xl0

Таблица 4. Опции natd

-redirect_port протокол targetIP:targetPORT[-targetPORT] [aliasIP:]aliasPORT[-aliasPORT] [remoteIP[:remotePORT[-remotePORT]]]

Перенавправить входящее соединение. Теперь natd отвечает за правильную передачу входящих и исходящих пакетов в рамках этого соединения.

  • протокол -- протокол, пакеты которого должны перенаправляться. Допустимые значения: tcp и udp

  • targetIP и targetPORT -- куда должно перенаправляться соединение;

  • aliasIP и aliasPORT -- откуда должно перенаправляться соединение;

  • remoteIP и remotePORT -- чье соединение будет перенаправляться.

-redirect_address localIP[,localIP,...] publicIP

Перенаправить входящие соединения, направленные на адрес publicIP на внутренний адрес localIP. Если указано несколько адресов localIP нагрузка распределяется между ними, то есть различные соединения перенаправляются на различные localIP по очереди.

-config файл или -f файл

Использовать указаный файл в качестве конфигурационного.

-dynamic

Используется в сочетании с -n или -interface. Периодически проверять адрес интерфейса и смотреть, не изменился ли он. Если адрес изменился, то нужно учесть это изменение при маскарадинге.

-a адрес или -alias_address адрес

При маскарадинге указывать заданный адрес в качестве адреса отправителя.

-interface интерфейс или -n интерфейс

Считать этот интерфейс внешним при маскарадинге. При изменение IP-адреса следует использовать вместе с опцией -dynamic.

-proxy_rule port порт server адрес:порт

Перехватывать все исходящие соединения, по указаному порту и направлять их на заданый сервер (адрес:порт). Опция используется для обеспечения работа прозрачного прокси.

-proxy-only

Не делать ничего, кроме обеспечения прозрачного прокси.

На главную
Как нас найти | Расписание | Об Учебном Центре
Наверх
Как - Гомеопатия от прыщей
Гарантированный способ - Гомеопатия от прыщей
Белый прыщик на языке
Причины прыщей на лбу
Что от - лечение юношеских прыщей
Средство от - лечение юношеских прыщей
Кaк избaвиться от прыщей и угрей
http://fotoshare.info/userpimages/Z/kak-borotsya-s-prishami-na-lice1.html
Какие - средства от прыщей и чёрных точек
Удачный рецепт - средства от прыщей и чёрных точек
Как избавиться от прыщей на груди
Родинки богатства
Способ - лечение сухой кожи головы
Необходимо - лечение сухой кожи головы
Прыщи из за кишечника
Удаление атеромы
Чаще - избавиться от рубцов от прыщей
Собрание рецептов - избавиться от рубцов от прыщей
Прыщи на малых половых губах
Белые прыщики, под глазами
Удачный рецепт - новейшие средства от прыщей
Средство от - новейшие средства от прыщей
Что от - Внутренние прыщи на половых губах
Чаще - Как избавиться от покраснений после прыщей