Рассмотрев в предыдущих частях теоретические вопросы перейдем к практической реализации. Сегодня мы рассмотрим создание VPN сервера PPTP на платформе Ubuntu Server. Данный материал рассчитан на читателей, имеющих навыки работы с Linux, поэтому мы не будем отвлекаться на вещи описанные нами в других статьях, таких как настройку сети и т.п. Если вы испытываете затруднения - предварительно изучите другие наши материалы.

Практическое знакомство с VPN мы начнем с PPTP, как наиболее простого в реализации. Однако следует помнить о том, что это слабозащищенный протокол и его не следует использовать для доступа к критически важным данным.

Рассмотрим схему, которую мы создали в нашей тестовой лаборатории для практического знакомства с данной технологией:

У нас имеется локальная сеть 10.0.0.0/24 с сервером терминалов 10.0.0.2 и 10.0.0.1, который будет выполнять функции VPN сервера, для VPN мы зарезервировали сеть 10.0.1.0/24. Внешний интерфейс сервера имеет условный выделенный IP адрес X.X.X.X. Наша цель - предоставить удаленным клиентам доступ к терминальному серверу и общим ресурсам на нем.

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

Установим пакет pptpd реализующий функционал PPTP VPN:

Sudo apt-get install pptpd

Теперь откроем файл /etc/pptpd.conf и зададим основные настройки VPN сервера. Перейдем в самый конец файла, где укажем адрес сервера в VPN сети:

Localip 10.0.1.1

И диапазон адресов для выдачи клиентам:

Remoteip 10.0.1.200-250

Адресов нужно выделить не меньше, чем возможных одновременных соединений, лучше с небольшим запасом, так как их увеличение без перезапуска pptpd невозможно. Также находим и раскомментируем строку:

Bcrelay eth1

Это позволит передавать VPN клиентам широковещательные пакеты внутренней сети.

Также можно использовать опции listen и speed , первая позволяет указать IP адрес локального интерфейса для прослушивания входящих PPTP соединений, второй указать скорость VPN соединений в бит/с. Например разрешим серверу принимать PPTP соединения только с внешнего интерфейса:

Listen X.X.X.X

Более тонкие настройки находятся в файле /etc/ppp/pptpd-options . Настройки по умолчанию вполне соответствуют нашим требованиям, однако кратко рассмотрим некоторые из них, чтобы вы имели представление о их назначении.

Секция #Encryption отвечает за шифрование данных и проверку подлинности. Данные опции запрещают использование устаревших и небезопасных протоколов PAP, CHAP и MS-CHAP:

Refuse-pap
refuse-chap
refuse-mschap

Require-mschap-v2
require-mppe-128

Следующая секция #Network and Routing , здесь следует обратить внимание на опцию ms-dns , которая позволяет использовать DNS сервер во внутренней сети. Это может быть полезно при доменной структуре сети или наличия в ней DNS сервера который содержит имена всех ПК сети, что дает возможность обращаться к компьютерам по их именам, а не только по IP. В нашем случае данная опция бесполезна и закомментирована. Подобным образом можно задать и адрес WINS сервера опцией ms-wins .

Здесь же находится опция proxyarp , включающая, как несложно догадаться из названия, поддержку сервером Proxy ARP.

В секции #Miscellaneous содержится опция lock , которая ограничивает клиента одним подключением.

Ivanov * 123 *
petrov * 456 10.0.1.201

Первая запись позволяет подключаться к серверу пользователю ivanov c паролем 123 и присваивает ему произвольный IP адрес, вторая создает пользователя petrov с паролем 456, которому при подключении будет присваиваться постоянный адрес 10.0.1.201.

Перезапускаем pptpd :

Sudo /etc/init.d/pptpd restart

Важное замечание! Если pptpd не хочет перезапускаться, зависая на старте, а в /var/log/syslog добавляя строку long config file line ignored обязательно добавьте в конец файла /etc/pptpd.conf перенос строки.

