Вы находитесь на странице: 1из 18

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет прикладной математики и телекоммуникаций


Кафедра радиоэлектронных средств

Технологии Интернет,
Информационные Технологии

Лабораторная работа 6
Виртуальные частные сети VPN

Киров 2016
Виртуальная частная сеть или просто VPN (Virtual Private Network) – это технология, при
которой происходит обмен информацией с удаленной локальной сетью по виртуальному каналу
через сеть общего пользования с имитацией частного подключения «точка-точка». Под сетью
общего пользования можно подразумевать как Интернет, так и другую интрасеть.
На рисунке ниже изображен вариант организации обычной частной сети небольшой
компанией с 2 филиалами.

Доступ во внешнюю сеть может осуществляться как через центральный офис, так и
децентрализовано. Данная организация сети обладает следующими неоспоримыми
преимуществами:
 высокая скорость передачи информации, фактически скорость при таком соединении будет
равна скорости локальной сети предприятия;
 безопасность, передаваемые данные не попадают в сеть общего пользования;
 за пользование организованной сетью ни кому не надо платить, действительно капитальные
вложения будут только на стадии изготовления сети.
На следующем рисунке изображен аналогичный вариант организации сети учреждения с
филиалами, но только с использованием виртуальных частных сетей.
В данном случае преимущества, приведенные для частных сетей, оборачиваются
недостатками для виртуальных частных сетей, но так ли значительны эти недостатки? Давайте
разберемся:
 скорость передачи данных. Провайдеры могут обеспечить достаточно высокоскоростной
доступ в Интернет, однако с локальной, проверенной временем 100/1000 Мбит сетью он все
равно не сравнится. Но так ли важно каждый день перекачивать сотни мегабайт
информации через организованную сеть? Для доступа к локальному сайту предприятия,
пересылки электронного письма с документом вполне достаточно скорости, которой могут
обеспечить Интернет-провайдеры;
 безопасность передаваемых данных. При организации VPN передаваемая информация
попадает во внешнюю сеть, поэтому об организации безопасности придется позаботиться
заранее. Но уже сегодня существуют достаточно стойкие к атакам алгоритмы шифрования
информации, которые позволяют владельцам передаваемых данных не беспокоиться за
безопасность;
 за организованную сеть никому не надо платить. Достаточно спорное преимущество,
поскольку в противовес дешевизне пользования сетью стоят большие капитальные затраты
на ее создание, которые могут оказаться неподъемными для небольшого учреждения. В то
же время плата за использование Интернет в наши дни сама по себе достаточно
демократичная, а гибкие тарифы позволяю выбрать каждому оптимальный пакет.

Теперь разберемся с наиболее очевидными преимуществами VPN:

 масштабируемость системы. При открытии нового филиала или добавления сотрудника,


которому позволено пользоваться удаленным доступом не нужно никаких дополнительных
затрат на коммуникации.
 гибкость системы. Для VPN не важно, откуда вы осуществляете доступ. Отдельно взятый
сотрудник может работать из дома, а может во время чтения почты из корпоративного
почтового ящика фирмы пребывать в командировке в абсолютно другом государстве. Также
стало возможным использовать так называемые мобильные офисы, где нет привязки к
определенной местности.
 из предыдущего вытекает, что для организации своего рабочего места человек
географически неограничен, что при использовании частной сети практически невозможно.

В VPN наиболее целесообразно выделить следующие способы организации:


1. Remote Access VPN. Удаленный доступ отдельно взятых сотрудников к корпоративной
сети организации через общедоступную сеть.
Организация такой модели виртуальной частной сети предполагает наличие VPN-сервера в
центральном офисе, к которому подключаются удаленные клиенты. Удаленные клиенты могут
работать на дому, либо, используя переносной компьютер, из любого места планеты, где есть
доступ к всемирной паутине. Данный способ организации виртуальной частной сети
целесообразно применять в случаях географически не привязанного доступа сотрудников к
корпоративной сети организации.
2. Intranet VPN. Связь в одну общую сеть территориально распределенных филиалов
организации.

При организации такой схемы подключения требуется (не всегда) наличие VPN серверов
равное количеству связываемых офисов. Данный способ целесообразно использовать как для
обыкновенных филиалов, так и для мобильных офисов, которые будут иметь доступ к ресурсам
«материнской» компании, а также без проблем обмениваться данными между собой.
3. Extranet VPN. Используется для сетей, к которым подключаются «внешние»
пользователи (например, заказчики или клиенты). Уровень доверия к ним намного ниже, чем к
сотрудникам компании, поэтому требуется обеспечение специальных «рубежей» защиты,
предотвращающих или ограничивающих доступ последних к особо ценной, конфиденциальной
информации. Набирает широкое распространение в связи с популярностью электронной
коммерции. В этом случае для удаленных клиентов будут очень урезаны возможности по
использованию корпоративной сети, фактически они будут ограничены доступом к тем ресурсам
компании, которые необходимы при работе со своими клиентами, например, сайта с
коммерческими предложениями, а VPN используется в этом случае для безопасной пересылки
конфиденциальных данных. Средства защиты информации – протоколы шифрования
4. Internet VPN. Используется для предоставления доступа к интернету провайдерами,
обычно в случае, если по одному физическому каналу подключаются несколько пользователей.
5. Client/Server VPN обеспечивает защиту передаваемых данных между двумя узлами (не
сетями) корпоративной сети. Особенность данного варианта в том, что VPN строится между
узлами, находящимися, как правило, в одном сегменте сети, например, между рабочей станцией и
сервером. Такая необходимость очень часто возникает в тех случаях, когда в одной физической
сети необходимо создать несколько логических сетей. Например, когда надо разделить трафик
между финансовым департаментом и отделом кадров, обращающихся к серверам, находящимся в
одном физическом сегменте. Этот вариант похож на технологию VLAN, но вместо разделения
трафика, используется его шифрование.

