Соединение PPTP - что это такое? Соединение PPTP — что это такое? Реализация PPTP в различных операционных системах.
Рассмотрев в предыдущих частях теоретические вопросы перейдем к практической реализации. Сегодня мы рассмотрим создание 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 хорошо подходит для знакомства с принципами работы виртуальных частных сетей.