Думаю не ошибусь, если предположу, что у любого пользователя периодически возникает необходимость получить доступ к какому-либо сетевому ресурсу (IP-камере, сетевому накопителю, компьютеру, холодильнику и т.п.) внутри домашней или офисной сети через Интернет. Ну и само собой этот доступ должен быть:
А) универсальный, т. е. с любого компьютера или гаджета;
Б) защищенный от несанкционированного доступа нежелательных лиц.
Вариантов достаточно много, но некоторые недоступны по причине недостаточной квалификации пользователя, некоторые не соответствуют приведенным двум пунктам, некоторые выходят слишком дорого… В общем перечислять «НО» можно долго.
Наиболее подходящей для требуемого технологией был, есть и еще долгое время будет VPN. Но с VPN тоже возникает много вопросов: криптоустойчивость, взломозащищенность, мультиплатформенность клиентов, хватит ли вам знаний для установки и настройки серверной части и т. д.
Недавно меня познакомили с поистине волшебным ПО под названием Softether VPN. Чем же он так волшебен? Вот часть того, что он умеет:
• Множество виртуальных хабов. Т.е. внутри одного VPN сервера может быть более одного виртуального VPN сервера со своими правилами и правами доступа;
• Remote-Access (клиент-к-LAN) и Site-to-Site (объединение двух и более LAN в одну) туннелей;
• Поддержка L2TP over IPsec, IPSec, OpenVPN, MS-SSTP, L2TPv3, EtherIP (бридж) и своего собственного SSL-VPN протокола;
• VPN через ICMP или через DNS (только через свой протокол), что позволяет обойти защиту даже самых «стойких» фаерволов;
• Подробное логгирование;
• Встроенный firewall для каждого виртуального хаба в отдельности;
• Поддержка IPv6 в L3-режиме (ну и в L2, конечно, тоже);
• Шейпинг трафика по группам пользователей либо по конкретным пользователям;
• SecureNAT (user-space NAT и DHCP-сервер). Удобно на не-серверных Windows;
• Поддержка VLAN;
• Поддержка QoS с автоматической приоритезацией;
• Ну и то, что умеют единицы VPN серверов — Dynamic DNS и NAT Traversal через бесплатный релей.
Последний пункт будет особенно интересен многим пользователям домашних сетей. К примеру вам повезло с провайдером, который на соединение бесплатно выдает «белый» (маршрутизируемый IP адрес, т.е. доступный из любой точки Интернета), но не фиксированный, а динамический. В этом случае вы можете использовать любой VPN сервер, но нужно знать какой IP адрес вам выдал на данный момент провайдер. Это не проблема, решается через использование служб Dynamic DNS. Но большинство таких служб на сегодня платные. А как приятно слово «шара»! Softether VPN имеет собственную службу Dynamic DNS и при этом совершенно бесплатно. Вариант второй – вам не повезло с провайдером и он по какой-то причине не может выдать вам «белый» IP адрес, даже динамический, или вас просто жаба давит, платить за «белый» IP адрес. В этом случае доступ к своей домашней сети вы не сможете получить никакими простыми штатными средствами. Softether VPN решает и эту проблему, используя функцию «NAT Traversal через бесплатный релей». Т.е. вы получаете доступ к своему VPN серверу через сервер-посредник. Это конечно в какой-то мере нарушает требования безопасности, но с таким же успехом провайдер может перехватить ваш трафик и попытаться вскрыть содержимое. Тут уже все зависит от уровня вашей паранойи ;) Можно использовать многокилобайтные ключи, что снизит вероятность «вскрытия» фактически до нуля, но при этом в разы увеличит нагрузку на процессоры сервера и клиента и, как следствие, возможное снижение скорости в туннеле. Тут уже решать самому пользователю.
Ну теперь вернемся к тому, о чем я собственно хотел написать. Есть такие замечательные NAS компании D-Link – DNS-320L, DNS-325, DNS-327L, DNS-345 и DNS-340L. Конечно найдется много «доброжелателей», которые скажут «D-Link» и «замечательные» не согласуется. Я не буду вступать в подобные обсуждения, т.к. они всегда заканчиваются одинаково – каждый остается при своем мнении. Скажу только, что идеала просто не существует, у каждого есть свои плюсы и свои минусы. Главное из моего личного опыта – NAS D-Link полностью отвечают своей стоимости, в отличии от NAS некоторых других производителей, цена которых неоправданно завышена.
И так, имеем NAS D-Link, одной из выше перечисленных моделей. Идем на сайт с Адд-Онами и скачиваем Softether VPN под свою модель http://dlink.vtverdohleb.org.ua/Add-On/#SoftetherVPN
Далее установим Add-On на свой NAS и запустим его.
Веб интерфейс у SoftetherVPN есть, но он мало функционален, может использоваться разве что для получения статистической информации. Настройку сервера лучше производить с помощью “SoftetherVPN Server Manager for Windows”
Брать тут http://www.softether-download.com/
Возможна настройка с помощью утилиты vpncmd, входящей в пакет Адд-Она, но для этого требуются хотя бы базовые знания линукса и установка Адд-Она utelnetd или sshd. Про настройку через vpncmd рекомендую прочитать тут http://habrahabr.ru/post/211136/
Интерфейс “SoftetherVPN Server Manager for Windows” неплохо описан тут http://habrahabr.ru/post/208782/
Если вы предполагаете использовать VPN протокол L2TP over IPSec, нужно добавить пользователя и ввести парольную фразу для IPSec. Нажмите кнопку “IPSec / L2TP Settings”, включите «Enable L2TP…» и введите Pre-Shared Key. После этого зайдите в раздел «Manage Virtual Hub» и нажмите «Manage Users».
Создаем пользователя, вводим пароль, «Auth Type» выбираем «Password Authentication» и нажимаем ОК. После этого перейдите в «Virtual NAT and Virtual DHCP Server (Secure NAT)», нажмите «SecureNAT Configuration», включите галки «Use Virtual NAT Function» и «Use Virtual NAT DHCP Server Function» и ОК. После этого нужно активировать эти функции кнопкой «Enable SecureNAT».
Если у вас «белый» IP адрес, нужно на маршрутизаторе «настроить проброс» портов для L2TP и IPSec. Как это делается – читаете руководство пользователя для вашего маршрутизатора. Например так «Часто задаваемые вопросы и ответы». Порты 1701, 500 и 4500, протокол UDP. DDNS имя можно использовать то, которое сгенерировал Softether VPN или задать свое – раздел «Dynamic DNS Setting».
Если же у вас «серый» IP адрес, перейдите в раздел «VPN Azure Setting» и активируйте эту службу.
Соответственно из Интернета в первом случае вы будете подключаться к «ваше_имя.softether.net», во втором случае «ваше_имя.vpnazure.net».
Примеры настройки клиента под Android, Linux, МАС, Windows.
Не менее интересен для более продвинутых пользователей будет протокол OpenVPN. Но об этом в следующей статье.
Интерфейс о-о-очень подробно описан на сайте http://www.softether.org/. Правда на английском, но при наличии разнообразных онлайн-переводчиков, думаю любой сможет разобраться.
Если, все же, возникнут вопросы по работе, обращайтесь.
Автор: vtverdohleb