Способы организации VPN в настоящее время можно разделить на 2 типа – с


использованием протокола PPP или на основе других протоколов и программных средств (SSL
VPN, OpenVPN, Cisco Easy VPN и т.п.). В лабораторной работе далее будут рассматриваться
только способы с использованием PPP как самые распространенные на сегодняшний день в мире.
PPP (Point-to-Point Protocol) - протокол точка-точка, протокол 2-го канального уровня (Data
Link) сетевой модели OSI. PPP - механизм для создания и запуска IP и других сетевых протоколов
на последовательных линиях связи - будь это прямая последовательная связь (по нуль-модемному
кабелю), связь поверх Ethernet (PPPoE, xDSL технологии), модемная связь по телефонным линиям,
мобильная связь по GPRS или EDGE и т.п.
Используя PPP, можно подключить компьютер к PPP-серверу и получить доступ к ресурсам
сети, к которой подключён сервер так, как будто вы подключены непосредственно к этой сети.
Протокол РРР является основой для всех протоколов 2-го канального уровня. Связь по
протоколу РРР состоит из четырёх стадий:
1) установление связи посредством пакетов LCP Link Control Protocol (осуществляется
выбор протоколов аутентификации, шифрования, сжатия и устанавливаются параметры
соединения)
2) установление подлинности пользователя (реализуются алгоритмы аутентификации, на
основе протоколов РАР Password Authentication Protocol, СНАР Challenge Handshake
Authentication Protocol или MS-CHAP Microsoft Challenge Handshake Authentication
Protocol)
3) контроль повторного вызова РРР (необязательная стадия, в которой подтверждается
подлинность удалённого клиента)
4) вызов протокола сетевого уровня (реализация протоколов, установленных на первой
стадии).

Примечание:
PAP - протокол простой проверки подлинности, предусматривающий отправку имени
пользователя и пароля на сервер удаленного доступа открытым текстом (без шифрования).
Протокол PAP крайне ненадежен, поскольку пересылаемые пароли можно легко читать в
пакетах PPP, которыми обмениваются стороны в ходе проверки подлинности. Обычно PAP
используется только при подключении к старым серверам удаленного доступа, которые не
поддерживают никакие другие протоколы проверки подлинности.
CHAP - широко распространённый алгоритм проверки подлинности, предусматривающий
передачу не самого пароля пользователя, а косвенных сведений о нём. При использовании CHAP
сервер удаленного доступа отправляет клиенту уникальную строку запроса, например дату и
время. На основе этой строки и пароля пользователя клиент вычисляет хеш-код MD5 и передает
его серверу. Хеш-функция является алгоритмом одностороннего (необратимого) шифрования,
поскольку значение хеш-функции для блока данных вычислить легко, а определить исходный блок
по хеш-коду с математической точки зрения невозможно за приемлемое время. Сервер, которому
доступен пароль пользователя, выполняет те же самые вычисления и сравнивает результат с
хеш-кодом, полученным от клиента. В случае совпадения учётные данные клиента удалённого
доступа считаются подлинными.
MS-CHAP - протокол, разработанный корпорацией Microsoft для выполнения процедур
проверки подлинности удалённых рабочих станций Windows. Протокол MS-CHAP генерирует
запрос и ответ с помощью алгоритма хеширования MD4 и алгоритма шифрования DES;
предусмотрены также механизмы возврата сообщений об ошибках подключения и возможности
изменения пароля пользователя.