Наш сервер готов к работе.

Настройка клиентских ПК

В общем случае достаточно настроить VPN соединение с опциями по умолчанию. Однако мы советуем явно указать тип соединения и отключить лишние протоколы шифрования.

Далее, в зависимости от структуры сети, необходимо указать статические маршруты и основной шлюз. Эти вопросы подробно разбирались в предыдущих частях.

Устанавливаем VPN соединение и пробуем пропинговать какой либо ПК в локальной сети, мы без каких либо затруднений получили доступ к терминальному серверу:

Теперь еще одно важное дополнение. В большинстве случаев доступ к компьютерам локальной сети будет возможен только по IP адресам, т.е. путь \\10.0.0.2 будет работать, а \\SERVER - нет. Это может оказаться неудобным и непривычным для пользователей. Существует несколько способов решения данной проблемы.

Если локальная сеть имеет доменную структуру, достаточно указать DNS сервером для VPN подключения DNS сервер контроллера домена. Воспользуйтесь опцией ms-dns в /etc/ppp/pptpd-options сервера и данные настройки будут получены клиентом автоматически.

Если DNS сервер в локальной сети отсутствует, то можно создать и использовать WINS сервер, информацию о нем также можно автоматически передавать клиентам при помощи опции ms-wins . И наконец, если удаленных клиентов немного, использовать на клиентских ПК файлы hosts (C:\Windows\System32\drivers\etc\hosts), куда следует добавить строки вида.

Нажмите кнопку Пуск, выберите Панель Управления

Выберите Центр управления сетями и общим доступом

Выберите Создание нового подключения или сети

Выберите вариант подключения Подключение к рабочему месту

На вопрос системы "Использовать существующее подключение?" ответьте Нет, создать новое подключение

В следующем окне выберите Использовать мое подключение к Интернету (VPN)

Введите адрес VPN-сервера (172.17.0.1) и название для подключения (например, Конкорт-1)

Вспоминаем и вводим Ваш логин\пароль на статистику. Ставим галочку "Запомнить этот пароль".
Примечание : на текущий момент логин\пароль на VPN совпадает с Вашим логином\паролем на статистику. Если Вы измените пароль на странице абонента, то к изменению пароля на соединение VPN это не приведет!

Жмем "Пропустить"

Откройте свойства созданного подключения (в примере Конкорт-1), нажав правой кнопкой мыши по соединению.

Установите параметры соответственно рисунку

Приветствуем Вас на нашем сайте! В этой инструкции вы узнаете, как настроить VPN-подключение по протоколу PPTP для операционной системы Windows 7.

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

Для настройки VPN по протоколу PPTP для ОС Windows 7 Вам понадобятся:

  • ОС Windows 7;
  • адрес VPN-сервера, к которому будет осуществляться подключение по протоколу PPTP;
  • логин и пароль.

На этом теоретическая часть закончена, приступим к практике.

1. Открываем меню "Пуск " и переходим в "Панель управления " Вашим компьютером

2. Затем выбираем раздел "Сеть и Интернет"

3. В открывшемся окне выбираем "Центр управления сетями и общим доступом"

4. На следующем этапе выбираем пункт "Настройка нового подключения или сети"

5. Во вновь открывшемся окне выбираем пункт "Подключение к рабочему месту"

6. В новом окне выбираем пункт "Использовать мое подключение к Интернету (VPN)"

8. В открывшемся окне в поле "Интернет-адрес" вводим адрес вашего VPN-сервера, в поле "Имя местоназначения" вводим название подключения, которое можно выбрать произвольно

9. В следующем окне вводим логин и пароль, которые прописаны на сервере VPN. В поле "Запомнить этот пароль" ставим "галочку", что бы не вводить его при каждом подключении

10. После перечисленных действий подключение готово к использованию, нажимаем кнопку "закрыть"

11. После этого заходим снова в меню Пуск, затем в Панель управления, Сеть и Интернет, Управление сетями и общим доступом, где выбираем пункт "Изменение параметров адаптера"

