Несколько недель назад мы рассмотрели установку прошивки маршрутизатора с открытым исходным кодом Tomato на ваш Linksys WRT54GL. Сегодня мы поговорим о том, как установить OpenVPN вместе с Tomato и настроить его для доступа к домашней сети из любой точки мира!
Что такое OpenVPN?
Виртуальная частная сеть (VPN) — это надежное защищенное соединение между одной локальной сетью (ЛВС) и другой. Думайте о своем маршрутизаторе как о посреднике между сетями, к которым вы подключаетесь. И ваш компьютер, и сервер OpenVPN (в данном случае ваш маршрутизатор) «пожимают друг другу руки», используя сертификаты, которые проверяют друг друга. После проверки и клиент, и сервер соглашаются доверять друг другу, и тогда клиенту разрешается доступ в сети сервера.
Как правило, программное и аппаратное обеспечение VPN требуют больших затрат на внедрение. Если вы еще не догадались, OpenVPN — это VPN-решение с открытым исходным кодом, которое (бесплатно). Tomato, наряду с OpenVPN, является идеальным решением для тех, кто хочет защищенное соединение между двумя сетями без необходимости открывать свой кошелек. Конечно, OpenVPN не будет работать прямо из коробки. Требуется немного доработать и настроить, чтобы все было правильно. Не волнуйтесь, хотя; мы здесь, чтобы сделать этот процесс более легким для вас, поэтому возьмите себе теплую чашку кофе и начнем.
Для получения дополнительной информации об OpenVPN, посетите официальный Что такое OpenVPN? стр.
Предпосылки
В этом руководстве предполагается, что вы в настоящее время используете Windows 7 на своем компьютере и используете учетную запись администратора. Если вы пользователь Mac или Linux, это руководство даст вам представление о том, как все работает, однако вам, возможно, придется немного больше исследовать самостоятельно, чтобы добиться совершенства. Также мы будем устанавливать специальную версию Tomato под названием TomatoUSB VPN на маршрутизаторе Linksys WRT54GL версии 1.1. Чтобы узнать, совместим ли ваш роутер с TomatoUSB, зайдите на их страницу « Типы сборки» .
В начале этого руководства предполагается, что у вас есть:
- оригинальная прошивка Linksys, установленная на вашем роутере или
- прошивку Tomato мы описали в нашей прошлой статье
Обратите внимание на текст выше определенных шагов, указывающий, относится ли он к прошивке Linksys или прошивке Tomato.
Установка TomatoUSB
В предыдущей статье мы обсуждали, как установить оригинальную прошивку Tomato v1.28 с веб-сайта PolarCloud. К сожалению, эта версия Tomato не поддерживает OpenVPN, поэтому мы будем устанавливать более новую версию под названием TomatoUSB VPN .
Первое, что вам нужно сделать, это зайти на домашнюю страницу TomatoUSB и нажать на ссылку «Скачать Tomato USB».
Загрузите VPN в разделе Kernel 2.4 (стабильный) . Сохраните файл .rar на свой компьютер.
Вам понадобится программа для извлечения файла .rar. Мы предлагаем использовать WinRAR, поскольку он бесплатный и простой в использовании. Вы можете сами загрузить копию бесплатной версии на их сайте . После установки WinRAR щелкните правой кнопкой мыши на файле, который вы скачали, и выберите Извлечь здесь. Затем вы должны увидеть два файла с именами CHANGELOG и tomato-NDUSB-1.28.8754-vpn3.6.trx.
Если вы используете прошивку Linksys …
Откройте браузер и введите IP-адрес маршрутизатора (по умолчанию 192.168.1.1). Вам будет предложено ввести имя пользователя и пароль. По умолчанию для Linksys WRT54GL используются значения «admin» и «admin».
Нажмите на вкладку «Администрирование» вверху. Затем нажмите «Обновление прошивки», как показано ниже.
Нажмите кнопку «Обзор» и перейдите к извлеченным файлам VPN TomatoUSB. Выберите файл tomato-NDUSB-1.28.8754-vpn3.6.trx и нажмите кнопку Обновить в веб-интерфейсе. Ваш маршрутизатор начнет установку VPN TomatoUSB, и на его завершение потребуется меньше минуты. Примерно через минуту откройте командную строку и введите ipconfig –release, чтобы определить новый IP-адрес вашего маршрутизатора. Затем введите ipconfig –renew . IP-адрес справа от шлюза по умолчанию … является IP-адресом вашего маршрутизатора.
Примечание : после установки Tomato зайдите в Администрирование> Конфигурация и выберите «Стереть все NVRAM…».
Если вы используете прошивку Tomato…
Откройте браузер и введите IP-адрес вашего маршрутизатора. Мы предполагаем, что если вы установили Tomato, вы знаете IP-адрес вашего маршрутизатора. Если вы не уверены, возможно, по умолчанию установлено значение 192.168.1.1. После введите свое имя пользователя и пароль.
Хотя это и не требуется, вы можете сделать резервную копию текущей конфигурации Tomato перед обновлением до TomatoUSB VPN, на всякий случай. Чтобы сохранить конфигурацию, перейдите в «Администрирование»> «Конфигурация» и нажмите кнопку «Резервное копирование». Это предложит вам сохранить файл .cfg на вашем компьютере.
Теперь пришло время обновить Tomato до TomatoUSB VPN. Нажмите Upgrade в левом столбце и нажмите кнопку «Выбрать файл». Перейдите к файлам, которые мы извлекли ранее, и выберите файл tomato-NDUSB-1.28.8754-vpn3.6.trx . Затем нажмите кнопку обновления.
Вас попросят подтвердить обновление; просто нажмите ОК.
Ваш маршрутизатор начнет загрузку новой прошивки и перезагрузится через минуту.
После перезапуска он может иметь тот же или другой IP-адрес. В нашем случае конфигурация маршрутизатора осталась прежней, поэтому наш IP-адрес остался прежним. Чтобы определить новый IP-адрес вашего маршрутизатора, откройте командную строку и введите ipconfig –release . Затем введите ipconfig –renew . IP-адрес справа от шлюза по умолчанию … является адресом вашего маршрутизатора. Если для вашей конфигурации заданы значения по умолчанию, вернитесь на страницу конфигурации (Администрирование> Конфигурация) и нажмите кнопку «Выбрать файл» в разделе «Восстановить конфигурацию». Найдите файл .cfg, который вы сохранили на своем компьютере ранее, и нажмите кнопку «Восстановить».
Настройка OpenVPN
Независимо от того, установлена ли у вас прошивка Linksys или прошивка Tomato, теперь на вашем маршрутизаторе должна быть установлена новая TomatoUSB VPN. Вы увидите несколько новых меню в левом столбце, включая веб-использование, USB и NAS, а также VPN-туннелирование. Для этого руководства мы имеем дело только с меню VPN-туннелирования, поэтому нажмите кнопку VPN-туннелирование. Держите это окно браузера открытым; Мы скоро вернемся к этому.
Теперь давайте перейдем на страницу загрузок OpenVPN и загрузим установщик Windows OpenVPN. В этом руководстве мы будем использовать вторую последнюю версию OpenVPN под названием 2.1.4. В последней версии (2.2.0) есть ошибка , которая сделает этот процесс еще более сложным. Загружаемый файл установит программу OpenVPN, которая позволит вам подключаться к вашей сети VPN, поэтому обязательно установите эту программу на любые другие компьютеры, которые вы хотите использовать в качестве клиентов (поскольку мы увидим, как это сделать). потом). Сохраните файл openvpn-2.1.4-install .exe на свой компьютер.
Перейдите к только что загруженному файлу OpenVPN и дважды щелкните его. Это начнет установку OpenVPN на вашем компьютере. Запустите программу установки со всеми установленными значениями по умолчанию. Во время установки появится диалоговое окно с просьбой установить новый виртуальный сетевой адаптер под названием TAP-Win32. Нажмите кнопку Установить.
Теперь, когда на вашем компьютере установлен OpenVPN, мы должны начать создавать сертификаты и ключи для аутентификации устройств.
Создание сертификатов и ключей
Нажмите кнопку «Пуск» и перейдите в раздел «Аксессуары». Вы увидите программу командной строки. Щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».
В командной строке введите cd c: \ Program Files (x86) \ OpenVPN \ easy-rsa, если вы используете 64-битную Windows 7, как показано ниже. Введите cd c: \ Program Files \ OpenVPN \ easy-rsa, если вы используете 32-битную Windows 7. Затем нажмите Enter.
Теперь введите init-config и нажмите Enter, чтобы скопировать два файла с именами vars.bat и openssl.cnf в папку easy-rsa. Держите вашу командную строку, так как мы скоро к ней вернемся.
Перейдите в C: \ Program Files (x86) \ OpenVPN \ easy-rsa (или C: \ Program Files \ OpenVPN \ easy-rsa в 32-разрядной Windows 7) и щелкните правой кнопкой мыши файл с именем vars.bat . Нажмите Редактировать, чтобы открыть его в Блокноте. В качестве альтернативы, мы рекомендуем открыть этот файл с помощью Notepad ++, поскольку он лучше форматирует текст в файле. Вы можете скачать Notepad ++ с их домашней страницы .
Нижняя часть файла — это то, что нас интересует. Начиная со строки 31, измените значение KEY_COUNTRY, значение KEY_PROVINCE и т. Д. На вашу страну, провинцию и т. Д. Например, мы изменили нашу провинцию на «IL», город на «Чикаго», org на «» и отправьте электронное письмо на наш собственный адрес электронной почты. Кроме того, если вы используете 64-разрядную версию Windows 7, измените значение HOME в строке 6 на % ProgramFiles (x86)% \ OpenVPN \ easy-rsa . Не изменяйте это значение, если вы используете 32-битную Windows 7. Ваш файл должен выглядеть примерно так, как показано ниже (с вашими соответствующими значениями, конечно). Сохраните файл, переписав его, как только вы закончите редактирование.
Вернитесь в командную строку, введите vars и нажмите Enter. Затем введите clean-all и нажмите Enter. Наконец, введите build-ca и нажмите Enter.
После выполнения команды build-ca вам будет предложено ввести имя вашей страны, штат, местность и т. Д. Так как мы уже установили эти параметры в нашем файле vars.bat , мы можем пропустить эти параметры, нажав Enter, но ! Перед тем, как начать нажимать клавишу Enter, обратите внимание на параметр Common Name. В этом параметре вы можете ввести что угодно (например, ваше имя). Просто убедитесь, что вы что-то вводите. Эта команда выведет два файла (сертификат корневого центра сертификации и ключ корневого центра сертификации) в папку easy-rsa / keys.
Теперь мы собираемся построить ключ для клиента. В той же командной строке введите build-key client1 . Вы можете изменить «client1» на что угодно (например, Acer-Laptop). Просто обязательно введите то же имя, что и общее имя, когда будет предложено. Например, когда вы запускаете команду build-ключ Acer-Laptop , ваше общее имя должно быть «Acer-Laptop». Выполните все настройки по умолчанию, как на последнем шаге, который мы сделали (за исключением Common Name, конечно). Тем не менее, в конце вам будет предложено подписать сертификат и совершить. Введите «у» для обоих и нажмите Enter.
Кроме того, не беспокойтесь, если вы получили ошибку «невозможно написать« случайное состояние »». Я заметил, что ваши сертификаты все еще делаются без проблем. Эта команда выведет два файла (ключ Client1 и сертификат Client1) в папку easy-rsa / keys. Если вы хотите создать другой ключ для другого клиента, повторите предыдущий шаг, но обязательно измените Общее имя.
Последний сертификат, который мы будем генерировать, — это ключ сервера. В той же командной строке введите build-key-server server . Вы можете заменить «сервер» в конце команды на что угодно (например, -Server). Как всегда, обязательно введите то же имя, что и Общее имя, когда будет предложено. Например, когда вы запускаете команду build-key-server -Server , ваше общее имя должно быть «-Server». Нажмите Enter и выполните все настройки по умолчанию, кроме Common Name. В конце введите «y», чтобы подписать сертификат и зафиксировать. Эта команда выведет два файла (ключ сервера и сертификат сервера) в папку easy-rsa / keys.
Теперь нам нужно сгенерировать параметры Диффи-Хеллмана. Протокол Диффи-Хеллмана «позволяет двум пользователям обмениваться секретным ключом по небезопасной среде без каких-либо предварительных секретов». Вы можете прочитать больше о Diffie Hellman на сайте RSA.
В той же командной строке введите build-dh . Эта команда выведет один файл (dh1024.pem) в папку easy-rsa / keys.
Создание файлов конфигурации для клиента
Прежде чем редактировать какие-либо файлы конфигурации, мы должны настроить динамический DNS-сервис. Используйте эту услугу, если ваш провайдер периодически выдает вам динамический внешний IP-адрес. Если у вас есть статический внешний IP-адрес, перейдите к следующему шагу.
Мы предлагаем использовать DynDNS.com , сервис, который позволяет вам указывать имя хоста (то есть .dyndns.org) на динамический IP-адрес. Для OpenVPN важно всегда знать общедоступный IP-адрес вашей сети, и с помощью DynDNS OpenVPN всегда будет знать, как найти вашу сеть, независимо от того, какой у вас публичный IP-адрес. Зарегистрируйте имя хоста и укажите его на ваш публичный IP-адрес . После того как вы зарегистрировались в службе, не забудьте настроить службу автоматического обновления в Tomato в разделе Основные> DDNS.
Теперь вернемся к настройке OpenVPN. В проводнике Windows перейдите к C: \ Program Files (x86) \ OpenVPN \ sample-config, если вы используете 64-разрядную версию Windows 7, или C: \ Program Files \ OpenVPN \ sample-config, если вы используете 32-разрядную версию. Windows 7. В этой папке вы найдете три примера файлов конфигурации; нас интересует только файл client.ovpn .
Щелкните правой кнопкой мыши файл client.ovpn и откройте его с помощью Блокнота или Блокнота ++. Вы заметите, что ваш файл будет выглядеть как на картинке ниже:
Однако мы хотим, чтобы наш файл client.ovpn выглядел примерно так, как показано на рисунке ниже. Обязательно измените имя хоста DynDNS на ваше имя хоста в строке 4 (или измените его на свой публичный IP-адрес, если у вас есть статический). Оставьте номер порта 1194, так как это стандартный порт OpenVPN. Кроме того, обязательно измените строки 11 и 12, чтобы они отражали имя файла сертификата вашего клиента и файла ключа. Сохраните его как новый файл .ovpn в папке OpenVPN / config.
Настройка VPN-туннеля Tomato
Основная идея теперь состоит в том, чтобы скопировать серверные сертификаты и ключи, которые мы сделали ранее, и вставить их в меню сервера Tomato VPN. Затем мы проверим несколько настроек в Tomato, протестируем VPN-соединение, и тогда мы сможем помыть руки и позвонить в день!
Откройте браузер и перейдите к маршрутизатору. Откройте меню VPN-туннелирование на левой боковой панели. Убедитесь, что Server1 и Basic также выбраны. Настройте параметры точно так, как они отображаются ниже. Нажмите Сохранить.
Обновление: режимом по умолчанию является TUN или туннель, но вы, вероятно, хотите изменить его на TAP, который вместо этого соединяет сеть. Туннельный режим поместит ваших внешних клиентов в сеть, отличную от внутренней. Поэтому определенно измените Interface Type на TAP.
Затем перейдите на вкладку «Дополнительно» рядом с «Основные». Как и прежде, убедитесь, что ваши настройки в точности соответствуют приведенным ниже. Нажмите Сохранить.
Наш последний шаг — вставка ключей и сертификатов, которые мы изначально создали. Откройте вкладку «Ключи» рядом с «Дополнительно». В проводнике Windows перейдите к C: \ Program Files (x86) \ OpenVPN \ easy-rsa \ keys в 64-битной Windows 7 (или C: \ Program Files \ OpenVPN \ easy-rsa \ keys в 32-битной Windows 7) , Откройте каждый соответствующий файл ниже ( ca.crt , server.crt , server.key и dh1024.pem ) с помощью Блокнота или Блокнота ++ и скопируйте его содержимое. Вставьте содержимое в соответствующие поля, как показано ниже. Я должен отметить, что вам нужно только вставить все ниже — НАЧАТЬ СЕРТИФИКАТ — в server.crt . OpenVPN по-прежнему будет работать правильно, если вы вставите весь файл, но он будет более «чистым», только вставив фактическую информацию о сертификате. Нажмите Сохранить, а затем нажмите Начать сейчас.
Прежде чем мы проверим наше VPN-соединение, есть еще одна вещь, которую мы должны проверить внутри Tomato. Нажмите Basic в левом столбце, а затем Time. Убедитесь, что время маршрутизатора указано правильно и часовой пояс отображает текущий часовой пояс. Установите сервер времени NTP в вашей стране.
Настройка клиента OpenVPN
В этом примере мы будем использовать ноутбук с Windows 7 в качестве нашего клиента. Первое, что вы захотите сделать, это установить OpenVPN на вашем клиенте, как мы это делали выше на первых шагах по настройке OpenVPN. Затем перейдите в C: \ Program Files \ OpenVPN \ config, где мы будем вставлять наши файлы.
Теперь нам нужно вернуться на наш оригинальный компьютер и собрать всего четыре файла для копирования на наш клиентский ноутбук. Снова перейдите в C: \ Program Files (x86) \ OpenVPN \ easy-rsa \ keys и скопируйте ca.crt , client1.crt и client1.key . Вставьте эти файлы в конфигурационную папку клиента.
Наконец, нам нужно скопировать еще один файл. Перейдите в C: \ Program Files (x86) \ OpenVPN \ config и скопируйте новый файл client.ovpn, который мы создали ранее. Вставьте этот файл в папку конфигурации клиента также.
Тестирование клиента OpenVPN
На клиентском ноутбуке нажмите кнопку «Пуск» Windows и выберите «Все программы»> «OpenVPN». Щелкните правой кнопкой мыши файл OpenVPN GUI и выберите «Запуск от имени администратора». Обратите внимание, что вы всегда должны запускать OpenVPN от имени администратора, чтобы он работал правильно. Чтобы навсегда установить файл для запуска от имени администратора, щелкните файл правой кнопкой мыши и выберите «Свойства». На вкладке «Совместимость» установите флажок «Запустить эту программу от имени администратора».
Значок OpenVPN GUI появится рядом с часами на панели задач. Щелкните правой кнопкой мыши значок и выберите «Подключиться». Поскольку в нашей папке конфигурации только один файл .ovpn, OpenVPN будет подключаться к этой сети по умолчанию.
Появится диалоговое окно с журналом соединений.
После подключения к VPN значок OpenVPN на панели задач станет зеленым и отобразит ваш виртуальный IP-адрес.
Вот и все! Теперь у вас есть защищенное соединение между вашим сервером и сетью клиента с использованием OpenVPN и TomatoUSB. Для дальнейшей проверки соединения попробуйте открыть браузер на клиентском ноутбуке и перейти к маршрутизатору Tomato в сети сервера.
Изображение Ewan