PPP инкапсулирует IP пакеты внутри PPP фреймов (кадров), поэтому в описании PPP часто
встречается аббревиатура Framed. PPP используется для установки прямых соединений между
двумя узлами. Широко применяется для соединения компьютеров с помощью телефонной линии.
Также используется поверх широкополосных соединений. Многие интернет-провайдеры
используют PPP для предоставления коммутируемого доступа в Интернет. Кроме того, PPP
используется в мобильной связи (в частности, в сетях GSM) для соединения терминалов с
Интернетом.
Чтобы передавать кадры PPP по существующим сетям, требуется их инкапсуляция в
протоколы данных сетей. При передаче по физическим одноранговым сетям на канальном уровне
(городские кабельные сети, технологии xDSL) используется протокол PPPoE (PPP over Ethernet),
для передачи по сетям 3-го уровня (IP сети, Интернет) используются протоколы PPTP и L2TP.
PPPoE - это туннелирующий протокол, который позволяет инкапсулировать IP или другие
протоколы через соединения Ethernet, но с программными возможностями PPP соединений, и
поэтому используется для виртуальных «звонков» на соседнюю Ethernet-машину и устанавливает
соединение точка-точка, которое используется для транспортировки IP-пакетов.
Это позволяет применять традиционное PPP-ориентированное ПО для настройки
соединения, которое использует не последовательный канал, а пакетно-ориентированную сеть (как
Ethernet), чтобы организовать классическое соединение с логином и паролем для Интернет-
соединений. Также, IP-адрес по другую сторону соединения назначается только когда PPPoE
соединение открыто, позволяя динамическое переиспользование IP адресов.
Работа PPPoE осуществляется следующим образом. Существует Ethernet-среда, то есть
несколько соединённых сетевых карт (в случае городской кабельной сети – очень много сетевых
карт), которые адресуются MAC-адресами. Заголовки Ethernet-кадров содержат адрес отправителя
кадра, адрес получателя кадра и тип кадра. Одну из карт прослушивает PPPoE сервер. Клиент
посылает широковещательный Ethernet кадр, на который должен ответить PPPoE сервер (адрес
отправителя кадра — свой MAC-адрес, адрес получателя кадра — FF:FF:FF:FF:FF:FF и тип кадра
— PPPoE Discovery Initiation). PPPoE сервер посылает клиенту ответ (адрес отправителя кадра —
свой MAC-адрес, адрес получателя кадра — МАС-адрес клиента и тип кадра — PPPoE Discovery
offer). Если в сети несколько PPPoE серверов, то все они посылают ответ. Клиент выбирает
подходящий сервер и посылает ему запрос на соединение. Сервер посылает клиенту
подтверждение с уникальным идентификатором сессии, все последующие кадры в сессии будут
иметь этот идентификатор. Таким образом, между сервером и клиентом создается виртуальный
канал, который идентифицируется идентификатором сессии и MAC-адресами клиента и сервера.
Затем в этом канале поднимается PPP соединение, а уже в PPP пакеты упаковывается IP-трафик.
PPTP Point-to-point tunneling protocol - туннельный протокол типа точка-точка,
разработанный Microsoft, позволяющий компьютеру устанавливать защищённое соединение с
сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP
помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например
Интернет. PPTP может также использоваться для организации туннеля между двумя локальными
сетями. РРТР использует дополнительное TCP-соединение (порт 1723) для обслуживания туннеля.
Дополнительно может использоваться протокол Microsoft Point-to-Point Encryption MPPE
для шифрования данных поверх соединений PPP. Он использует поточный алгоритм RC4,
разработанный RSA Security. MPPE поддерживает 40- и 128-битные ключи, которые меняются в
течение сессии.
Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует
последовательность битов (ki), которая затем объединяется с открытым текстом (mi) посредством
суммирования по модулю два (исключающее ИЛИ, XOR). Так получается шифрограмма (ci):
.
Расшифровка заключается в регенерации этого ключевого потока (ki) и сложении его и
шифрограммы (ci) по модулю два. В силу свойств суммирования по модулю два на выходе мы
получим исходный незашифрованный текст(mi):

Другая главная часть алгоритма — функция инициализации, которая использует ключ


переменной длины для создания начального состояния генератора ключевого потока.
Алгоритм RC4 является быстрым, но ненадежным, поэтому VPN на основе PPTP считаются
слабо защищенными, и для организации конфиденциальных сетей рекомендуется использовать
L2TP over IPSec.
L2TP Layer 2 Tunneling Protocol - сетевой протокол туннелирования канального уровня,
сочетающий в себе протокол L2F (Layer 2 Forwarding), разработанный компанией Cisco, и
протокол PPTP корпорации Microsoft. L2TP использует для транспортировки протокол UDP как
для туннелирования данных, так и для управления туннелем. Для шифрования данных и проверки
подлинности пакетов применяются средства IP Security. Чаще всего в качестве алгоритма
шифрования используется DES или 3DES (Triple DES, данные шифруются трижды алгоритмом
DES с разными ключами, длина итогового ключа составляет 56*3=168 бит), для проверки
подлинности (целостности пакетов) используются хеш функции MD5 и SHA-1.

При осуществлении удаленного доступа к частной сети, пользователь передает свои


идентификационные данные, обычно имя и пароль, поэтому независимо от способа организации,
VPN точки доступа должны иметь возможность проверять подлинность пользователей и, если
требуется, вести учет потребляемых ими сетевых ресурсов. Для этих целей используется
концепция ААА.
Модель AAA (Authentication, Authorization, Accounting) используется для описания процесса
предоставления доступа и контроля за ним.
Authentication (аутентификация) - процесс, позволяющий аутентифицировать (проверить
подлинность) субъекта по его идентификационным данным, например, по логину (имя
пользователя, номер телефона и т. д.) и паролю.
Authorization (авторизация, проверка полномочий, проверка уровня доступа) - процесс,
определяющий полномочия идентифицированного субъекта на доступ к определённым объектам
или сервисам.
Accounting (учёт) - процесс, позволяющий вести сбор сведений (учётных данных) об
использованных ресурсах.
Серверы VPN (NAS, Network Access Server) могут проверять подлинность как по своим
спискам, так и использовать для этих целей услуги третьей стороны. Если рассмотреть случай
регионального провайдера Интернета, предоставляющего доступ тысячам или десяткам тысяч
пользователей, хранение всей базы пользователей прямо на маршрутизаторе, а тем более учет
потребляемого трафика не только не сложно, а просто невозможно, так как основная цель сетевых
устройств – обработка и передача сетевых пакетов, а не работа с базами данных. Поэтому для
осуществления ААА чаще используются внешние сервисы.
В настоящее время среди систем ААА лидирующее место занимают системы, построенные
на основе протокола RADIUS (также можно отметить протоколы TACACS+ и DIAMETER).
Cлужба удаленной аутентификации входящих звонков пользователей Remote Authentication
Dial-In User Service, сокращенно RADIUS - протокол AAA, разработанный для передачи сведений
между центральной платформой AAA и оборудованием Dial-Up доступа NAS и системой биллинга
(то есть, системой тарификации использованных ресурсов конкретным абонентом/пользователем).
На данный момент существует несколько коммерческих и свободно распространяемых
(open-source) RADIUS-серверов. Они несколько отличаются друг от друга по своим возможностям,
но большинство поддерживает списки пользователей в текстовых файлах, различных базах
данных, доменах Active Directory или на внешних серверах. Популярность RADIUS-протокола во
многом объясняется:
 открытостью к наполнению новой функциональностью при сохранении работоспособности