12. Находим в этом окне наше VPN-подключение, кликаем по нему правой кнопкой мышки и переходим в его свойства

14. В этом же окне, только на вкладке «Сеть» убираем "галочки" напротив пунктов: "Клиент для сетей Microsoft" и "Служба доступа к файлам и принтерам сетей Microsoft"

На этом настройка VPN по протоколу PPTP для операционной системы Windows 7 завершена и VPN-соединение готово к использованию.

  • Шаг 1. Щелкните по иконке сети на панеле задач и откройте Центр управления сетями и общим доступом .

  • Шаг 2. Выберите Настройка нового подключения или сети .

  • Шаг 3. Выберите Подключение к рабочему месту и создать новое подключение (если отобразится новое окно) и щелкните Далее .

  • Шаг 4. Выберите Использовать мое подключение к Интернету (VPN) .

  • Шаг 5. Введите Hostname (из текстового файла PPTP в панели пользователя) в качестве Интернет-адреса и дайте название подключению в поле Имя местоназначения . Укажите Не подключаться сейчас и щелкните Далее .

  • Шаг 6. Введите авторизационную информацию (из текстового файла PPTP в панели пользователя). Укажите Запомнить этот пароль и щелкните Создать . Закройте следующее окно.

  • Шаг 7. Щелкните по иконке сети на панеле задач. Щелкните правой кнопкой мыши по только что созданному подключению и войдите в Свойства .

  • Шаг 8. Выберите вкладку Безопасность и измените тип VPN на Туннельный протокол точка-точка (PPTP) и шифрование данных на Самое стойкое . Щелкните по кнопке ОК .

  • Шаг 9. VPN подключение готово. Теперь щелкните по иконке сети на панеле задач, выберите ваше новое VPN подключение и нажмите Подключение .

  • Шаг 10. Щелкните Подключение .NB! Никогда не используйте функцию сохранения пароля на компьютерах общего пользования! Если кто-либо подключится по сохраненным данным, ваше соединение будет разорвано!

  • Шаг 11. Щелкните по иконке сети на панеле задач и нажмите Отключение чтобы разорвать соединение.

  • Шаг 12. Если вы увидите окно Настройки сетевого размещения , выберите Общественная сеть .

Удаление VPN подключения


В этой статье мы рассмотрим настройку PPTP–VPN сервера в Ubuntu. VPN сервер – это очень полезная в хозяйстве вещь, обеспечивающая безопасное, шифрованное подключение к локальной сети (напр. домашней сети) удаленных компьютеров, смартфонов и подобных устройств. Например, свой VPN сервер позволит вам:

  • Обеспечить конфиденциальность переданных и полученных данных, когда вы (ваш ноутбук, смартфон) находитесь в недоверительной сети, и существует угроза со стороны этой сети.
  • Безопасно управлять сервером через , ведь пароль на общий доступ к экрану обычно передается в открытом виде (исключение – удаленный рабочий стол в Mac OS X и управление им с помощью Apple Remote Desktop), из-за чего совершенно недопустимо подключаться к рабочему столу напрямую через Интернет.
  • То же самое можно сказать, если вы пользуетесь классическим FTP для передачи файлов – протокол также не обеспечивает механизма безопасной аутентификации, из-за чего при возможности стараются использовать SFTP.
  • Безопасно обмениваться данными как с сервером, так и с компьютерами составляющими вашу локальную (домашнюю) сеть (при условии отсутствия атаки ХПВК, Хакеры Прямо В Квартире).

Вообще говоря, VPN обеспечит вам зашифрованный виртуальный туннель между сервером и удаленной машиной, со всеми вытекающими отсюда следствиями. Если представить Internet в виде трубы, то VPN создает внутри нее трубу меньшего диаметра, доступную только для «своих».

