• FreeS/WAN. Проект FreeS/WAN ( http://www.freeswan.org
) посвящен созданию VPN-инструмента для Linux. Этот инструмент распространяется в исходных кодах. Он очень популярен для организации VPN, в которые входят компьютеры под управлением Linux.
• SSH. Возможность протокола SSH поддерживать туннелирование соединений посредством других протоколов также может использоваться для создания VPN.
В данной главе будут рассматриваться первые два из описанных выше подходов к созданию VPN. PPTP — очень популярный инструмент. Его очень удобно использовать в тех случаях, когда Windows-клиент должен непосредственно подключаться к VPN-маршрутизатору. Данное средство также реализовано для других операционных систем; существуют даже специальные устройства, называемые коммутаторами удаленного доступа (remote access switch). Инструмент FreeS/WAN не пользуется большой популярностью в операционных средах, отличных от Linux. Однако он часто применяется для организации VPN в тех случаях, когда роль VPN-маршрутизаторов выполняют компьютеры под управлением Linux.
Настройка PPTP в системе Linux
Поскольку PPTP не разрабатывался специально для Linux, чтобы инсталлировать соответствующие средства на компьютере под управлением Linux, необходимо приложить определенные усилия. Сервер PoPToP взаимодействует с PPP-демоном pppd
. Для обеспечения безопасности система должна уметь шифровать данные, но соответствующие средства в программе pppd
отсутствуют. Поэтому демон pppd
необходимо заменить его расширенной версией. PPTP-клиенты созданы как для Linux, так и для Windows; очевидно, что они настраиваются по-разному.
Инструмент PoPToP поставляется в составе некоторых версий Linux, например Debian и Mandrake. Соответствующий пакет чаще всего имеет имя pptpd
или pptpd-server
. Пакет, поставляемый с системой Linux, обычно проще настраивать, чем универсальный пакет, распространяемый по Internet. Если в вашем дистрибутивном пакете Linux нет инструмента PoPToP, вы можете скопировать его с Web-узла PoPToP, расположенного по адресу http://poptop.lineo.com
.
По умолчанию средства PoPToP в системе Linux не обеспечивают должного уровня защиты при организации VPN. Причина в том, что PPTP применяет специальные средства кодирования PPP, которые не поддерживаются стандартной программой pppd
. В частности, работа PPTP базируется на использовании протокола MPPE (Microsoft Point-to-Point Encryption — межузловое кодирование Microsoft). Для поддержки кодирования вам надо инсталлировать MPPE-дополнения для стандартной программы pppd и для ядра Linux. Этот процесс будет описан далее в данной главе.
Установка конфигурации сервера PoPToP
После инсталляции пакета PoPToP вам надо активизировать его. Для этого выполните следующие действия.
1. Отредактируйте файл /etc/ppp/options
. Этот файл управляет работой программы pppd
, которая поддерживает соединение между VPN-маршрутизатором и удаленной системой PPTP. Файл /etc/ppp/options
должен содержать записи наподобие приведенных ниже.
debug
name имя_сервера auth
require-chap
proxyarp
192.168.1.1:192.168.1.100
Большинство из этих записей необходимо для работы PPTP. Последняя строка может отсутствовать; она задает адрес, используемый VPN-маршрутизатором в локальной сети (192.168.1.1), и адрес, присваиваемый VPN-клиенту (192.168.1.100). Если вы не зададите эту строку, будет использоваться IP-адрес, указанный в конфигурации VPN-клиента. В данном случае имя сервера — это доменное имя VPN- сервера.
2. Укажите в файле /etc/ppp/chap-secrets
имя пользователя и пароль, которые вы хотите использовать для регистрации. В приведенном ниже примере задано имя пользователя vpn1
и пароль vpnpass
.
vpn1 * vpnpass *
Внимание
Пароль хранится в файле /etc/ppp/chap-secrets
в незакодированном виде, поэтому вам необходимо принять меры для защиты этого файла. Владельцем его должен быть пользователь root и право чтения файла должен иметь только его владелец. Если злоумышленник получит контроль над сервером PoPToP, он сможет прочитать этот файл. По этой причине на компьютере, выполняющем функции VPN-маршрутизатора, должно присутствовать как можно меньше серверов.
3. Найдите в файле /etc/inittab
ссылку на pptpd
и закомментируйте соответствующую запись, включив в начало строки символ #
. Затем введите команду telinit Q
, чтобы внесенные изменения были учтены. В результате вы получите возможность вручную запустить pptpd
и протестировать конфигурацию данной программы. После создания конфигурации, пригодной для работы, удалите символ комментариев из соответствующей строки файла /etc/inittab
или запустите сервер другим способом.
Читать дальше