Рейтинг@Mail.ru

NetCloud

Простыми словами о сетевых технологиях

Настройка доступа в Интернет на маршрутизаторе Cisco

Одной из главных задач при настройке сетевого оборудование Cisco является обеспечение пользователей доступом в Интернет. Провайдер, как правило, выдает один или несколько «белых» IP-адресов. Внутри сети используются «серые» IP, которые не маршрутизируются в Интернет. Необходимо выполнить трансляцию внутренних IP-адресов во внешний глобальный Ip-адрес. Иными словами, необходима настройка NAT на маршрутизаторе Cisco.

Без лишних слов перейдем к нашей схеме.

test_pat2

В данной сети используется три группы: компьютеры пользователей, компьютер админа, сервер. Каждый хост находится в своем VLAN. Необходимо обеспечить доступ в интернет для всех хостов. Для настройки схемы используется эмулятор GNS3. Виртуальный маршрутизатор testR по сути подключен к реальному маршрутизатору TP-Link, находящемуся у меня дома. Виртуальный маршрутизатор будет получать параметры IP автоматически посредством DHCP-запроса. Маршрутизатор TP-Link выдаст IP-адрес из пула внутренних адресов: 192.168.0.100 — 192.168.0.200.

Первым делом покажу предварительные настройки, а именно настройку VLAN. Конфигурация для testSW:

testSW>enable - переходим в расширенный режим
testSW#vlan database - создадим VLAN на коммутаторе
testSW(vlan)#vlan 2 - создаем VLAN для управления (административный)
testSW(vlan)#vlan 3 - создаем VLAN для серверов
testSW(vlan)#vlan 10 - создаем VLAN для пользователей
testSW(vlan)#apply - применяем настройки
testSW(vlan)#exit
testSW#configure terminal - переходим в режим конфигурации
testSW(config)#interface fa1/0 - настраиваем порт в сторону админа
testSW(config-if)#switchport mode access - переводим порт в тегированный режим
testSW(config-if)#switchport access vlan 2 - тегируем кадры 2 VLAN'ом
testSW(config-if)#no shutdown - включаем интерфейс физически
testSW(config-if)#exit
testSW(config)#interface fa1/1 - настраиваем порт в сторону сервера
testSW(config-if)#switchport mode access - переводим порт в тегированный режим 
testSW(config-if)#switchport access vlan 3 - тегируем кадры 3 VLAN'ом 
testSW(config-if)#no shutdown - включаем интерфейс физически
testSW(config-if)#exit
testSW(config)#interface range fa1/2 - 9 - настраиваем порт в сторону пользователей
testSW(config-if)#switchport mode access - переводим порт в тегированный режим 
testSW(config-if)#switchport access vlan 10 - тегируем кадры 10 VLAN'ом 
testSW(config-if)#no shutdown - включаем интерфейс физически
testSW(config-if)#exit
testSW(config)#interface range fa1/15 - настраиваем порт в сторону testR
testSW(config-if)#switchport mode trunk - переводим порт в нетегированный режим 
testSW(config-if)#switchport trunk allowed vlan add 2,3,10 - тегируем кадры 10 VLAN'ом 
testSW(config-if)#no shutdown - включаем интерфейс физически 
testSW(config-if)#exit
testSW(config)#do write - сохраняем конфигурацию

Конфигурация для testR:

testR>enable - переходим в расширенный режим
testR#configure terminal - переходим в режим конфигурации 
testR(config)#interface fa0/0 - настраиваем порт в сторону testSW 
testR(config-if)#description testSW - описание интерфейса
testR(config-if)#no shutdown - включаем интерфейс физически 
testR(config-if)#exit
testR(config)#interface fa0/0.2 - настраиваем сабинтерфейс для сети управления
testR(config-if)#description ADMIN_VLAN - описание интерфейса
testR(config-if)#encapsulation dot1q 2 - тегируем кадры 2 VLAN'ом
testR(config-if)#ip address 172.16.0.1 255.255.255.0 - задаем IP-адрес шлюза по-умолчанию
testR(config-if)#exit
testR(config)#interface fa0/0.3 - настраиваем сабинтерфейс для сети серверов
testR(config-if)#description SERVER_VLAN - описание интерфейса
testR(config-if)#encapsulation dot1q 3 - тегируем кадры 3 VLAN'ом
testR(config-if)#ip address 172.16.1.1 255.255.255.0 - задаем IP-адрес шлюза по-умолчанию
testR(config-if)#exit
testR(config)#interface fa0/0.10 - настраиваем сабинтерфейс для сети пользователей
testR(config-if)#description USER_VLAN - описание интерфейса
testR(config-if)#encapsulation dot1q 10 - тегируем кадры 10 VLAN'ом
testR(config-if)#ip address 172.16.2.1 255.255.255.0 - задаем IP-адрес шлюза по-умолчанию
testR(config-if)#exit
testR(config)#do write - сохраняем конфигурацию