Теперь, когда мы рассмотрели сплошные преимущества VPN, самое время познакомиться с технологией более детально, и разобраться какие разновидности VPN существуют.

На сегодняшний день существует несколько реализаций VPN:

После этого правим файл /etc/pptpd.conf выполнив в Терминале:

sudo pico /etc/pptpd.conf

Вот как этот файл выглядит у меня:

Затем в файл /etc/ppp/chap-secrets добавляем пользователей которые будут иметь право подключатся к VPN-сети. Набираем в Терминале:

sudo pico /etc/ppp/chap-secrets

И добавляем в этот файл информацию в таком виде:

# Secrets for authentication using CHAP
# client server secret IP addresses
andrey pptpd andrey12 *

Таким образом, мы наделили пользователя andrey с паролем andrey12 правом подключаться к нашей VPN сети. Пользователю andrey будет выдаваться первый доступный IP адрес из указанного диапазона. Если же необходимо, чтобы пользователю всегда выдавался один и тот же IP адрес, укажите желаемый IP вместо «*». Обратите внимание на название сервиса – pptpd – оно должно быть таким же, как указано в параметре name в файле /etc/ppp/pptpd-options.

С настройками VPN-сервера мы завершили, теперь нужно его перезапустить для того, чтобы изменения которые мы внесли вступили в силу. Для этого выполним в Терминале:

sudo /etc/init.d/pptpd restart

Если необходимо, чтобы для подключенных удаленных клиентов был доступен интернет через VPN, открываем /etc/rc.local и НАД ‘exit 0’ добавляем такие строки:

# PPTP IP forwarding
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

и раскомментируем эту строчку в файле /etc/sysctl.conf:

net.ipv4.ip_forward=1

В случае если ваш VPN сервер не подключен напрямую к интернету, вам скорее всего понадобится направить порт TCP-1723 и «протокол 47», он же GRE , на локальный IP адрес VPN сервера. Обратитесь к инструкции по настройке роутера чтобы выполнить необходимые шаги. Очевидно, что у сервера за роутером должен быть постоянный локальный IP, а у самого роутера – постоянный «внешний» IP, либо прийдется воспользоваться услугой «динамический DNS», но это совсем другая тема.

Перезагружаем сервер. Можно пробовать подключаться. Ваш VPN должен быть доступен с любой точки мира, где только есть интернет.

Подключение клиента с Mac OS X 10.6

Для подключения к VPN с Mac OS X 10.6, откройте «Системные Настройки», перейдите в раздел «Сеть», под списком интерфейсов нажмите внизу «+» и в появившемся окне добавления интерфейса выберите «Интерфейс: VPN», «Тип VPN: PPTP». И нажмите создать. В настройках укажите:

  • Доменное имя сервера VPN, или IP адрес
  • Имя учетной записи (логин)
  • Кодирование (шифрование канала) – выберите «Максимум (только 128 бит)»

Потом щелкните «Настройки идентификации», укажите что идентификация осуществляется посредством пароля и введите пароль.

Щелкните «Дополнительно», и установите либо снимите галочку «Отправить весь трафик через VPN». Если галочка установлена – то абсолютно весь трафик будет проходить через VPN сервер и по шифрованному каналу доставляться вам. Если галочка снята – то только трафик предназначающийся для удаленной локальной сети будет проходить через VPN канал (например, вы сможете через Remote Desktop управлять сервером), а весь остальной трафик, например получение почты и загрузка веб страниц будут осуществляться напрямую из интернета по кратчайшему маршруту. Подтвердите изменения нажав «ОК».

Теперь можно попробовать подключиться, нажав «Подключить», (см. 1-й скриншот), или выбрав нужное VPN соединение в строке меню сверху.

Подключение iPhone с iOS 4

