30 окт. 2009 г.

Настройка PPTP во Vyatta

В этой заметке мы рассмотрим настройку Vyatta в качестве сервера доступа по протоколу PPTP. Еще раз отметим, что PPTP-клиентом она в исходном виде быть не умеет, только сервером.

Теоретическая часть

Протокол PPTP (Point-to-Point Tunneling Protocol) широко применяется для организации удаленного доступа. Для многих пользователей он стал фактически синонимом VPN (Virtual Private Network). Не в последнюю очередь этому способствует встроенный в Microsoft Windows клиент. Для начала посмотрим, что в нем хорошо, а что не слишком, и сделаем вывод, в каких случаях стоит его применять.

Преимущества

  1. Простота настройки
  2. Аутентификация по имени пользователя и паролю — их можно запомнить
  3. Встроенный в Windows и многие офисные сетевые устройства клиент

Недостатки

  1. Слабое шифрование
  2. Отсутствие аутентификации по ключам и сертификатам
  3. Отсутствие клиента в промышленных сетевых устройствах

Последний пункт не так прост, как можно подумать. В некоторых версиях 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-адреса и пароли указаны просто для примера, вам нужно будет вставить вместо них свои.

Комментариев нет:

Отправить комментарий