Выбрать главу

Установка конфигурации сервера 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 или запустите сервер другим способом.

4. От имени пользователя root введите команду pptpd, запустив тем самым сервер.

В результате выполненных действий сервер будет запущен и PPTP-клиент сможет устанавливать взаимодействие с системой. Поскольку средства шифрования не доступны, для установления соединения вам надо также отключить шифрование и на стороне клиента. В следующем разделе рассказывается о том, как разрешить кодирование данных для PoPToP.

Внимание

Несмотря на то что соединение с PoPToP без поддержки кодирования позволяет проверить конфигурацию системы, это соединение нельзя использовать для реальной работы. Основная цель VPN состоит в том, чтобы обеспечить шифрование передаваемых данных, поэтому при отключении кодирования средства VPN будут бесполезны.

Работой PPTP управляют также опции, содержащиеся в файле options.pptp, который обычно располагается в каталоге /etc или /etc/ppp. Некоторые из этих опций описаны ниже.

• debug. Данная опция сообщает PoPToP о том, что в файл протокола должны быть записаны дополнительные данные. Они могут понадобиться в том случае, если при установлении соединения возникают проблемы.

• localip. Клиент PPTP использует два IP-адреса: один — для локальной сети, второй — для удаленного клиента. Локальные IP-адреса можно задать с помощью опции localip. В качестве значения опции задается список адресов, разделенных запятыми, или диапазон адресов. Например, опция localip 192.168.9.7, 192.168.9.100-150 задает адрес 192.168.9.7 и все адреса в диапазоне от 192.168.9.100 до 192.168.9.150. Убедитесь, что другие компьютеры в вашей локальной сети не используют эти адреса.

• remoteip. Данная опция задает IP-адреса, используемые удаленными клиентами. Эти адреса обычно принадлежат диапазону адресов, используемых во внутренних сетях. IP-адреса задаются в таком же формате, как и для опции localip.

• listen. Указав в качестве значения данной опции IP-адрес, связанный с одним интерфейсом, можно сообщить программе pptpd о том, что она должна принимать обращения только через этот интерфейс. По умолчанию PoPToP принимает обращения через все интерфейсы.

Обеспечение кодирования данных

PoPToP использует программу pppd, которая, в свою очередь, использует средства ядра. В частности, PoPToP требует, чтобы демон pppd поддерживал кодирование, a pppd требует, чтобы средства поддержки кодирования присутствовали в ядре Linux. Поэтому для шифрования данных при работе PoPToP необходимо дополнить как pppd, так и ядро системы.

Проще всего решить эту задачу, используя дополненные варианты pppd и ядра Linux. Соответствующие программы можно получить, обратившись по адресу http://mirror.binarix.com/ppp-mppe/. Вам необходимо скопировать следующие два файла.

• Ядро Linux. Дополненное ядро Linux содержится в файле, имя которого начинается с kernel, например kernel-2.4.9-13mppe.i386.rpm. Некоторые из этих пакетов содержат двоичный код ядра, скомпилированный для конкретного типа системы, а другие — исходный код ядра. Если вы скопируете исходный код, вам надо будет сконфигурировать и скомпилировать его для вашей системы.

• Пакет ppp. Измененный пакет pppd находится в файле ppp-2.4.1-3mdk.i586.rpm или в другом файле с подобным именем. Содержимое пакета надо установить вместо файла pppd.

На узле http://mirror.binarix.com/ppp-mppe/ находятся двоичные программы, скомпилированные для Mandrake, поэтому если вы работаете с этой версией Linux, можете воспользоваться кодами, представленными на данном узле. Не исключено, что вы найдете программы, сконфигурированные для другой системы.

Совет

Если в вашей системе не используется RPM, вы можете преобразовать форматы пакетов с помощью утилиты alien. Эта программа входит в состав Debian и поддерживает RPM, пакеты Debian и tar-архивы.

Дополненные программы вы также можете получить, обратившись на узел http://pptpclient.sourceforge.net. Здесь можно найти клиентские программы, пакеты ppp-mppe, представляющие собой программы pppd с поддержкой MPPE, а также модули ядра с поддержкой MPPE.

Если вы по каким-либо причинам не можете или не хотите использовать готовые двоичные коды, вам следует самостоятельно внести изменения в состав демона PPP и ядра системы. Для этого надо скопировать пять файлов.

• Ядро Linux. Исходный код стандартного ядра Linux можно получить, обратившись на узел http://www.kernel.org. Использовать стандартное ядро Linux предпочтительнее, чем ядро из дистрибутивного пакета, так как последнее обычно бывает модифицировано, в результате чего внесение изменений может быть затруднено.

• Исходный код pppd. Исходный код демона PPP можно получить по адресу ftp://cs.anu.edu.au/pub/software/ррр/.