Для подключения iPhone с операционной системой iOS 4 к PPTP VPN, откройте Настройки, перейдите в раздел «Основные», потом «Сеть». Щелкните пункт «VPN», если у вас нет VPN конфигураций, напротив него будет написано «Не настроена». Щелкните «Добавить конфигурацию VPN…». В открывшемся окне переходим на вкладку PPTP, и заполняем:

  • Описание – то, как будет называться данное VPN соединение
  • Сервер – доменное имя или IP адрес
  • Учетная запись – ваш логин
  • RSA SecurID – оставляем выключенным
  • Пароль – вводим свой пароль
  • Шифрование – выбираем «Максимум»
  • Для всех данных – либо включаем либо выключаем, руководствуясь соображениями описанными выше

Диагностика подключения

PPTP обычно заводится без проблем, и при аккуратной первичной настройке работает сразу же (в отличие от более сложного L2TP-over-IPSec). И если вы, все же, испытываете проблемы с подключением, используйте следующие команды на клиенте (в рассматриваемом случае это Mac OS X) для отслеживания лога подключения в режиме реального времени:

tail -f /var/log/system.log
tail -f /var/log/ppp.log

Вы должны увидеть там что-то типа такого:

May 2 21:44:59 ATT pppd: PPTP connecting to server "server1..456.789.10)…
May 2 21:45:02 ATT pppd: PPTP connection established.
May 2 21:45:02 ATT pppd: Connect: ppp0 <--> socket
May 2 21:45:08 ATT pppd: MPPE 128-bit stateless compression enabled
May 2 21:45:09 ATT pppd: local IP address 192.168.18.2
May 2 21:45:09 ATT pppd: remote IP address 192.168.18.1
May 2 21:45:09 ATT pppd: primary DNS address 10.0.0.1
May 2 21:45:09 ATT pppd: secondary DNS address 10.0.0.1

Если требуется включить детальное логирование на сервере, обратитесь к уже упоминавшемуся справочнику «Описание опций /etc/pptpd.conf и /etc/ppp/options.pptpd ».

«Криптоанализ туннельного протокола типа точка-точка (PPTP) от Microsoft » – Статья достаточно старая, например, механизмом MS-CHAP уже давно никто не пользуется (ведь есть MS-CHAP v.2, намного более надежный, хотя тоже очень далек от идеала), но позволяет сложить впечатление об общей схеме работы PPTP. Также, будет понятно, почему нет смысла усовершенствовать и дорабатывать PPTP, а вместо этого лучше рассмотреть альтернативные, более современные, варианты.

«Cryptanalysis of Microsoft’s PPTP Authentication Extensions (MS-CHAPv2) » – Вторая статья в продолжение упомянутой выше (перевода нет, поэтому читаем на языке Шекспира), в которой рассматривается усовершенствованный PPTP с аутентификацией MS-CHAP v2 и улучшенным MPPE (шифрование канала). Именно на этом варианте остановилось развитие PPTP. Резюме статьи – MS-CHAP v2 лучше чем MS-CHAP v1, потому что авторизируется не только клиент, а клиент и сервер авторизируют друг друга, что исключает подмену сервера. Шифрование канала MPPE теперь использует разный ключ для шифрования данных от сервера к клиенту и от клиента к серверу. Явные огрехи в безопасности устранены, и теперь главная критика на PPTP направлена на то, что протокол остается пароле-зависимым, то есть он настолько безопасен, насколько безопасен пароль, выбранный пользователем.

« » – Для тех кто уже разобрался с PPTP, предлагаю ознакомиться с более продвинутой VPN технологией — L2TP/IPSec. Статья дописывалась и правилась на протяжении 3-х лет, рассмотрено очень много нюансов.

Резюме

PPTP – самый простой в настройке сервис VPN, однако он не соответствует современным требованиям безопасности. В добавок к этому, PPTP часто блокируют провайдеры и сотовые операторы. Поэтому, внедрение PPTP для корпоративного применения оправдано лишь в том случае, если необходимо обеспечить совместимость с существующим старым оборудованием. Благодаря своей простоте, эта разновидность VPN хорошо подходит для знакомства с принципами работы виртуальных частных сетей.