В этой заметке мы рассмотрим настройку Vyatta в качестве сервера доступа по протоколу PPTP. Еще раз отметим, что PPTP-клиентом она в исходном виде быть не умеет, только сервером.
Теоретическая часть
Протокол PPTP (Point-to-Point Tunneling Protocol) широко применяется для организации удаленного доступа. Для многих пользователей он стал фактически синонимом VPN (Virtual Private Network). Не в последнюю очередь этому способствует встроенный в Microsoft Windows клиент. Для начала посмотрим, что в нем хорошо, а что не слишком, и сделаем вывод, в каких случаях стоит его применять.
Преимущества
- Простота настройки
- Аутентификация по имени пользователя и паролю — их можно запомнить
- Встроенный в Windows и многие офисные сетевые устройства клиент
Недостатки
- Слабое шифрование
- Отсутствие аутентификации по ключам и сертификатам
- Отсутствие клиента в промышленных сетевых устройствах
Последний пункт не так прост, как можно подумать. В некоторых версиях Cisco IOS он все таки есть в качестве недокументированной возможности, а на Vyatta его можно поставить отдельно. Но это все же не совсем то, что стоит использовать.
Вывод
После этого списка преимуществ и недостатков мы может сделать вывод о том, в каких случаях стоит применять PPTP. Он хорошо пригоден для удаленного доступа к сети с компьютеров конечных пользователей, но непригоден для построения туннелей между маршрутизаторами, или для соединений с высокой защищенностью.
Исходя из этого наша схема сети будет выглядеть так:
Практическая часть
Теперь, когда мы решили, для каких задач можно применить PPTP, перейдем к настройке нашего сервера доступа. Мы рассмотрим два варианта аутентификации пользователей: сначала локальную, а потом на RADIUS-сервере. Как обычно заходим под пользователем с правами администратора (например, vyatta), входим в режим конфигурации (configure) и вводим примерно следующее:
# Назначаем адрес интерфейсу, если еще не назначен set interfaces ethernet eth0 address 10.91.19.250/24 # Переходим к редактированию настроек PPTP-сервера edit vpn pptp remote-access # Устанавливаем локальную аутентификацию. При ней список пользователей хранится на самом сервере set authentication mode local # Назначаем первый адрес диапазона, из которого клиентам будут выдаватся адреса set client-ip-pool start 10.91.19.180 # И последний адрес set client-ip-pool stop 10.91.19.195 # Первый сервер имен нашей сети. set dns-servers server-1 10.91.19.5 # И второй сервер имен set dns-servers server-2 10.91.19.7 # Создаем тестового пользователя set authentication local-users username testuser password testpassword # Применяем изменения commit # На этом все, процесс PPTP-сервера успешно запустился
Теперь можно настраивать соединение и проверять, туннель должен подняться. В Windows можно просто принять параметры по умолчанию, для пользователей UNIX нужно указать, что используется протокол аутентификации MS CHAPv2, алгоритм шифрования MPPE и не используется никакое сжатие. Вариантов настройки у бэкэнда, который использует Vyatta (pptpd) гораздо больше, но через ее интерфейс они недоступны.
Аутентификация на RADIUS-сервере
На vpn-концентраторах с большим числом пользователей локальную аутентификацию, конечно, никто не использует. Для этого обычно используется протокол RADIUS (Remote Authentication in Dial-In User Service), который позволяет еще и сбор информации для биллинга, хранение учетных записей в базе данных и еще много чего.
Настройка самого RADIUS-сервера чтобы с него была какая-то реальная польза это тема для отдельной статьи. Поэтому здесь мы рассмотрим только настройку Vyatta в качестве клиента. Отличаться будет только узел конфигурации authentication. Нужно лишь немного изменить предыдущую конфигурацию.
# Удаляем то, что касается локальной аутентификации delete authentication mode local delete authentication local-users username testuser # Устанавливаем аутентификацию в RADIUS set authentication mode radius # Указываем сервер set authentication radius-server 10.91.19.5 # Указываем пароль для доступа клиента к серверу, в терминах RADIUS он называется secret set authentication radius-server 10.91.19.5 key verylongpassword # Применяем изменения commit
Все ip-адреса и пароли указаны просто для примера, вам нужно будет вставить вместо них свои.
Комментариев нет:
Отправить комментарий