Следующий этап настройка NAT на маршрутизаторе testR. Так как внешний Ip-адрес всего один, будем использовать трансляцию адресов портов PAT (Port Address Translation). Ключом к пониманию принципа является способ использования хостами портов TCP и UDP. Трансляция NAT использует в своих интересах тот факт, что с точки зрения транспортного уровня сервер не заботит, имеет ли он по одному соединению с каждым из нескольких хостов или же несколько соединений с одним хостом. Перезагрузка NAT (PAT) преобразует не только адрес, но и при необходимости номер порта, делая многие потоки TCP и UDP от разных хостов похожими на то же количество потоков от одного хоста.

test_pat10





При создании динамического сопоставления PAT выбирает не только внутренний глобальный адрес, но и уникальный номер порта, который будет использоваться вместе с этим адресом. Маршрутизатор поддерживает запись в таблице NAT для каждой уникальной комбинации внутреннего локального адреса и порта; при этом поддерживается трансляция во внутренний глобальный адрес и уникальный номер порта, связанный с внутренним уникальным адресом. Поскольку поле номера порта состоит из 16 бит, перезагрузка NAT позволяет использовать более 65 тысяч номеров, портов, что позволяет ей выполнить масштабирование без необходимости иметь много зарегистрированных IP-адресов (во многих случаях требуется лишь один глобальный IP-адрес).

Алгоритм настройки PAT и использованием IP-адреса внешнего интерфейса:

  1. Настроить внутренние интерфейсы с помощью команды ip nat inside
  2. Настроить внешние интерфейсы с помощью команды ip nat outside
  3. Настроить список доступа ACL, которому должны соответствовать пакеты, поступающие на внутренние интерфейсы
  4. Задать в конфигурации команду глобального конфигурирования ip nat inside source list номер-acl interface тип/номер overload

Приступим к настройке PAT на маршрутизаторе testR:

testR>enable - переходим в расширенный режим
testR#configure terminal - переходим в режим конфигурации 
testR(config)#interface fa0/1 - настраиваем интерфейс в сторону Интернета
testR(config-if)#description INTERNET - описание интерфейса
testR(config-if)#ip address dhcp - получаем IP-адрес автоматически
testR(config-if)#no shutdown - включаем интерфейс
testR(config-if)#exit
testR(config)#ping 8.8.8.8 - проверяем доступ в Интернет по IP
!!!!!
Success rate is 100 percent (5/5)
testR(config)#ip name-server 192.168.0.1 - указываем адрес DNS-сервера
testR(config)#ping ya.ru - проверяем доступ в Интернет по домену
!!!!!
Success rate is 100 percent (5/5)
testR(config)#interface fa0/0.2 - настраиваем сабинтерфейс для сети управления
testR(config-if)#ip nat inside - указываем внутренний интерфейс
testR(config-if)#exit
testR(config)#interface fa0/0.3 - настраиваем сабинтерфейс для сети серверов
testR(config-if)#ip nat inside - указываем внутренний интерфейс
testR(config-if)#exit
testR(config)#interface fa0/0.10 - настраиваем сабинтерфейс для сети пользователей
testR(config-if)#ip nat inside - указываем внутренний интерфейс
testR(config-if)#exit
testR(config)#interface fa0/0 - настраиваем интерфейс в сторону Интернета
testR(config-if)#ip nat outside - указываем внешний интерфейс
testR(config-if)#exit
testR(config)#ip access-list standart test_NAT - настраиваем список доступа для всех групп
testR(config-std-nacl)#permit 172.16.0.0 0.0.0.255 - разрешаем доступ в интернет админу
testR(config-std-nacl)#permit 172.16.1.0 0.0.0.255 - разрешаем доступ в интернет серверам
testR(config-std-nacl)#permit 172.16.2.0 0.0.0.255 - разрешаем доступ в интернет пользователям
testR(config-std-nacl)#exit
testR(config)#ip nat inside source list test_NAT interface fa0/1 overload

Последняя команда означает преобразование внутренних адресов из списка доступа test_NAT в IP-адрес внешнего интерфейса.

Проверяем доступ в Интернет с компьютера админа:

test_pat11

Пинг до Яндекса идет. В качестве DNS-сервера указан IP адрес маршрутизатора TP-Link 192.168.0.1.

Для просмотра таблицы NAT служит команда show ip nat translations

test_pat12

192.168.0.104 — это IP-адрес внешнего интерфейса маршрутизатора testR.