с устаревающим оборудованием;
 чрезвычайно высокой реактивностью при обработке запросов ввиду использования UDP в
качестве транспорта пакетов;
 хорошо параллелизуемым алгоритмом обработки запросов;
 способностью функционировать в кластерных архитектурах и мультипроцессорных
платформах) - как с целью повышения производительности, так и для реализации
отказоустойчивости.
Среди бесплатных RADIUS серверов наибольшее распространение получил сервер
FreeRADIUS, который и будет использоваться далее в лабораторной работе.

Топология Remote Access VPN в дисплейном классе

Топология организации VPN в лабораторной работе будет состоять из следующих


элементов:

 Клиенты VPN – виртуальные машины с адресами из сети 192.168.10.0/24


 NAS сервер VPN – маршрутизатор Cisco 871
 Частная сеть, к которой будет предоставляться доступ клиентам – сеть дисплейного класса
10.53.0.0/24
 Сервер ААА – компьютер, с запущенным на нем сервером FreeRADIUS.

В лабораторной работе 3 варианта со следующими параметрами:


1 вариант
Адрес маршрутизатора 10.53.0.251, имя Cisco1
Сеть для виртуальных машин 192.168.10.0/24

2 вариант
Адрес маршрутизатора 10.53.0.252, имя Cisco2
Сеть для виртуальных машин 192.168.11.0/24
3 вариант
Адрес маршрутизатора 10.53.0.253, имя Cisco3
Сеть для виртуальных машин 192.168.12.0/24

Далее пример настройки и адреса будут приведены для варианта 1.

Настройка FreeRADIUS

Сервер RADIUS использует для работы протокол транспортного уровня UDP, порт 1812
для аутентификации, и 1813 для учета. Рассмотрим, как отреагирует NAS при поступлении
запроса пользователя на аутентификацию:
1. пользователь пытается пройти аутентификацию на NAS
2. NAS посылает пакет для установки связи на RADIUS сервер (запрос на доступ)
3. если ответ не получен в течение определённого времени, то NAS либо опрашивает
RADIUS сервер ещё раз, либо ищет альтернативный сервер
4. RADIUS сервер по IP адресу NAS проверяет ключ симметричного шифрования, если IP
адрес и ключ соответствуют тому, что задано в конфигурационном файле, то связь
продолжается, иначе клиенту (NAS) посылается пакет Invalid Key. Проверка
осуществляется генерацией и шифрацией случайной строки. Далее передаваемые между
NAS и сервером RADIUS данные шифруются данным ключом.
5. сервер RADIUS проверяет пароль пользователя (по сети передается MD5 хеш пароля),
помимо пароля сервер может также проверить IP адрес и порт NAS, если эти данные
неверны, то сервер посылает NAS пакет "Доступ запрещён", содержащий код ошибки,
который также может содержать текстовое описание ошибки, отображаемое для
пользователя.
6. если же данные пользователя верны, то сервер посылает NAS пакет "Доступ разрешён",
содержащий данные о сервисе (PPP, login) и некоторые специфические параметры сервиса,
например, IP адрес, номер подсети, MTU для PPP сервиса, адрес DNS сервера, скорость
соединения и т.п. в виде пар параметр=значение (Attribute=Value, AV пар).

Распакуйте архив FreeRADIUS.zip в любую папку, все настройки сервера FreeRADIUS


хранятся в /etc/raddb в виде текстовых конфигурационных файлов. Данный сервер обладает
богатым функционалом, поэтому файлов настроек достаточно много, но для лабораторной работы
потребуются только два из них.
Файл clients.conf хранит адреса и общие секретные ключи для NAS серверов. В данном
случае это адрес маршрутизатора:

client 10.53.0.251 {
secret = lab4
shortname = cisco
}

Параметр secret определяет общий секретный ключ, который должен совпадать с тем, что
будет указан далее при настройке маршрутизатора. Shortname служит для определения имени при
ведении log файлов сервером FreeRADIUS, его значение ни на что не влияет.
Файл users.conf содержит учетные записи пользователей, которых необходимо
аутентифицировать, а так же дополнительные параметры для соединений. Символ # означает
комментарий, т.е. данная строка в конфигурации не участвует:

test Auth-Type := MS-CHAP, User-Password == "123"


Service-Type = Framed-User,
Framed-Protocol = PPP,
MS-CHAP-MPPE-Keys = 1,
# Framed-IP-Address = 10.53.0.201,

Запись описывает пользователя test с паролем 123 для аутентификации протокола PPP, сам
процесс аутентификации будет проходить по протоколу MS-CHAP (или его второй версии MS-
CHAP-v2), для шифрования соединения будет использоваться протокол MPPE. Следует отметить,
что в конце каждой строки параметров ставится запятая.
Запуск FreeRADIUS осуществляется файлом radius.cmd, прервать сервер – комбинация
Ctrl+C. Сервер читает свои файлы настроек только при запуске, поэтому если настройки
изменились (добавили/удалили/изменили пользователя), то сервер необходимо перезапустить.
Если в конфигурационных файлах были допущены ошибки, сервер сообщит о них и запускаться
не будет.

Настройка маршрутизатора Cisco 871

Маршрутизатор с интегрированными сервисами Integrated Services Router ISR Cisco 871


позволяет малым предприятиям обеспечить одновременную работу защищенных сервисов - таких
как межсетевые экраны, виртуальные частные сети и беспроводные локальные сети - со скоростью
широкополосных сетей. Легкость развертывания и возможность централизованного управления
делают маршрутизаторы Cisco серии 870 идеальным решением для:
 Малых офисов или удаленно работающих сотрудников в рамках корпоративной сети
 Малых и средних предприятий, которым необходимо обеспечить защищенные соединения с
распределенными сетями и организовать беспроводные локальные сети
 Провайдеров услуг, желающих предоставить услуги широкополосных и беспроводных
локальных сетей своим клиентам

В отличите от использованного ранее в эмуляторе маршрутизатора Cisco 3640, в котором


порты добавлялись с помощью карт в слотах расширения, Cisco 871 не имеет слотов, и уже
обладает встроенным свич модулем с портами f0, f1, f2, f3 и отдельным FastEthernet портом f4 для
подключения к WAN сетям.
Маршрутизаторы для лабораторных работ подключены в общую сеть интерфейсами f0 и f1,
остальные порты использоваться не будут. По умолчанию, все свич порты входят в состав сети
VLAN 1, на которой задан соответствующий IP адрес. Для варианта 1 это 10.53.0.251.
Настройка маршрутизатора будет осуществляться с помощью удаленной консоли по
протоколу TELNET (англ. TELecommunication NETwork) — сетевого протокола для реализации
текстового интерфейса по сети. Для подключения используйте программу putty.exe, выбрав
Connection type: telnet, и указав ip адрес 10.53.0.251
Имя и пароль для входа cisco/cisco. В целях безопасности во время telnet сессии работает
таймер бездействия, если долго ничего не делать то сессия будет автоматически завершена (все
настройки сохранятся), в этом случае просто подключитесь заново.

При настройке маршрутизатора ни в коем случае НЕ сохраняйте конфигурацию в


память (copy run sta). Если в случае неправильной настройки вы потеряете доступ к
маршрутизатору, его можно будет вернуть в исходное состояние перезагрузкой. Реальный
маршрутизатор, в отличие от виртуального, «зависает» только в исключительных случаях,
поэтому ваша конфигурация во время лабораторной работы не пропадет, и ее сохранение не
требуется. Студенты, которые будут намеренно менять настройки маршрутизатора, ведущие
к потере работоспособности (изменение имени, пароля, адресов и т.п.), и при этом сохранять
их в память, будут отстранены от выполнения лабораторной работы.

Примечание: Cisco 871 не поддерживает режим работы в качестве сервера PPPoE,


поэтому далее будет проводиться настройка только для PPTP и L2TP.

Чтобы виртуальные машины (клиенты VPN) могли подключаться к маршрутизатору, ему


необходимо назначить адрес в сети 192.168.10.0/24, например 192.168.10.1. Порт f0 останется в
составе vlan 1 с адресом 10.53.0.251, порт f1 выделим в отдельный vlan 2 и назначим
соответствующий адрес:

Cisco1(config)#int f1
Cisco1(config-if)#switchport access vlan 2
Cisco1(config-if)#no shut
Cisco1(config-if)#exit
Cisco1(config)#int vlan 2
Cisco1(config-if)#ip address 192.168.10.1 255.255.255.0
Cisco1(config-if)#end

В отличие от Cisco 3640, маршрутизатор модели 871 работает с более новой версией Cisco
IOS, которая сама создает vlan’ы при выделении портов. Убедитесь что в настройках виртуальной
машины выставлен тип подключения – мост. Запустите виртуальную машину, назначьте ей адрес,
например 192.168.10.2, и проверьте командой ping видимость маршрутизатора.
Далее включим на маршрутизаторе режим ААА, и зададим параметры аутентификации –
при подключении пользователей по telnet сессиям (aaa authentication login) они будут проверяться
по локальной базе маршрутизатора, для PPP сессий (authentication ppp) будет использоваться
RADIUS, авторизация доступа к сети тоже будет проходить через RADIUS (authorization network):

Cisco1(config)#aaa new-model
Cisco1(config)#aaa authentication login default local
Cisco1(config)#aaa authentication ppp default group radius
Cisco1(config)#aaa authorization network default group radius
Cisco1(config)#ip radius source-interface vlan 1
Cisco1(config)#radius-server host 10.53.0.2 auth-port 1812 acct-port 1813
Cisco1(config)#radius-server key lab4

Параметры RADIUS сервера задаются командой radius-server, указывается его адрес (адрес
компьютера, на котором запущен FreeRADIUS), порты и общий секретный ключ, который был
ранее задан в настройках сервера FreeRADIUS в файле clients.conf. Команда ip radius source-
interface однозначно определяет, с какого сетевого интерфейса отправлять запросы к RADIUS
серверу, так как в настройках сервера жестко указан адрес NAS, который должен совпадать с IP
адресом источника запросов. В данном случае команда необязательна, так как маршрутизатор
соединен с сервером только одним интерфейсом общей сети vlan 1, но в распределенных IP сетях
это не всегда так, и возможных маршрутов (а значит и интерфейсов) может оказаться несколько.
Все подключающиеся VPN клиенты будут получать адреса из общей сети, для этого
создается пул (диапазон) IP адресов с именем VPN_POOL и адресами от 10.53.0.200 до 203
(использовать заглавные символы необязательно, здесь и далее имена, выбираемые
администратором маршрутизатора, будут отмечаться в верхнем регистре для выделения и удобства
чтения):

Cisco1(config)#ip local pool VPN_POOL 10.53.0.200 10.53.0.203

Для каждого клиента VPN при подключении будет создаваться динамический сетевой
интерфейс для обмена данными, который автоматически уничтожается после завершения сеанса.
Чтобы задавать параметры для динамических интерфейсов используются шаблоны, называемые
виртуальными интерфейсами. Такая система похожа на принцип работы редактора Microsoft Word,
который хранит шаблон с параметрами (отступы от краев страницы, размер шрифта, стиль т т.п.),
и назначает их для каждого нового документа. Для создания виртуального интерфейса-шаблона
используется имя virtual-template и номер, например 1:

Cisco1(config)#int virtual-template 1
Cisco1(config-if)#ip unnumbered vlan 2
Cisco1(config-if)#peer default ip address pool VPN_POOL
Cisco1(config-if)#ppp encrypt mppe auto
Cisco1(config-if)#ppp authentication ms-chap-v2
Cisco1(config-if)#end

Команда ip unnumbered сообщает, что создаваемым динамическим интерфейсам


присваиваться конкретный IP адрес не будет, и для всех интерфейсов будет использоваться адрес
интерфейса vlan 1. Данный метод позволяет сэкономить адреса, но работает только на соединениях
«точка-точка». Далее peer default ip address указывает, что клиенты будут получать адреса из
заданного пула, включается шифрование по протоколу MPPE с автоподбором длины ключа, и
задается протокол MS-CHAP-v2 для проверки логина/пароля пользователя.
Остается запустить службу Virtual Private Dialup Networking VPDN с именем VPN_PPTP,
которая будет принимать входящие соединения по протоколу PPTP, создавая динамические
интерфейсы по шаблону virtual-template номер 1:

Cisco1(config)#vpdn enable
Cisco1(config)#vpdn-group VPN_PPTP
Cisco1(config-vpdn)#accept-dialin
Cisco1(config-vpdn-acc-in)#protocol pptp
Cisco1(config-vpdn-acc-in)#virtual-template 1
Cisco1(config-vpdn-acc-in)#end

Теперь, когда сервер NAS готов и ждет подключений, можно настроить VPN соединение на
клинте. В виртуальной машине Выберите Пуск \ Настройка \ Панель управления \ Сетевые
подключения (или вызовите свойства у ярлыка Сетевое окружение на рабочем столе), в меню
выберите Файл \ Новое подключение, при этом запустится мастер создания подключений, нажмите
Далее:

Выберите Подключить к сети на рабочем месте, далее:


Выберите Подключение к виртуальной частной сети, нажмите Далее, задайте имя для
подключения, например lab4pptp, затем мастер запросит IP адрес VPN сервера, в данном случае
это адрес интерфейса vlan 2 маршрутизатора 192.168.10.1. После того, как соединение создано,
будет предложено ввести имя и пароль, нажмите Свойства, так как сперва необходимо проверить
другие настройки, не предложенные мастером. Перейдите на вкладку Безопасность:

Должен быть установлен флаг Требуется шифрование данных, который включает


использование протокола MPPE на стороне клиента. На вкладке Сеть выберите Тип VPN как PPTP
VPN:
Нажмите OK, запустите соединение и введите имя test и пароль 123 (в соответствии с
настройками в файле users.conf сервера FreeRADIUS). Если все настройки были проведены
правильно, то будет выполнено подключение к маршрутизатору. При этом FreeRADIUS выведет
информацию о проверке подлинности, запрос от маршрутизатора на аутентификацию - пакет
Access-Request:

rad_recv: Access-Request packet from host 10.53.0.251:1645, id=4, length=126


Framed-Protocol = PPP
User-Name = "test"
MS-CHAP-Challenge = 0x53ca526a50b0acb4577970a33406e66d
MS-CHAP2-Response = 0x0100a377b038808a560ae6255d5d40bfeb0d00000000000000
007fff615cd1894be9f84f4f2e1dc400d2ce10428b137f8c53
Service-Type = Framed-User
NAS-IP-Address = 10.53.0.251
Ответ - пакет Access-Accept:

Sending Access-Accept of id 4 to 10.53.0.251 port 1645


Service-Type = Framed-User
Framed-Protocol = PPP
MS-CHAP-MPPE-Keys = 0x31
MS-CHAP2-Success = 0x01533d443831393737423237354645304241344643393841424
33245463643414441423037383330464446
MS-MPPE-Recv-Key = 0x2497d89a9a65cb46a73c30b3f9ba684b
MS-MPPE-Send-Key = 0x0a361258a86c3d680502b27faf35bbc9
MS-MPPE-Encryption-Policy = 0x00000001
MS-MPPE-Encryption-Types = 0x00000006

На маршрутизаторе посмотреть подключенные сессии можно с помощью команды show


vpdn:

Cisco1#sh vpdn

%No active L2TP tunnels

PPTP Tunnel and Session Information Total tunnels 1 sessions 1

LocID Remote Name State Remote Address Port Sessions VPDN Group
5 estabd 192.168.10.2 1048 1 VPN_PPTP
LocID RemID TunID Intf Username State Last Chg Uniq ID
5 0 5 Vi3 test estabd 00:01:41 4

