Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Создаем VPN на основе vtun


Андрей Бешков

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

Я буду использовать vtun, написанный Максимом Краснянским на основе пакета VPPP. Главная страница проекта vtun находится по адресу: http://vtun.sourceforge.net. Вы можете спросить, почему именно vtun. Ведь можно было использовать что-либо вроде PPP поверх SSH, IPSEC или GRE. Возможно, в ближайшее время я напишу о работе с IPSEC или OpenVPN. Главными достоинствами vtun являются простота в установке, гибкость настройки и отличная документация. Vtun достаточно хорошо защищает от атак, основанных на действиях злоумышленника, находящегося между двумя машинами туннеля. Этот тип атак обычно называют MIM (Men In the Middle), чаще всего злоумышленник пытается выполнить одно или несколько из следующих действий – изменить содержимое передаваемых пакетов, повторно проиграть записанную последовательность пакетов, выдать себя за одну из сторон, участвующих в передаче данных.

Поддерживаются разнообразные типы туннелей IP, Ethernet, PPP, SLIP. В качестве туннеля можно использовать даже pipe и TTY. Для шифрования потока данных используется OpenSSL. Доступны алгоритмы blowfish с ключом в 128 бит или MD5 с ключом той же длины. Компрессия потока производится с помощью библиотек lzo или zlib. Следует отметить, что zlib работает только с tcp-туннелями. Если в вашей операционной системе нет библиотек zlib или lzo, и вы не смогли установить их самостоятельно, значит придется отключить компрессию. Это снизит скорость передачи данных. Но все же не окажет решающего влияния на работу vtun. Официально vtun работает на следующих операционных системах: Linux, Solaris, FreeBSD, NetBSD, OpenBSD и другие BSD-клоны. В принципе vtun должен работать на любой платформе, для которой есть универсальный драйвер tun/tap. Устройство tun используется для туннелирования IP-фреймов, а tap соответственно для Ethernet-фреймов. С помощью tun/tap пользовательские программы получают возможность самостоятельно обрабатывать IP-пакеты. Для некоторых операционных систем необходимо перекомпилировать ядро с поддержкой tun/tap-устройств. Vtun работает на основе клиент-серверной модели. Соответственно, для создания туннеля на одном из хостов, демон vtun должен быть запущен как сервер, а на другом как клиент.

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

После запуска демон, выполняющий роль сервера, по умолчанию начинает слушать порт 5000. При попытке подсоединиться на этот порт происходит аутентификация клиента на основе пароля, записанного в конфигурационном файле /usr/local/etc/vtund.conf. Пароль применяется для аутентификации клиента всего лишь один раз на протяжении всей сессии. После успешной аутентификации сервер с помощью функции fork запускается еще один демон vtun, которому передается клиентское соединение. Новый демон будет существовать до тех пор, пока соединение не будет разорвано. В то же время родительский демон продолжает ждать новых соединений. Это значит, что единственный демон может обслуживать множество одновременных подключений. Количество поддерживаемых соединений зависит только от мощности процессора и наличия оперативной памяти.

С помощью ключей командной строки можно указать другое местоположение конфигурационного файла. Это дает нам возможность запустить на одном хосте несколько демонов vtun, ожидающих соединений на разных портах. Каждый из демонов будет использовать собственные настройки. Соответственно, некоторые из них могут быть серверами, а другие клиентами. Это дает нам возможность развернуть множество не пересекающихся между собой VPN.

Давайте представим, что у нас есть филиал, магазин и офис, использующие адреса из пространства частных сетей. Необходимо эти подразделения соединить с помощью VPN. Для этих целей мы будем использовать реальные IP-адреса, выданные нам провайдером из сети 80.80.20.0. Для соединения сетей нам понадобятся три компьютера. На каждом из них будет по три сетевых интерфейса. Два реальных и один виртуальный. Более подробно это показано в приведенной ниже таблице.

 

Система

Имя машины

Внутренняя подсеть

Внутренний интерфейс

Внешний интерфейс

Виртуальный интерфейс tun

Офис

FreeBSD 4.5

vpn_office

192.168.30.0

192.168.30.251

ed0

80.80.20.2

ed1

192.168.0.2

Филиал

Debian Linux 3.0

vpn_filial

192.168.20.0

192.168.20.251

eth0

80.80.20.1

eth1

192.168.0.1

Магазин

Solaris 2.7

vpn_shop

192.168.40.0

192.168.40.251

le0

80.80.20.3

le1

192.168.0.3


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100