
- •Курс «Администрирование систем и сетей» Введение
- •Глоссарий Используемые сокращения и общепринятые термины
- •Блок 1. Построение простой сети
- •Тема 1. Лекция. Что такое сеть? Физические компоненты современной сети. Анализ сетевых схем и типовые обозначения.
- •Тема 2. Лекция. Физические и логические топологии. Основные характеристики сети. Как сеть используется сетевыми приложениями.
- •Тема 3. Лекция. Использование моделей osi и tcp/ip, а также связанных с ними протоколов для описания процесса передачи и обработки данных в сети. Инкапсуляция и де-инкапсуляция.
- •Тема 4. Работа протокола Ethernet. Структура кадра 802.3, mac-адресация, логика коммутации в transparent bridge. Настройка дуплексной передачи.
- •Тема 5. Лекция. Локальные сети (lan) и их компоненты. Коммутаторы и принципы коммутации в локальных сетях
- •Блок 2. Подключение к Internet
- •Тема 1. Протокол iPv4. Формат заголовка, классы адресов, частная адресация. Работа с dns.
- •Тема 2. Сети и подсети. Маршрутизация. Vlsm и разбиение на подсети.
- •Дистанционно-векторные протоколы
- •Протоколы состояния каналов связи
- •Протоколы междоменной маршрутизации
- •Протоколы внутридоменной маршрутизации
- •Тема 4. Процесс передачи пакета по сети. Адресация канального и сетевого уровней. Протокол arp. Роль маршрутизатора и коммутатора в доставке пакета.
- •Тема 5. Статическая маршрутизация. Когда надо использовать static routes. Маршруты по умолчанию и их грамотная настройка.
- •Маршрут по умолчанию (Default route or Gateway of the last resort )
- •Тема 6. Управление трафиком с помощью acl. Как работают acl в ios. Типы acl. Стандартные и расширенные acl.
- •Тема 7. Подключение к Интернет - последняя миля и порт подключения. Варианты подключения с dhcp и статическим адресом. Работа nat. Типы nat - static/dynamic. Работа pat.
- •Список используемых источников
Тема 7. Подключение к Интернет - последняя миля и порт подключения. Варианты подключения с dhcp и статическим адресом. Работа nat. Типы nat - static/dynamic. Работа pat.
Построив локальную сеть, многие инженеры озяботятся вопросом подключения её к сети глобальной с целью доступа к важным рабочим ресурсам. Как же это сделать? Во-первых, для подключения к сети Интернет обязателен маршрут по умолчанию (если, конечно, мы не будем использовать BGP). Объясняется это тем, что прописать пути ко всем Интернет-ресурсам, которые будут нужны Вашей организации, задача крайне нелёгкая, а добавлять новый путь каждый раз, когда сотрудники затребуют доступ к новым сайтам и ресурсам нецелесобразно. Кроме того, количество таких путей будет расти в геометрической прогрессии и сильно увеличит конфигурационный файл Вашего маршрутизатора. Соответственно, при подключении к Интернету мы будем использовать маршрут по умолчанию, тем самым убирая все проблемы глобальной маршрутизации нашего трафика в сторону Интернет-провайдера.
С нашей стороны необходимо лишь обеспечить доступ к Интернету конечных хостов. Как сказано ранее, IPv4-адреса лимитированы, и за каждый из ни хнадо платить. Создавая локальную сеть, мы используем адресацию типа 10.0.0.0, 192.168.0.0 и так далее. Как же обеспечить маршрутизацию таких хостов в Интернете?
На помощь приходит технология NAT – Network Address Translation (трансляция сетевых адресов). Эта технология позволяет при прохождении маршрутизатора менять адрес с одного на другой. Пример: у нас есть хост с адресом 192.168.0.2 и мы взяли в аренду у провайдера «белый» адрес 11.0.0.3. Применяя технологию NAT, мы будем использовать адрес 192.168.0.2 в локальной сети, а выходя за её пределы – 11.0.0.3.
Выше описан пример применения статичного NAT – то есть адрес транслируется «один в один». Это простейший типа трансляций адресов. Для его использования нужно лишь указать интерфейс, на котором будет осуществляться трансляция, адрес до подмены и после. Конфигурация выглядит следующим образом:
Router#conf t
Router(config)#ip route 0.0.0.0 0.0.0.0 gigabitEthernet 0/1
%Default route without gateway, if not a point-to-point interface, may impact performance
Router(config)#interface gigabitEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
Router(config-if)#ip nat inside
Router(config-if)#exit
Router(config)#interface gigabitEthernet 0/1
Router(config-if)#ip address 11.0.0.1 255.255.255.0
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat inside source static 192.168.0.2 11.0.0.3
Возникает вопрос, зачем нам 2 интерфейса, inside и outside, когда, казалось бы, достаточно и одного?
Рассмортим трансляции пошагово:
Прямая трансляция
1. Трафик, приходя на интерфейс, помеченный как inside, если он соответствует тому, что мы хотим транслировать, маркируется как возможно_транслируемый. Часто полагают, что в этот момент происходит трансляция, но это не так.
2. Следующим этапом, трафик подвеграется маршрутизации. И если при этом трафик направляется на интерфейс, помеченный как outside — только тогда происходит трансляция. Если трансляция динамическая, маршрутизатор проверяет ее наличие в таблице трансляций. Если ее там нет — создает, если уже есть — обнуляет счетчик неактивности. Если же пакет попадает на выход на интерфейс, не помеченный как outside — трансляция НЕ происходит.
Обратная трансляция:
1. Трафик, попадая на outside интерфейс, в противовес прямой трансляции, сначала подвергается NAT. Если трансляция существует (неважно, динамическая или статическая), в случае с inside source NAT, у него меняется destination. И только после этого трафик подвергается маршрутизации и перенаправляется по назначению.
Поэтому маркировать интерфейсы как inside или outside нужно именно принимая во внимание механизм работы.
Рассмотрим другой вопрос. А что делать, если адресов не один, а несколько? Как быть, если количество хостов, которым нужно выходить в интернет, увеличится или мы купим ещё больше «белых» IP? В этом случае, необходимо использовать Dynamic NAT. По сути, принцип тот же, однако функционал позволяет использовать пулы (pools – диапазоны) адресов. Причём, можно настроить и так, чтобы все хосты локальной сети ходили в Интернет через один и тот же белый IP по очереди.В таком случае наша конфигурация маршрутизатора несколько изменится:
Router#conf t
Router(config)#ip route 0.0.0.0 0.0.0.0 gigabitEthernet 0/1
Router(config)#interface gigabitEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#ip nat inside
Router(config-if)#exit
Router(config)#interface gigabitEthernet 0/1
Router(config-if)#ip address 11.0.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#ip nat pool Test 11.0.0.2 11.0.0.10 netmask 255.255.255.0
Router(config)#access-list 10 permit 192.168.0.0 0.0.0.255
Router(config)#ip nat inside source list 10 pool Test
Как видно, в этом случае добавляется список управления доступом, который определяет, какие хосты имеют право пользоваться NAT-ом, а также добавляется пул адресов, которые выделили для доступа в Интернет (заказали у провайдера). В остальном, конфигурация и принцип работы соответствуют таковым в статическом NAT.
Однако всё это не решает проблему одновременного доступа в Интернет количества устройств, которое превышает количество белых адресов. Для решения такой задачи существует технология PAT (Port Address Translation –трансляция порт-адрес, иногда его ещё называют NAT overload или NATPT). Она применима в случае, если число активных устройств превышает число выделенных «белых» адресов. Для доступа в интернет будет использован один адрес + порт, который для каждого хоста локальной сети будет отличаться. Например, наш «белый» IP это 11.0.0.2, мы хотим, чтобы одновременно Интернетом пользовались хосты с адресами: 192.168.0.11, 192.168.0.12, 192.168.0.13, 192.168.0.14. Тогда каждый из них будет выходить в глобальную сеть, имея привязку адрес+порт:
Адрес в локальной |
Адрес в глобальной сети |
192.168.0.11 |
11.0.0.2 port 678 |
192.168.0.12 |
11.0.0.2 port 664 |
192.168.0.13 |
11.0.0.2 port 679 |
192.168.0.14 |
11.0.0.2 port 456 |
Имена портов берутся из диапазона, не зарезервированного за определёнными протоколами, и, по сути, служат просто средством распознавания того или иного хоста в локальной сети. Например: выходя в Интернет хост 192.168.0.12 будет всегда иметь адрес 11.0.0.2, и весь Интернет будет знать его именно под этим адресом, порт значения не имеет. Однако, пакеты данных, возвращаясь в нашу локальную сеть, как-то должны попасть на 192.168.0.12, и именно для распознавания конкретно этого хоста будет использован порт: пакет данных, попадая на наш пограничный маршрутизатор, в процессе обратной трансляции конвертирует связку «белый IP+port» в адрес 192.168.0.12 и никакой другой. Соответственно, есть различия в настройке PAT:
Router#conf t
Router(config)#ip route 0.0.0.0 0.0.0.0 gigabitEthernet 0/1
Router(config)#interface gigabitEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#ip nat inside
Router(config-if)#exit
Router(config)#interface gigabitEthernet 0/1
Router(config-if)#ip address 11.0.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#ip nat outside
Router(config-if)#exit
Router(config)#access-list 10 permit 192.168.0.0 0.0.0.255
Router(config)# ip nat inside source list 10 interface gigabitEthernet 0/1 overload