При этом видно, что клиент с адресом 192.168.10.2 был подключен службой VPDN с
именем VPN_PPTP под именем test, для сессии был создан временный динамический интерфейс
Vi3. Можно также посмотреть и свойства самого интерфейса:

Cisco1#sh int vi3


Virtual-Access3 is up, line protocol is up
Hardware is Virtual Access interface
Interface is unnumbered. Using address of Vlan2 (192.168.10.1)
MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, LCP Open
Open: IPCP, CCP
PPPoVPDN vaccess, cloned from Virtual-Template1
……

Интерфейс использует адрес от vlan 2, скорость 100000 Кбит/c (100 Мбит), протокол
инкапсуляции PPP, интерфейс был создан по шаблону Virtual-Template 1.
Чтобы посмотреть свойства интерфейса со стороны клиента, выполните команду
ipconfig /all на виртуальной машине:

lab4pptp - PPP адаптер:

DNS-суффикс этого подключения . . :


Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-45-00-00-00
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 10.53.0.200
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 10.53.0.200

Интерфейсу был назначен первый свободный адрес из пула, так как соединение точка-
точка, то маска по умолчанию назначается 255.255.255.255, при этом в таблице маршрутизации
(команда route print) появился маршрут по умолчанию:

Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 10.53.0.200 10.53.0.200 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

Таким образом, все пакеты, которые адресуются за пределами локальной сети, будут
передаваться через созданное VPN соединение, что позволяет Интернет провайдерам
предоставлять доступ в сеть интернет посредством VPN.
Попробуйте сделать команду ping на адрес реального компьютера в дисплейном классе, так
как выдаваемые IP адреса находятся в той же сети 10.53.0.0 / 24, то пинг будет работать. Такая же
система используется интернет провайдерами, когда клиентам выдаются реальные IP адреса
интернета, только в данном случае вместо адресов интернета используется сеть дисплейного
класса.
Выдаваемый адрес выбирается из пула адресов как первый свободный, т.е. если подключить
еще одного VPN клиента, то он получит адрес 10.53.0.201, следующий клиент получит 202 и т.д.,
однако если третий клиент попробует подключиться после того, как первый разорвет соединение,
то он получит адрес 200 как первый освободившийся. Это приведет к тому, что если первый
клиент вновь захочет соединиться, то его адрес будет 202, а не «00 как был до этого. Для
большинства пользователей это не имеет значения, так как доступ к частной сети (или интернет)
будет работать независимо от выбранного адреса, но в ряде случаев такой подбор адресов
нежелателен. Обычно это касается тех клиентов, кто содержит сетевые сервисы: HTTP или FTP
сервер, файлообменный торрент или DC HUB и т.п., чтобы другие клиенты могли без проблем
пользоваться такими услугами, желательно чтобы у них был постоянный IP адрес, независимо от
того, когда они подключились к VPN и кто уже к нему подключен.
Естественно, если есть спрос на такие услуги, то всегда будет и предложение. Многие
провайдеры предоставляют услугу выделения постоянного IP адреса, хоть и за отдельную плату. С
точки зрения настройки, выделение постоянного адреса задается параметром Framed-IP-Address в
свойствах пользователя RADIUS сервера (файл users.conf):

test Auth-Type := MS-CHAP, User-Password == "123"


Service-Type = Framed-User,
Framed-Protocol = PPP,
MS-CHAP-MPPE-Keys = 1,
Framed-IP-Address = 10.53.0.200,

Перезапустите сервер чтобы изменения вступили в силу, теперь пользователь test всегда
будет получать адрес 10.53.0.200. Помимо назначения адресов, RADIUS может назначать и
множество других параметров, например адрес DNS сервера. Добавьте пользователю test
следующий параметр и перезапустите сервер:

Cisco-AVPair = "ip:dns-servers=10.53.0.9",

Переподключите на виртуальной машине VPN соединение и посмотрите команду ipconfig


/all:

lab4pptp - PPP адаптер:

DNS-суффикс этого подключения . . :


Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-45-00-00-00
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 10.53.0.200
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 10.53.0.200
DNS-серверы . . . . . . . . . . . : 10.53.0.9

Теперь у клиента есть оба необходимых параметра для организации доступа в интернет –
шлюз по умолчанию и адрес DNS сервера. Осталось только сообщить маршрутизатору, куда
направлять пакеты, адресуемые в Интернет:

Cisco1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Cisco1(config)#ip route 0.0.0.0 0.0.0.0 10.53.0.9
Cisco1(config)#end

Попробуйте сделать ping или зайти на любой сайт в Интернете для проверки.
Неотъемлемой частью предоставления услуг доступа как к частной сети, так и Интернет,
является понятие тарифного плана, который, как правило, задает объем доступного трафика и его
скорость. Ограничения по трафику основаны на учете передаваемых пакетов и их размера,
FreeRADIUS поддерживает механизм учета, но для нормальной работы данного сервиса
необходимо использование SQL сервера, что выходит за рамки лабораторной работы. Наложение
ограничения по скорости не требует дополнительных сервисов, и может быть выполнено как на
самом маршрутизаторе, чтобы ограничивать всех VPN клиентов, так и на сервере RADIUS, для
индивидуальных ограничений, т.е. у каждого пользователя свой тарифный план.

Примечание: Cisco 871 не поддерживает настройку скоростных характеристик


динамических интерфейсов по параметрам RADIUS в отличие от более старших моделей,
поэтому настройка полосы пропускания будет приведена для всех клиентов на маршрутизаторе.

Определение скорости работы соединения называется шейпингом, устройства, которые


