Создание PPTP-сервера для реализации защищенного доступа к домашней сети в операционных системах семейства Linux
В нашем журнале уже была опубликована статья, посвященная настройке операционной системы Windows XP для работы с домашним компьютером через Интернет. Однако сервис удаленного рабочего стола имеет слабую криптографическую защиту канала передачи данных между компьютерами. С появлением улучшенной версии этого сервиса в новой операционной системе Windows Vista защита от взлома тоже была модернизирована, но до сих пор остается слабым местом, поскольку ни сами пакеты, ни их содержимое не шифруется. А если рассматривать реализацию доступа не только к домашнему компьютеру, но и в локальную сеть провайдера (если таковая существует), то этот метод отпадает и необходимо искать другие пути решения.
Во всем мире для того, чтобы объединить несколько сетей, используются различные виды виртуальных частных сетей — VPN (Virtual Private Network). Многие компании, имеющие офисы в разных странах, применяют эту технологию, так как она позволяет использовать Интернет, обеспечивая при этом конфиденциальность передаваемых внутри нее данных, а также позволяет получить «прозрачную» для пользователей глобальную виртуальную сеть без установки дополнительного или существенного обновления имеющегося программного обеспечения. Среди самых распространенных протоколов, применяемых для передачи данных в сетях VPN, — PPTP, FreeS, PPP, SSL и IPSec (отметим, что последний состоит из нескольких протоколов, которые обеспечивают защиту IP-трафика). В настоящей статье рассматривается создание PPTP-сервера, поскольку настройка и отладка его не вызовут трудностей у пользователя Linux. Нельзя обойти вниманием и создание виртуальных частных сетей на основе популярного сервиса Hamachi. Этот сервис позволяет создать виртуальную сеть быстро и просто, но и здесь существуют некоторые проблемы: сервис вполне может стать полностью платным, в бесплатной версии он имеет урезанную функциональность, а по уровню защиты уступает IPSec и PPTP (с шифрованием MPPE 128 бит), поскольку между клиентами виртуальной сети имеется сторонний сервер.
Протокол PPTP (Point-to-Point Tunneling Protocol) представляет собой усовершенствованную версию протокола PPP, которая разработана компанией Microsoft. И поскольку это разработка компании Microsoft, данный протокол хорошо поддерживается практически всеми системами на базе Windows (кроме Windows 95/98), поэтому именно он подходит для реализации доступа в домашнюю локальную сеть (ведь на работе обычно установлена операционная система этого семейства). Сочетание достаточно простой установки сервера с быстрой настройкой клиента делает этот протокол наиболее привлекательным для создания виртуальной частной сети для доступа к локальной сети пользователя. Отметим, что для соединения Linux-компьютеров, данный протокол практически не используется, так как для Linux специально разработаны протоколы, которые больше подходят для соединения этих систем.
Протокол PPTP — это общая основа, которая позволяет установить безопасное VPN-соединение. Пакеты данных, проходящие через виртуальную сеть, сначала инкапсулируются в пакетах PPP, которые затем инкапсулируются в пакетах GRE (General Routing Encapsulation — общая инкапсуляция маршрутов) и посылаются на другой конец соединения. GRE является IP-протоколом, таким же как ICMP, TCP или UDP. Его номер — 47.
Но что такое инкапсуляция? Если говорить простым языком, это добавление в заголовок или в конец пакета дополнительной служебной информации, то есть происходит модификация по определенной схеме стандартного пакета в новый. Чтобы поддерживать PPTP-соединение, по которому идут сформированные GRE-пакеты, используется дополнительный канал связи. Этот управляющий канал применяет TCP-соединение от PPTP-клиента до 1723-го порта на PPTP-сервере. Он предназначен для посылки сигнальной информации и проверки состояния соединения.
Существует несколько протоколов аутентификации пользователей, которые разрабатывались Microsoft именно для работы с PPTP, — PAP, MS CHAP и MS CHAP v2. Самым защищенным из них считается MS CHAP v2 (протокол аутентификации с предварительным согласованием вызова), который реализован по принципу «вызов — приветствие». Данный протокол основан на шифровании DES и Windows NT Hash, который, в свою очередь, основывается на хеш-функции MD5. Для шифрования пакетов в протоколе PPTP используется расширение PPP — MPPE (Microsoft Point-to-Point Encryption Protocol). При этом для шифрования пакетов здесь применяется потоковый шифр RC4 и данные шифруются с помощью 40- или 128-битного ключа. С помощью такой системы аутентификации и шифрования обеспечивается надежная защита от злоумышленников.
Для организации сервера PPTP был построен следующий стенд:
- процессор — Intel Pentium 4 с частотой 3 ГГц;
- системная плата — на базе чипсета Intel i875;
- память — 2x512 Мбайт Kingston с эффективной частотой 400 МГц;
- жесткий диск — Seagate ST9773401LC объемом 73 Гбайт и контроллер SCSI Adaptec AIC 2940;
- операционная система — ASP Linux 11.2 c ядром 2.6.17 и поддержкой SMP.
Этот компьютер-сервер подключался к Интернету по PPTP-соединению, и ему выдавался внешний постоянный IP-адрес. Если компьютер получает динамический внешний IP-адрес, то возможно несколько решений. Одно из них подходит неискушенному в программировании пользователю — это использование бесплатных сервисов www.no-ip.com или www.dyndns.org. Они позволяют присваивать компьютеру доменное имя третьего уровня (например, homecomputer.no-ip.com). С помощью специальной программы серверам в интернете отсылается информация о текущем IP-адресе компьютера. Затем данный IP-адрес записывается на DNS-сервере как соответствующий этому домену. В результате каким бы ни был внешний IP-адрес домашнего компьютера, его доменное имя будет постоянным. Систему динамического DNS можно использовать и в случае статического внешнего IP-адреса, так как сам адрес может быть плохо запоминающимся (например, 226.164.202.191), а доменное имя можно выбрать практически любым. Если компьютер находится за брандмауэром провайдера или за шлюзом и не имеет внешнего IP-адреса, необходимо осуществить перенаправление портов с IP-адреса провайдера на серверный порт 1723, а также перенаправить и обратный трафик (обычно клиентами PPTP используются порты от 3000 до 4000). При этом на брандмауэре необходимо разрешить входящие и исходящие соединения по данным портам. Но поскольку сейчас практически у всех провайдеров существует пул внешних IP-адресов, то подробную настройку таких случаев рассматривать нецелесообразно. В настоящей статье мы также не будем разбирать настройку клиентской части PPTP, так как это тема для отдельной статьи.
В состав практически любого нового дистрибутива Linux уже включены пакеты pppd и pptp последних версий. Если они не установлены, то необходимо их доустановить (в этом случае может потребоваться перекомпиляция ядра для поддержки MPPE), поскольку они требуются для работы PPTP-сервера. В ASP Linux 11.2 все эти пакеты устанавливаются в любом случае, если, конечно, не указана «выборочная установка» в начале установки. На стенде были установлены пакеты pppd версии 2.4.3-6.2.1 с поддержкой MPPE и pptp версии 1.7.1-1.11 (этот пакет отвечает за работу клиентской части; если выход в Интернет осуществляется не через PPTP-соединение, то его устанавливать необязательно). Пакеты можно устанавливать вручную, то есть компилируя их (./configure, make, make install), либо воспользоваться уже скомпилированными пакетами, которые устанавливаются через специальные менеджеры типа yum, rpm и т.д.
Основным серверным пакетом является pptpd. Этот сервис и отвечает за работу серверной части. Отметим, что при установке в ASP Linux 11.2, использовавшейся в качестве серверной операционной системы, с помощью автоматизированной установки пакетов через Интернет — yum — этот пакет не работал. Через yum предполагается установка стабильной версии pptpd 1.3.0a по команде, выполненной из командной строки:
yum install pptpd или sudo yum install pptpd.
Затем необходимо согласиться, нажав клавишу “y”.
Однако, как показала практика, сервис с этой версией работал некорректно, так как не мог опознать PPTP-клиента. Поэтому был установлен экспериментальный пакет с версией pptpd 1.3.4. Скачать его можно на сайте разработчиков — http://www.poptop.org. Для того чтобы установить данный пакет, необходимо набрать несколько команд:
tar xzf pptpd-1.3.4.tar.gz
cd pptpd-1.3.4
./configure
make
make install (или sudo make install, если sudo настроен).
Если никаких ошибок не высветилось, пакет установлен. Ошибки возникают в том случае, если pppd не установлен или установлен без поддержки MPPE.
Для запуска сервиса необходимо набрать команду pptpd, но перед тем, как запускать сервис, необходимо отредактировать конфигурационные файлы. Нельзя не отметить, что после установки пакета вручную он не всегда прописывается в «автозапуск» по команде pptpd. Для того чтобы добавить его, надо прописать в файле /etc/rc.d/rc.local следующие строки:
If [ -x /usr/local/sbin/pptpd]; then
echo –n ‘pptpd’; /usr/local/sbin/pptpd
fi
После этого PPTP-сервер будет запускаться автоматически по команде pptpd. Для полноты картины можно также написать небольшой скрипт, который позволял бы запускать и останавливать сервис, через команду service. Для этого в папке /etc/rc.d/init.d/ необходимо создать файл pptpd и установить права доступа 755 (rwx, r-x, r-x) через команду:
chmod 755 pptpd.
Внутри файла должны быть прописаны следующие строки:
#!/bin/sh
# Description: control of pptpd server
case “$1” in
start)
echo 1 > /proc/sys/net/ipv4/ip_forward
if /usr/local/sbin/pptpd; then
touch /var/lock/subsys/pptpd
fi
;;
stop)
killall pptpd
rm –f /var/lock/subsys/pptpd
;;
restart)
killall pptpd
rm –f /var/lock/subsys/pptpd
if /usr/local/sbin/pptpd; then
touch /var/lock/subsys/pptpd
fi
;;
*)
echo “Usage $0 (start|stop|restart)”
;;
esac
С помощью этого небольшого скрипта можно запускать, останавливать и перезапускать PPTP-сервер с помощью соответствующих команд:
- service pptpd start — запуск сервера;
- service pptpd stop — остановка сервера;
- service pptpd restart — рестарт сервера.
Теперь, после автоматизации процесса запуска PPTP-сервера, необходимо настроить его на корректную работу. Если сервер имеет межсетевой экран (firewall), необходимо разрешить на нем прохождение трафика по 47-му протоколу GRE, а также TCP-соединение через 1723-й порт. Поскольку в нашем случае в стандартной поставке ASP Linux 11.2 идет брандмауэр iptables, сделать это можно путем добавления нескольких строк в цепочке iptables:
iptables –A FORWARD –p 47 –s 192.168.193.0/24 –j ACCEPT
iptables –A INPUT –p tcp —dport 1723 –j ACCEPT
Указанный диапазон IP-адресов 192.168.193.0/24 — это внутренние IP-адреса в виртуальной частной сети, которые будут выдаваться клиентам PPTP-серверов. Данные значения устанавливаются в одном из конфигурационных файлов, о котором будет подробно рассказано далее.
При установке пакета pptpd в папке /etc/ создается основной конфигурационный файл pptpd.conf, который отвечает за базовые настройки PPTP-сервера. Каждая из представленных в нем настроек имеет описание на английском языке. Приведем краткое описание каждой опции в этом файле, а также нескольких дополнительных.
Опция ppp
По умолчанию эта опция закомментирована символом “#”. Ее функция заключается в указании точного местоположения сервиса pppd, который является управляющим для PPTP-сервера. Путь по умолчанию — /usr/sbin/pppd.
Опция option
Этот тэг указывает демону pptpd на путь к файлу с остальными настройками PPTP-соединения, такими как используемое шифрование канала и способ авторизации PPTP-пользователей. По умолчанию эта строка указывает на файл /etc/ppp/options.pptpd, который создается при установке.
Опция debug
Раскомментирование этого тэга служит для отладки PPTP-сервера при неполадках. В логах сервера будет приведена более подробная информация о действиях как сервера, так и клиентов. По умолчанию эта опция отключена. Рекомендуется включать ее только в случае возникновения неполадок, поскольку в системных логах будет много лишней информации.
Опция stimeout х
Данная опция служит для указания точного времени ожидания PPTP-пакетом, прежде чем он попадет в управляющую программу pptpctrl и будет передан клиенту. По умолчанию этот показатель равен 10 с. Параметр X — время в секундах. Таким образом осуществляется защита от DoS-атак.
Опция noipparam
По умолчанию этот тэг отключен. При включении данного параметра IP-адрес клиента не передается скриптам ip-up через демон pppd. То есть pppd не будет знать реальный адрес PPTP-клиента.
Опция bcrelay interface
Данная опция позволяет PPTP-клиентам рассылать бродкасты, которые сервер получает по сетевому интерфейсу с названием interface. По умолчанию этот тэг закомментирован. Примером интерфейса может служить eth0 или ham0.
Опция connections n
По умолчанию максимальное количество соединений с PPTP-сервером может быть не более 100. Эта опция вручную указывает на количество соединений, где “n” — цифровое значение. Отметим, что максимальное количество соединений ограничивается также списком IP-адресов в опции remoteip, но эта функция работает лишь в том случае, если опция delegate неактивна.
Опция delegate
По умолчанию эта опция отключена. Ее включение автоматически отключает опцию remoteip, через которую демон pptpd выдает адреса PPTP-клиентам, таким образом заставляя выдавать виртуальные внутрисетевые адреса с помощью radius сервера или файла chap-secrets.
Опция listen ip
Указывает на определенный IP-адрес, на котором PPTP-сервер будет прослушивать 1723-й порт, где “ip” — указываемый IP-адрес. По умолчанию PPTP-сервер работает на всех локальных интерфейсах операционной системы (eth0, ppp0, ham0 и т.п.).
Опция localip ip-address
Данная опция позволяет явным образом указать диапазон IP-адресов или отдельный IP-адрес, который будет использоваться в качестве адреса PPTP-сервера в виртуальной сети. Если указан один IP-адрес, то он применяется для всех PPTP-клиентов, в противном случае (если указан диапазон адресов) каждому клиенту назначается свой виртуальный адрес сервера, поэтому их количество должно совпадать со значением, описанным в опции remoteip. Задавать несколько IP-адресов сервера необходимо в тех случаях, когда для каждого клиента указывается персональный IP-адрес (например, в файле chap-secrets), благодаря чему можно ограничить доступ каждого клиента в определенный участок локальной сети на основании правил iptables. Параметр ip-address может выглядеть следующим образом: 192.168.0.1, когда указан один адрес для всех клиентов, либо 192.168.0.2-254, когда указывается диапазон адресов.
Опция remoteip ip-address
В этом параметре указывается диапазон IP-адресов, которые будут получать PPTP-клиенты. Функция работает только в том случае, когда опция delegate неактивна, то есть закомментирована. Количество IP-адресов ограничивает и количество максимальных соединений с PPTP-сервером. Параметр ip-address может выглядеть так: 192.168.0.1, когда указан один адрес для одного-единственного клиента (в этом случае к PPTP-серверу может подключиться лишь один клиент), либо 192.168.0.2-254, если указывается диапазон адресов.
Опция speed x
Данный параметр отвечает за максимальную скорость соединения, с которой происходит обмен данными между сервером и клиентом. По умолчанию эта опция (параметр “x”) имеет значение 115 200 байт/с и является также максимально допустимой для pppd. В реальности скорость может быть значительно выше, но только если указано именно это значение.
Опция logwtmp
Раскомментирование этой строки позволит передавать PPTP-серверу лог аутентификации пользователей через стандартную функцию logwtmp, что даст возможность автоматизировать процесс сбора информации по заходам клиентов. Однако в некоторых случаях этот модуль не устанавливается и его (файл pptpd-logwtmp.so) необходимо переписать вручную из дистрибутива pptpd в папку /usr/lib/pptpd/. В противном случае сервер будет генерировать дополнительную лишнюю информацию о том, что модуль не загружен, а в некоторых экспериментальных версиях он просто не будет загружаться.
Все опции описаны на английском языке, прочесть их можно, набрав команду “man pptpd.conf”. Для того чтобы организовать доступ к нескольким компьютерам в локальной сети, необходимо отредактировать конфигурационный файл pptpd.conf следующим образом:
option /etc/ppp/options.pptpd
debug
localip 192.168.193.1
remoteip 192.168.193.234-238
IP-адрес 192.168.193.1 — это адрес сервера, а диапазон адресов от 192.168.193.234 до 238 — это адреса, которые будут выдаваться клиентам PPTP-сервера. Опция debug включена для возможной отладки сервера. Этот конфигурационный файл предполагает раздачу адресов самим демоном pptpd. После редактирования файла pptpd.conf необходимо изменить параметры аутентификации и шифрования в файле /etc/ppp/options.pptpd. Рассмотрим все возможные параметры, которые можно прописать в этом файле.
Параметр name
Данная опция отвечает за название сервиса, которое прописывается в файле аутентификации /etc/ppp/chap-secrets. По умолчанию название соответствует названию сервиса — pptpd.
Параметры refuse-pap,
refuse-chap, refuse-mschap
Данные параметры запрещают авторизацию по старым протоколам аутентификации, таким как PAP, CHAP и MS CHAP v1, но, если использование этих протоколов необходимо, строки должны быть закомментированы. Аналогичными являются опции -pap, -chap, -chapms (они применяются в том случае, если pptpd установлен на компьютере с ОС семейства BSD). Для активации аутентификации по этим протоколам вместо знака “–” должен стоять знак “+”.
Параметр require-mschap-v2, +chapms-v2
Данная опция разрешает аутентификацию пользователей по самому защищенному из протоколов — MS CHAP v2. По умолчанию в конфигурационном файле разрешен только этот протокол аутентификации пользователей.
Параметр require-mppe-128, mppe-128, mppe-40, mppe-stateless, “mppe required, stateless”
Названные параметры относятся к шифрованию MPPE, которое может быть использовано лишь совместно с протоколом аутентификации MS CHAP v2. Каждая из опций строго определяет наличие шифрования и не позволяет установить связь PPTP-клиентам, у которых оно отключено. Цифры 40 и 128 отвечают за стойкость шифрования, рекомендуется шифрование со 128-битным ключом. Для того чтобы PPTP-клиенты могли подключаться к серверу без использования шифрования, которое увеличивает трафик, а также нагрузку на процессор как клиента, так и сервера, необходимо закомментировать все эти строки.
Параметр ms-dns ххх.ххх.ххх.ххх
Всего в конфигурационном файле может существовать две записи этой опции. С ее помощью можно указать первичный и вторичный DNS сервера для PPTP-клиентов.
Параметр proxyarp
Включение этого параметра позволяет PPTP-клиентам работать с локальной сетью без добавления правил маскарадинга (NAT) в цепочки брандмауэра iptables. Данная функция действует через средства ARP (Address Resolution Protocol) и его таблицы. Однако таким образом нельзя регулировать доступ в разные подсети клиентов и доступ конкретных клиентов. Чтобы эта функция работала, необходимо, чтобы осуществлялось перенаправление пакетов ядром (чтобы функция ip_forward была равна единице). Если используются цепочки iptables, этот параметр следует закомментировать. По умолчанию данная опция включена.
Параметры debug и dump
Для получения дополнительной информации о ходе соединения клиентов, а также о включенных опциях используются параметры debug и dump соответственно. В стадии построения сервера и его отладки эта функция очень полезна, затем ее можно отключить, поскольку объем log-файлов будет возрастать с каждым новым соединением. По умолчанию обе функции отключены.
Параметр logfile x
Данная опция указывает точное местоположение файла (“x”), в который будет записываться отладочная информация. По умолчанию эта функция отключена, а все записи по соединению заносятся в системный журнал. Для ее работы необходимо также закомментировать параметр “nologfd”, который запрещает ее использование.
Параметр nologfd
Данная опция блокирует запись в системный журнал через системную функцию stderr. По умолчанию она активна. Для получения отладочной информации ее необходимо закомментировать.
Параметры novj и novjccomp
Названные параметры запрещают компрессию, которая используется в ранних клиентах Windows 9x/Mе. По умолчанию опция включена.
Параметр nobsdcomp
Если в качестве операционной системы применяется платформа Linux, а не BSD (OpenBSD, FreeBSD), то необходимо раскомментировать эту функцию.
Параметр nodefaultroute
Данная функция отключает автоматическое изменение таблицы маршрутизации при установлении PPTP-соединения. По умолчанию pppd при установлении соединения PPTP-клиента с сервером меняет IP-адрес используемого по умолчанию шлюза на IP-адрес PPTP-клиента. В этом случае Интернет на компьютере-сервере просто пропадет. Поэтому если используется PPTP-сервер, то данную опцию следует указать.
О других опциях, которые применяются реже, можно прочесть, набрав в командной строке “man pppd”, поскольку options.pptpd относится не только к демону pptpd, но и к основному управляющему пакету pppd, который и устанавливает соединение по VPN-туннелю.
***
В нашем стенде использовался конфигурационный файл, содержавший следующие параметры:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
ms-dns 192.168.192.1
debug
dump
logfile /var/log/ppp/vpn.log
lock
nobsdcomp
novj
novjccomp
nodefaultroute
После настройки конфигурационного файла /etc/ppp/options.pptpd необходимо прописать пользователей, которые будут иметь доступ по PPTP-соединению, а также настроить маршрутизацию пакетов в пакете iptables для доступа клиентов извне в локальную сеть. Следующий этап — изменение информации в файле /etc/ppp/chap-secrets. Здесь находятся имена пользователей и их пароли, которые используются при аутентификации по протоколу mschap или chap. Если в файле /etc/ppp/options.pptpd разрешен доступ клиентов с помощью метода аутентификации pap, необходимо править также и файл /etc/ppp/pap-secrets. Доступ к этим файлам должен быть строго ограничен, поэтому рекомендуется установить права доступа 600 (rw-, —, —) для защиты от вторжения.
Файл chap-secrets должен выглядеть следующим образом:
User1 pptpd password1 *
User2 pptpd password2 *,
где User1 и User2 — это имена пользователей, которым разрешен доступ, а password1 и password2 — их пароли. Обратите внимание на знак “*”. Поскольку в описанном нами конфигурационном файле /etc/pptpd.conf диапазон виртуальных IP-адресов для клиентов задан жестко, этот знак должен здесь находиться. В противном случае (если параметр remoteip не указан вовсе) вместо “*” напротив каждого клиента следует указать точный IP-адрес, который затем будет присваиваться ему при PPTP-соединении. Допустимо также оставить это поле пустым, что равносильно знаку “*”.
После настройки конфигурационных файлов необходимо настроить цепочки в брандмауэре iptables для маршрутизации пакетов из виртуальной сети в локальную. Для этого необходимо выполнить следующие действия:
iptables –t nat –A POSTROUING –s 192.168.193.0/255.255.255.0 –j MASQUERADE
iptables –t nat –A POSTROUING –d 192.168.193.0/255.255.255.0 –j MASQUERADE
Эти два правила дают локальным клиентам доступ к виртуальной сети, и наоборот. Сеть 192.168.193.0/24 указывалась в настройках сервиса pptpd в конфигурационном файле /etc/pptpd.conf.
Теперь PPTP-сервер полностью настроен, и его можно запустить по команде service pptpd start или pptpd. Чтобы проверить, все ли правильно сделано, можно выполнить несколько команд, приведенных на рис. 1.
Рис. 1. Проверка работоспособности конфигурации
Отметим, что команда route, которая представлена на рисунке, покажет такой результат, если клиент соединился с PPTP-сервером, прошел аутентификацию и установил PPTP-соединение.
Теперь необходимо настроить PPTP-клиент. Чтобы создать VPN-соединение по протоколу PPTP в операционной системе Windows XP, необходимо выполнить следующие команды: Пуск -> Настройка -> Панель управления -> Сетевые подключения.
После этого запустится мастер новых подключений. Нужно нажать кнопку Далее и выбрать пункт Подключить к сети на рабочем месте. Затем — Далее, выбрать Подключение к виртуальной частной сети и Далее.
В поле Организация можно ввести любое название, например Home. В поле Имя компьютера или IP-адрес необходимо указать IP-адрес PPTP-сервера, а затем нажать на кнопки Далее и Готово.
Потом необходимо зайти в свойства этого подключения и указать имя пользователя и пароль, например User1 и password1. Чтобы отключить шифрование MPPE, необходимо нажать на кнопку Свойства и выбрать вкладку Безопасность. Сняв флажок с Использовать шифрование, можно отключить MPPE на клиентском компьютере. Если на сервере установлено значение обязательного использования шифрования, то без этого флажка компьютер не соединится с сервером. Также следует учитывать, что по умолчанию в настройках VPN-клиентов Windows XP указано автоматическое изменение основного шлюза на новый, который соответствует IP-адресу, выдаваемому PPTP-сервером. Поэтому если подключиться, то весь трафик будет идти через PPTP-сервер. Для отключения этой функции необходимо зайти во вкладку Сеть, выбрать Интернет-протокол TCP/IP, нажать кнопку Свойства, а затем в новом окне — кнопку Дополнительно. Именно в этом окне следует убрать флажок Использовать шлюз по умолчанию. Здесь же во вкладке Сеть необходимо точно указать на тип подключения VPN и выбрать PPTP-соединение. Пример настройки PPTP-клиента показан на рис. 2.
Рис. 2. Настройка клиента PPTP
Отметим, что после установки PPTP-соединения маршруты к локальной сети прописаны не будут. Чтобы добавить маршрут к локальной сети (192.168.0.0/255.255.0.0), необходимо выполнить следующие команды: Пуск -> Выполнить -> cmd, а затем нажать Enter и прописать в командной строке:
route add 192.168.0.0 mask 255.255.0.0 ip,
где IP-адрес, который выдается при VPN-соединении, — это IP-адрес PPTP-клиента (в описанной настройке сервера этот адрес — 192.168.193.234).
Выполнив все настройки, можно подключаться к серверу. Таким образом из любой точки мира можно попасть в домашнюю сеть и работать в ней в защищенном режиме. При необходимости можно модифицировать настройки PPTP-сервера под конкретную сеть. Отметим, что провайдерами используются модифицированные версии PPTP-серверов, которые не поддерживают MPPC-компрессию. По умолчанию этот модуль уже включен в дистрибутив сервера Poptop. Такое соединение также позволяет избежать сильной нагрузки на центральный процессор, поскольку, например, сервис Hamachi загружает процессор дополнительными командами. При широком канале сервера скорость до локальной сети будет определяться скоростью доступа в Интернет у клиента.