Методика выполнения работы. Рассмотрим организацию трансляции адресов в соответствии с приведенной на рисунке 2 схемой

Рассмотрим организацию трансляции адресов в соответствии с приведенной на рисунке 2 схемой.

 

Рис. 2 – Схема сети для организации NAT

Таблица 1

Интерфейс Адрес
mnlin – eth0 не выставляется
mnlin – eth1 192.168.24.33/24
mnlin – eth2 не выставляется
soft-core1 – eth0 192.168.24.1/24
soft-core1 – eth1 70.1.1.1/30
soft-core2 – eth0 172.16.0.1/16
soft-core2 – eth1 70.1.1.2/30
PC-1 192.168.24.2/24
PC-2 172.16.0.5/16

 

В данной работе мы воспользуемся встроенными средствами Linux для управления сетевыми интерфейсами, маршрутами и т.д. Удобным инструментом, объединяющим различные сетевые программные средства, является созданная нашим соотечественником утилита ip. Синтаксис этой утилиты довольно обширен, и не будет рассматриваться в рамках данной работы, отметим лишь необходимые команды. Для задания IP-адреса сетевому интерфейсу сначала необходимо удалить старый адрес, а затем присвоить новый.

root@sc-1# ip addr del <старый_адрес/префикс> dev <интерфейс>

root@sc-1# ip -4/-6 addr add <новый_адрес/префикс> dev <интерфейс>

 

В данном случае опции -4 и -6 обозначают тип адреса: IPv4 или IPv6 соответственно. Например, так может выглядеть смена адреса eth0:

root@sc-1# ip addr del 192.168.24.1/24 dev eth0

root@sc-1# ip -4 addr add 10.0.0.1/8 dev eth0

 

Просмотреть информацию о сетевых интерфейсах можно введя команду ifconfig (все интерфейсы) или ifconfig <интерфейс> (для просмотра конкретного интерфейса). Описанным способом настройте все сетевые интерфейсы маршрутизаторов в соответствии с вашим вариантом задания.

Примечание: Настраивать сетевые интерфейсы удобнее всего подключаясь к маршрутизаторам поочередно с помощью KVM-переключателя.

При сборке сети не забудьте настроить зеркалирование указанных портов коммутаторов. На схеме запись вида «p.7 (= p.1)» обозначает, что на порту 7 настроено зеркалирование всего трафика с порта 1.

 

Таблица 2

Коммутатор Адрес Web-интерфейса
SW-L2-1 192.168.24.10
SW-L2-2 192.168.24.20
SW-L3 192.168.24.30

 

 

Для настройки зеркалирования в коммутаторах SW-L2-1 и SW-L2-2 зайдите в веб-интерфейс нужного коммутатора (login: admin, passw: admin), перейдите на вкладку Monitoring®Mirror®Port Mirror Settings и выставьте зеркалирование как показано на рис. 3.

 

Рис. 3 – Настройка зеркалирования портов в SW-L2-1/ SW-L2-2

 

Процедура настройки зеркалирования портов SW-L3 в точности напоминает вышеописанную(рис. 4).

 

 

Рис.4 – Настройка зеркалирования портов в SW-L3

 

В поле Target Port указывается тот порт, на который будет осуществляться зеркалирование трафика.

Для настройки маскарадинга на soft-core1 согласно приведенной схеме необходимо подключиться к программному маршрутизатору и выполнить следующие действия:

student@pc# ssh admin@192.168.24.1 /подключаемся к SC-1

admin@sc-1# su /получаем права суперпользователя

root@sc-1# sysctl net.ipv4.ip_forward=1 /включаем IP-forwarding

root@sc-1# iptables –F /очищаем таблицу filter

root@sc-1# iptables –t nat –F /очищаем таблицу nat

/правила трансляции:

root@sc-1# iptables –t nat –A POSTROUTING –o eth1 –j MASQUERADE /добавляем правило, осуществляющее маскарадинг всех пакетов, выходящих из интерфейса eth1 данного хоста (т.е. SC-1)

Можно применить и другое правило для настройки SNAT:

root@sc-1# iptables –t nat –A POSTROUTING –o eth1 –j SNAT --to-source 70.1.1.1 /подменяем IP-адрес отправителя всех пакетов выходящих из интерфейса eth1 на 70.1.1.1

/Просмотреть имеющиеся в таблице nat правила можно командой

root@sс-1# iptables -t nat --list

 

 

 

Рис. 5 — Просмотр правил трансляции сетевых адресов

 

Маскарадинг может адаптироваться к изменяющемуся динамическому внешнему адресу шлюза, а SNAT использует меньше системных ресурсов маршрутизатора, т.к. не проверяет адрес шлюза для каждого исходящего пакета.

С помощью KVM-переключателя подключитесь к компьютеру управления mnlin и запустите генератор трафика Ostinato (см. л/р №2). На порту eth0 mnlin запустите Wireshark, а для порта eth1 создайте поток UDP-пакетов с произвольными портами (1024-65535), фиксированным IPv4-адресом отправителя из подсети 192.168.24.0/24 и адресом назначения 70.1.1.2.

Прим.: Для успешной передачи потока в поле Destination Address протокола Media Access Protocol необходимо выставить реальное значение MAC-адреса интерфейса eth0 маршрутизатора soft-core1 (рис. 6). Узнать его можно командой:

root@soft-core1# ifconfig eth0

 

 

Рис. 6 — Настройка генератора трафика

 

Запустив генерацию, отследите в анализаторе трафика этот поток по адресу назначения. В поле IP-адреса отправителя у всех пакетов должно быть значение 70.1.1.1, т.е. адрес шлюзового интерфейса.

Теперь нужно настроить DNAT на маршрутизаторе soft-core2.

 

student@pc# ssh admin@172.16.0.1 /подключаемся к SC-2

admin@sc-2# su /получаем права суперпользователя

root@sc-2# sysctl net.ipv4.ip_forward=1 /включаем IP-forwarding

root@sc-2# iptables –F /очищаем таблицу filter

root@sc-2# iptables –t nat –F /очищаем таблицу nat

/правила трансляции:

root@sc-2# iptables –t nat –A PREROUTING –d 70.1.1.2 –p UDP --dport 34001 –j DNAT --to-destination 172.16.0.5 /подменяем у всех пакетов UDP пришедших на порт 34001 адрес назначения на 172.16.0.5 (порт назначения остается прежним – 34001)

root@sc-2# iptables –t nat –A PREROUTING –d 70.1.1.2 –p TCP --dport 34001 –j DNAT --to-destination 172.16.0.5 /то же для TCP

 

Запустите на mnlin прослушивание порта eth2 с помощью Wireshark, а в Ostinato для порта eth1 измените созданный ранее UDP-поток таким образом, чтобы портом назначения был 34001. Начав передачу трафика, снимайте трэйс с порта eth2. Результатом правильной настройки работы механизма трансляции адресов всей сети должен стать исходный поток UDP-пакетов с адресом отправителя 70.1.1.1 и адресом назначения 172.16.0.5.

Проверка правильности выполненных настроек также может быть проведена с помощью netcat. Netcat представляет собой простую утилиту для чтения и пересылки данных посредством протоколов TCP и UDP. Для установления TCP-соединения на узле 172.16.0.5 необходимо запустить netcat в режиме сервера, прослушивая (listen), например, порт 34001 (или любой другой незанятый порт):

root@pc-2# nc -l -p 34001

а на узле 192.168.24.2 – в режиме клиента, подключающегося к серверу по адресу 70.1.1.2 на тот же порт 34001:

root@pc-1# nc 70.1.1.2 34001

В случае успешного установления соединения, станет возможным обмен текстовыми сообщениями между двумя экземплярами netcat, образовав некоторое подобие текстового чата.

Последовательно снимая трафик с портов eth0 и eth2 компьютера управления mnlin во время передачи данных с помощью netcat, убедитесь в том, что трансляция адресов на разных участках сети работает должным образом.

Варианты заданий:

Таблица 4 – Задания к л/р №8

Вариант Подсеть 1 (за SC-1) Подсеть 2 (за SC-2) soft-core1 eth1 soft-core2 eth1 PC-2 IP-адрес и порт DNAT Тип NAT
192.168.17.0/24 192.168.78.0/24 51.1.1.2/27 51.1.1.18/27 .12:35468 MASQ
10.0.0.0/8 172.16.0.0/16 78.2.5.6/28 78.2.5.3/28 .98:47362 SNAT
192.168.82.0/24 10.0.0.0/8 122.98.2.1/26 122.98.2.3/26 .44:55612 SNAT
172.16.0.0/16 192.168.67.0/24 65.4.15.2/29 65.4.15.1/29 .75:29867 MASQ

 

Таблица 5 – Задания к л/р №8

Вариант Подсеть 1 (за soft-core1) Подсеть 2 (за soft-core2) soft-core1 eth1 soft-core2 eth1
2001:8fa:ba4:23::/64 2001:8fa:ba4:45::/64 15.79.54.16/24 15.79.54.122/24
2001:9487:26ac::/64 2001:9487:ac4::/64 78.2.5.6/28 78.2.5.3/28
2001:b64:84::/64 2001:b64:68d::/64 203.78.9.1/29 203.78.9.3/29
2001:29:a1:330::/64 2001:29:a1:320::/64 51.1.1.2/27 51.1.1.18/27

 

К защите:

1. Знать методы расширения адресного пространства в сетях IPv4 и создания туннелей в сетях IPv4/IPv6, иметь представлении о туннелировании в сетях NGN.

2. Уметь настраивать NAT для организации расширенного адресного пространства в сетях IPv4, уметь настраивать туннели 6to4, использовать специализированные утилиты для проверки состояния туннеля.

3. Представить отчет, содержащий листинги проведенных действий, трейсы анализатора трафика, доказывающие правильность настройки NAT и туннеля 6to4.

Рекомендуемая литература:

1. Олифер Н. А., Олифер В.Г. Компьютерные сети. Принципы, технологии, протоколы. Издание 4-е. Питер, 2010.

2. Официальная документация Netfilter: http://netfilter.org/documentation/

3. RFC 2893. Transition Mechanisms for IPv6 Hosts and Routers. August 2000.

4. RFC 3056. Connection of IPv6 Domains via IPv4 Clouds. February 2001.

5. IP Command Reference: http://linux-ip.net/gl/ip-cref/