выполняют данную задачу – шейперы. У маршрутизаторов Cisco существует несколько способов
ограничения – отбрасывание лишних пакетов или постановка в очередь. Для примера рассмотрим
первый способ с отбрасыванием пакетов, которые не укладываются в заданную полосу
пропускания. Скорость задается командой rate-limit на сетевом интерфейсе, с указанием
направления и скоростных характеристик. Чтобы команда применялась ко всем VPN клиентам,
зададим ее на шаблоне интерфейса:

Cisco1(config)#int virtual-template 1
Cisco1(config-if)#rate-limit output 512000 96000 192000 conform-action transmit
exceed-action drop
Cisco1(config-if)#rate-limit input 1024000 192000 384000 conform-action transmit
exceed-action drop

Скорость задается тремя параметрами: kbps normal-burst max-burst. Параметр kbps


определяет требуемую скорость в килобитах, остальные параметры Cisco рекомендует
рассчитывать по формулам:
normal-burst = kbps/8*1,5
max-burst = normal-burst*2
Направление output задает скорость для исходящего трафика на интерфейсе, для клиентов
VPN он будет входящим, и наоборот – входящий input для маршрутизатора будет исходящим
трафиком для клиентов. Введенные команды задали скорость входящих соединений для клиентов
512 Кбит/c, исходящих 1 МБит/c.
Чтобы проверить скорость соединений, скопируйте Total Commander на виртуальную
машину, наберите в его командной строке cd \\10.53.0.2 (любой адрес реального компьютера в
классе), логин elab_fpmt\student, пароль student, и попробуйте скопировать файл размером больше,
как минимум, 1 МБ:

Скорость 60 кбайт/c, чтобы перевести в килобиты 60*8*1024 = 491520. Скорость чуть


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

Примечание: для справки - настройка скоростных характеристик индивидуально для


каждого пользователя через RADIUS сервер осуществляется параметрами (Cisco 871 не
поддерживает):
Cisco-AVPair += "lcp:interface-config#1=rate-limit input 256000 32000 48000 conform-action
transmit exceed-action drop",
Cisco-AVPair += "lcp:interface-config#2=rate-limit output 256000 32000 48000 conform-action
transmit exceed-action drop",

В настроенной VPN топологии остается одна уязвимость – клиенты VPN могут получить
доступ к RADIUS серверу, так как находятся с ним в одной сети, и провести атаку на него, или
осуществить подбор логинов/паролей. В реальных условиях RADIUS сервер соединяют с NAS
отдельной изолированной сетью, в нашем случае доступ можно запретить с помощью фильтрации
пакетов по списку доступа:

Cisco1(config)#ip access-list extended RADIUS_FILTER


Cisco1(config-ext-nacl)#10 deny ip any host 10.53.0.2
Cisco1(config-ext-nacl)#20 permit ip any any
Cisco1(config-ext-nacl)#exit
Cisco1(config)#int virtual-template 1
Cisco1(config-if)#ip access-group RADIUS_FILTER in
Cisco1(config-if)#end
Сначала создается список, который блокирует все IP пакеты с любого адреса на RADIUS
сервер, затем список применяется к шаблону, чтобы он работал для всех VPN клиентов. Параметр
in в команде ip access-group применяет список к поступающим на интерфейс пакетам, т.е.
исходящим от клиента VPN, таким образом, реализуется функция подобная Firewall.

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

Настроить NAS сервер маршрутизатор Cisco 871 для удаленного доступа VPN по
протоколам PPTP и L2TP/IPSec с выделением адресов для клиентов (виртуальных машин) из
заданного диапазона и авторизацией через сервер RADIUS. Обеспечить доступ клиентам в сеть
Интернет, задать требуемые скоростные характеристики соединений, ограничить доступ клиентов
к серверу RADIUS, а так же к другим адресам в соответствии с заданием. Для некоторых клиентов
обеспечить выделение постоянного IP адреса.

Вариант 1

Адрес маршрутизатора 10.53.0.251, подсеть виртуальных машин 192.168.10.0/24


Диапазон адресов для VPN клиентов: 10.53.0.201– 10.53.0.203
Тариф «Старт» - скорость входящих соединений 512 Кбит/c, исходящих 1 Мбит/c
Запретить доступ VPN клиентам к серверу RADIUS.

Имя пользователя Пароль Постоянный IP адрес


vpn1 12345 -
Alex fs4ygrt -
client 453434r 10.53.0.201

Вариант 2

Адрес маршрутизатора 10.53.0.252, подсеть виртуальных машин 192.168.11.0/24


Диапазон адресов для VPN клиентов: 10.53.0.205– 10.53.0.208
Тариф «Качайка» - скорость входящих соединений 3 Мбит/c, исходящих 4 Мбит/c
Запретить доступ VPN клиентам к серверу RADIUS.

Имя пользователя Пароль Постоянный IP адрес


v123156 kkl5lk53 -
qwerty 999fgd -
5645it Uj453u45 10.53.0.206

Вариант 3

Адрес маршрутизатора 10.53.0.253, подсеть виртуальных машин 192.168.12.0/24


Диапазон адресов для VPN клиентов: 10.53.0.210 – 10.53.0.212
Тариф «Неплохо» - скорость входящих соединений 1 Мбит/c, исходящих 256 Кбит/c
Запретить доступ VPN клиентам к серверу RADIUS.

Имя пользователя Пароль Постоянный IP адрес


login password -
Dfgd5gf 111111 -
kkkqqq 43t43tt4 10.53.0.211