Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Рис. 26.2. VPN позволяет подключить к сети отдельные удаленные компьютеры

Принимая решение о создании VPN, необходимо учитывать пропускную способность линий. Для подключения нескольких удаленных сетей к центральной сети необходимо располагать линиями, обеспечивающими большую скорость передачи, способными удовлетворить запросы пользователей. Многие протоколы, которые разрабатывались для применения в локальных сетях, генерируют большие объемы данных. Они нормально работают в среде Ethernet, обеспечивающей скорость обмена 100 Мбод, но если информацию придется передавать по линии T1 с пропускной

способностью 1,5 Мбод, производительность станет недопустимо низкой. Если же сети удаленных офисов подключены через ADSL-соединения, вам необходимо учитывать, что такие соединения асимметричны по своей природе. Если пропускная способность в одном направлении может достигать 600-1500 Кбод, то в другом направлении скорость передачи данных не будет превышать 100-300 Кбод. Еще хуже обстоит дело с индивидуальными пользователями, компьютеры которых часто подключаются к Internet по коммутируемой линии, пропускная способность которой не превышает 56 Кбод.

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

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

Инструменты, предназначенные для организации VPN

В настоящее время отсутствуют стандартные инструментальные средства, позволяющие создать VPN. Стандарты, регламентирующие работу VPN, находятся в стадии разработки. Ниже приведены три наиболее часто употребляемых инструмента, предназначенные для создания VPN.

• PPTP (Point-to-Point Tunneling Protocol — протокол межузлового туннелирования) был создан консорциумом PPTP Forum, в который входят несколько компаний, занимающихся разработкой сетевых средств. Протокол PPTP часто используется для организации взаимодействия сотрудников, работающих дома, с сетями предприятий. Средства поддержки PPTP входят в состав последних версий Windows. Существует также PPTP-сервер для Linux; он называется PoPToP (

http://poptop.lineo.com
).

• 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

Инструмент 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-маршрутизатора, должно присутствовать как можно меньше серверов.

Поделиться с друзьями: