Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




Данный блок состоит их двух лабораторных работ, в которых будут рассмотрены широко используемые методы организации трансляции сетевых адресов в сетях IPv4/IPv6.

Трансляция сетевых адресов является универсальным способом расширения адресного пространства. Появление системы трансляции сетевых адресов, или NAT (Network Address Translation) обусловлено бурным ростом небольших сетей, в то время относящихся к классу С, и, как следствие, сокращение IP-адресов данного класса. Тогда одним из способов расширения адресного пространства наравне с введением бесклассовой адресации стало использование неуникальных IP-адресов, иногда называемых маскарадными. Традиционно это адреса вида 192.168.0.0 и 10.0.0.0, но в последнее время могут использоваться некоторые другие. Такие адреса уникальны только в пределах закрытой сети (например, корпоративной или сети провайдера). Для выхода в общедоступную сеть необходим уникальный адрес, который присвоен шлюзу. Система NAT позволяет осуществлять подмену адресов на шлюзе.

В первой работе мы рассмотрим такие виды трансляции сетевых адресов, как Source NAT (SNAT) и Destination NAT (DNAT). Как следует из названий, данные виды NAT подменяют адреса отправителя и получателя пакета соответственно. Маскарадингом (Masquerade) называется разновидность SNAT, в которой подменяемый адрес отправителя может изменяться динамически в соответствии с текущим адресом шлюзового интерфейса.

В операционной системе Linux за трансляцию сетевых адресов отвечает утилита iptables (или ip6tables для IPv6). Вообще, iptables является одним из командных интерфейсов межсетевого экрана Netfilter и используется для настройки разнообразных правил фильтрации сетевого трафика. Однако, в рамках данной работы, мы рассмотрим только одну из его возможностей – NAT.

Рассмотрим некоторые ключевые понятия iptables:

− Правило – состоит из критерия, действия и счетчика. Если пакет соответствует критерию, к нему применяется действие, и он учитывается счетчиком. Критерия может и не быть – тогда неявно предполагается критерий «все пакеты».

− Критерий – логическое выражение, анализирующее свойства пакета и/или соединения и определяющее, подпадает ли данный конкретный пакет под действие текущего правила.

− Действие – описание действия, которое нужно проделать с пакетом и/или соединением в том случае, если они подпадают под действие этого правила.

− Цепочка – упорядоченная последовательность правил. Цепочки можно разделить на пользовательские и базовые.

− Базовая цепочка – цепочка, создаваемая по умолчанию при инициализации таблицы. Каждый пакет, в зависимости от того, предназначен ли он самому хосту, сгенерирован им или является транзитным, должен пройти положенный ему набор базовых цепочек различных таблиц. Имена базовых цепочек всегда записываются в верхнем регистре (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING).

− Пользовательская цепочка – цепочка, созданная пользователем. Может использоваться только в пределах своей таблицы.

− Таблица – совокупность базовых и пользовательских цепочек, объединенных общим функциональным назначением. Имена таблиц записываются в нижнем регистре, так как в принципе не могут конфликтовать с именами пользовательских цепочек. При вызове команды iptables таблица указывается в формате -t имя_таблицы. При отсутствии явного указания, используется таблица filter.

Все пакеты пропускаются через определенные для них последовательности цепочек. При прохождении пакетом цепочки, к нему последовательно применяются все правила этой цепочки в порядке их следования. Таким образом, во-первых, пакет проверяется на соответствие критерию, а во-вторых, если он соответствует данному критерию, то к нему применяется указанное действие. Под действием может подразумеваться как элементарная операция (например, ACCEPT, REJECT), так и переход в одну из пользовательских цепочек. Действия ACCEPT, REJECT и DROP являются терминальными, т.е. прекращающими обработку пакета в рамках данной базовой цепочки.

В обобщенном виде добавление правила iptables можно представить так:

iptables -t <имя_таблицы> -A <цепочка> <критерий> -j <действие>

 

Здесь -A обозначает, что данное правило будет дописано в конец заданной цепочки заданной таблицы. Просмотр правил в цепочке происходит последовательно сверху вниз.

В данной работе нас будет интересовать только таблица NAT. Эта таблица содержит три базовые цепочки: PREROUTING, OUTPUT и POSTROUTING. В цепочку PREROUTING попадают все входящие пакеты, адресованные данному хоста или транзитные, до принятия хостом решения о маршрутизации пакета. Пакеты, отсылаемые данным хостом, будут проходить цепочку OUTPUT, а транзитные пакеты на выходе из узла попадут в цепочку POSTROUTING. Таким образом, можно заметить, что для организации SNAT/Masquerade на транзитном шлюзе нужно применять правила цепочки POSTROUTING, в то время как цепочка PREROUTING будет использоваться при организации DNAT.

В операциях NAT, производимых с помощью iptables, отслеживание состояний используется автоматически. Вам достаточно указать критерии, под которые подпадет лишь первый пакет в соединении – и трансляция адресов будет применена ко всем пакетам в этом соединении, а также в связанных с ним соединениях.

С появлением сетей IPv6 возникла необходимость совместной работы сегментов сетей с разной адресацией. Скорее всего, еще довольно долгое время доминирующим протоколом останется IPv4. В таких условиях особую актуальность приобретают методы конвергенции и взаимодействия сетей различных типов. На данный момент разработано множество решений этой проблемы, из наиболее распространенных можно назвать 6to4, 6rd, Teredo, NAT64 и др. В лабораторной работе №8 мы рассмотрим универсальный способ передачи трафика IPv6 через сети IPv4, основанный на использовании протокола 6to4 (рис.1).

 

Рис. 1 – Туннель 6to4

 

Протокол 6to4 предназначен для связи двух подсетей IPv6 через IPv4 и инкапсулирует пакеты версии 6 в тело обыкновенных IPv4-пакетов. Подробное описание работы протокола 6to4 вы можете найти в RFC3056

 

Задание на лабораторную работу:

1. Соберите сеть для выполнения лабораторной работы согласно полученному заданию (рис. 2, табл. 4).

2. Настройте SNAT/маскарадинг на soft-core1 согласно приведенной схеме подключившись к программному маршрутизатору.

3. Подключитесь к компьютеру управления mnlin и запустите генератор трафика Ostinato. Создайте для порта eth1 поток UDP-пакетов с произвольными портами (1024-65535), фиксированным IPv4-адресом отправителя (из указанных в задании подсети) и адресом назначения.

4. Настройте DNAT на маршрутизаторе soft-core2. Измените созданный ранее UDP-поток таким образом, чтобы портом назначения был 34001.

5. Проведите проверку правильности конфигурации NAT.

 





Поделиться с друзьями:


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 500 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если президенты не могут делать этого со своими женами, они делают это со своими странами © Иосиф Бродский
==> читать все изречения...

2507 - | 2379 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.