Підключення до домашньої мережі з будь-якого місця за допомогою OpenVPN і Tomato
Кілька тижнів тому ми розглядали встановлення Tomato, маршрутизатора з відкритим вихідним кодом, на своєму Linksys WRT54GL. Сьогодні ми розглянемо, як встановити OpenVPN поряд з Tomato, і налаштувати його для доступу до домашньої мережі з будь-якої точки світу!
Що таке OpenVPN?
Віртуальна приватна мережа (VPN) - це надійне, безпечне з'єднання між однією локальною мережею (LAN) та іншою. Подумайте про свій маршрутизатор як про посередника між мережами, до яких ви підключаєтеся. І ваш комп'ютер, і сервер OpenVPN (у цьому випадку ваш маршрутизатор) «потискають руки», використовуючи сертифікати, які перевіряють один одного. Після перевірки клієнт і сервер погоджуються довіряти один одному, а клієнту дозволяється доступ до мережі сервера.
Як правило, програмне забезпечення та апаратні засоби VPN коштують багато грошей для реалізації. Якщо ви вже не здогадалися про це, OpenVPN є відкритим вихідним кодом VPN, що є (барабанним) безкоштовним. Томатний, поряд з 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 і натиснути посилання Завантажити томатний USB.
Завантажити VPN під Ядро 2.4 (стабільне) розділ. Збережіть файл .rar на комп'ютер.
Вам знадобиться програма для видобування файлу .rar. Ми пропонуємо використовувати WinRAR, оскільки це безкоштовно і легко використовувати. Ви можете завантажити собі копію безкоштовної версії на своєму веб-сайті. Після установки WinRAR клацніть правою кнопкою миші на завантаженому файлі та клацніть Extract Here. Потім вам слід звернути увагу на два файли CHANGELOG і томат-NDUSB-1.28.8754-vpn3.6.trx.
Якщо ви використовуєте прошивку Linksys ...
Відкрийте браузер і введіть IP-адресу вашого маршрутизатора (за промовчанням це 192.168.1.1). Вам буде запропоновано ввести ім'я користувача та пароль. За замовчуванням для Linksys WRT54GL є "admin" і "admin".
Натисніть вкладку Адміністрація вгорі. Далі натисніть кнопку Firmware Upgrade (Оновлення мікропрограми), як показано нижче.
Натисніть кнопку Огляд і перейдіть до витягнутих файлів TomatoUSB VPN. Виберіть томат-NDUSB-1.28.8754-vpn3.6.trx і натисніть кнопку Оновити в веб-інтерфейсі. Ваш маршрутизатор почне інсталювати TomatoUSB VPN і займе менше хвилини. Приблизно через хвилину відкрийте командний рядок і введіть ipconfig -реліз визначити нову IP-адресу вашого маршрутизатора. Потім введіть ipconfig -rnew. IP-адреса праворуч від шлюзу за промовчанням… - це IP-адреса вашого маршрутизатора.
Примітка: Після установки Tomato перейдіть до Administration> Configuration і виберіть "Erase all NVRAM ...".
Якщо ви використовуєте мікропрограму Tomato ...
Відкрийте браузер і введіть IP-адресу вашого маршрутизатора. Ми припускаємо, що якщо ви встановили Tomato, знаєте IP-адресу вашого маршрутизатора. Якщо ви не впевнені, це, ймовірно, встановлено за умовчанням 192.168.1.1. Після цього введіть ім'я користувача та пароль.
Незважаючи на те, що це не потрібно, ви можете створити резервну копію поточної конфігурації Tomato перед оновленням до TomatoUSB VPN. Щоб зберегти конфігурацію, перейдіть до пункту Адміністрація> Конфігурація та натисніть кнопку Резервне копіювання. За допомогою цього пункту буде запропоновано зберегти файл .cfg на комп'ютер.
Тепер настав час оновити Tomato до TomatoUSB VPN. Натисніть кнопку Оновити у лівій колонці та натисніть кнопку Вибрати файл. Перейдіть до файлів, які ми витягли раніше, і оберіть томат-NDUSB-1.28.8754-vpn3.6.trx файл. Потім натисніть кнопку оновлення.
Вас попросять підтвердити оновлення; просто натисніть кнопку ОК.
Ваш маршрутизатор почне завантажувати нову прошивку і перезавантажується протягом однієї хвилини.
Після перезапуску він може мати таку ж або іншу IP-адресу. У нашому випадку конфігурація маршрутизатора залишалася такою ж, тому наш IP-адреса залишався тим самим. Щоб визначити нову IP-адресу маршрутизатора, відкрийте командний рядок і введіть ipconfig -реліз. Потім введіть ipconfig -rnew. IP-адреса праворуч від шлюзу за замовчуванням… це адреса вашого маршрутизатора. Якщо налаштування повернуто до стандартних значень, поверніться на сторінку конфігурації (Адміністрування> Конфігурація) і натисніть кнопку Вибрати файл у розділі Відновити конфігурацію. Знайдіть файл .cfg, збережений на комп'ютері раніше, і натисніть кнопку Відновити.
Налаштування OpenVPN
Якщо у вас встановлено прошивку Linksys або мікропрограму Tomato, тепер у вашому маршрутизаторі буде встановлено новий TomatoUSB VPN. Ви побачите кілька нових меню в лівій колонці, включаючи веб-використання, USB і NAS, і тунелювання VPN. У цьому посібнику ми маємо справу тільки з меню VPN Tunneling, а потім клацніть VPN Tunneling. Відкрити вікно цього веб-переглядача; Ми незабаром повернемося до нього.
Тепер перейдемо до сторінки завантажень OpenVPN і завантажимо інсталятор OpenVPN для Windows. У цьому посібнику ми будемо використовувати другу останню версію OpenVPN під назвою 2.1.4. У останній версії (2.2.0) є помилка, яка зробить цей процес ще складнішим. Файл, який ми завантажуємо, встановить програму OpenVPN, яка дозволяє підключатися до мережі VPN, тому обов'язково встановіть цю програму на будь-які інші комп'ютери, які ви хочете діяти як клієнти (оскільки ми бачимо, як це зробити пізніше). Збережіть файл openvpn-2.1.4 .exe на комп'ютер.
Перейдіть до файлу OpenVPN, який ми тільки що завантажили, і двічі клацніть його. Після цього на комп'ютері почнеться встановлення OpenVPN. Запустіть програму встановлення з усіма позначеннями за умовчанням. Під час інсталяції з'явиться діалогове вікно з проханням встановити новий віртуальний мережний адаптер під назвою TAP-Win32. Натисніть кнопку Встановити.
Тепер, коли на комп'ютері інстальовано OpenVPN, ми повинні почати створювати сертифікати та ключі для аутентифікації пристроїв.
Створення сертифікатів і ключів
Натисніть кнопку Пуск Windows і перейдіть у розділі Аксесуари. Ви побачите програму командного рядка. Клацніть правою кнопкою миші на неї та натисніть кнопку Запуск від імені адміністратора.
У командному рядку введіть cd c: Програмні файли (x86) OpenVPN easy-rsa якщо використовується 64-розрядний Windows 7, як показано нижче. Тип cd c: Програмні файли OpenVPN easy-rsa якщо використовується 32-розрядний Windows 7. Натисніть Enter.
Тепер наберіть init-config і натисніть Enter, щоб скопіювати два файли, які називаються vars.bat і openssl.cnf в папку easy-rsa. Тримайте командний рядок, оскільки ми незабаром повернемося до неї.
Перейдіть до C: Програмні файли (x86) OpenVPN easy-rsa (або C: Програмні файли OpenVPN easy-rsa на 32-розрядної Windows 7) і клацніть правою кнопкою миші на назві файлу vars.bat. Натисніть Редагувати, щоб відкрити його в Блокноті. Крім того, ми рекомендуємо відкрити цей файл за допомогою Notepad ++, оскільки він форматує текст у файлі набагато краще. Ви можете завантажити Notepad ++ з їх домашньої сторінки.
У нижній частині файлу ми маємо справу. Починаючи з рядка 31, змініть KEY_COUNTRY значення, KEY_PROVINCE Наприклад, ми змінили нашу провінцію на “IL”, місто на “Чикаго”, орг до “HowToGeek”, і надішліть на нашу адресу електронної пошти. Крім того, якщо ви працюєте з Windows 7 64-bit, змініть HOME значення у рядку 6 до % ProgramFiles (x86)% OpenVPN easy-rsa. Не змінюйте це значення, якщо ви використовуєте 32-розрядну Windows 7. Файл повинен виглядати подібно до нашого нижче (звичайно, з вашими відповідними значеннями). Збережіть файл, перезаписавши його після завершення редагування.
Поверніться до командного рядка і введіть vars і натисніть Enter. Потім введіть чистий-все і натисніть Enter. Нарешті, типу build-ca і натисніть Enter.
Після виконання build-ca Команда, вам буде запропоновано ввести в назві країни, держави, місцевості і т.д. З тих пір, як ми вже налаштували ці параметри в нашій vars.bat Файл, ми можемо пропустити ці параметри, натиснувши Enter, але! Перед тим, як почати натискати клавішу Enter, стежте за параметром Common Name. У цьому параметрі можна ввести що-небудь (тобто ваше ім'я). Просто переконайтеся, що ви входите щось. Ця команда виведе два файли (сертифікат кореневого ЦС та ключ кореневого СА) у папку easy-rsa / keys.
Тепер ми збираємося створити ключ для клієнта. У тому ж типі командного рядка build-key client1. Ви можете змінити "client1" на все, що хочете (наприклад, Acer-ноутбук). Просто введіть те ж саме ім'я, що і загальне ім'я, коли з'явиться запит. Наприклад, при запуску команди побудувати ключ Acer-ноутбук, Ваше загальне ім'я має бути “Acer-Laptop”. Виконуйте всі типові значення, як останній крок, який ми зробили (крім звичайної назви, звичайно). Проте в кінці вас попросять підписати сертифікат і скористатися. Введіть "y" для обох і натисніть Enter.
Крім того, не хвилюйтеся, якщо ви отримали помилку "не в змозі написати" випадковий стан ". Я помітив, що ваші сертифікати все одно робляться без проблем. Ця команда виведе два файли (ключ Client1 і сертифікат Client1) у папку easy-rsa / keys. Якщо ви бажаєте створити інший ключ для іншого клієнта, повторіть попередній крок, але не забудьте змінити загальне ім'я.
Останнім сертифікатом, який ми будемо генерувати, є ключ сервера. У тому ж командному рядку введіть build-key-server сервер. Ви можете замінити "сервер" в кінці команди на все, що хочете (наприклад, HowToGeek-Server). Як завжди, обов'язково введіть те ж саме ім'я, що й загальне ім'я, коли з'явиться запит. Наприклад, при запуску команди build-key-server HowToGeek-Server, Ваше загальне ім'я має бути “HowToGeek-Server”. Натисніть клавішу Enter і виконайте всі типові значення за винятком загального імені. Наприкінці введіть “y”, щоб підписати сертифікат і здійснити фіксацію. Ця команда виведе два файли (ключ сервера та сертифікат сервера) у папку easy-rsa / keys.
Тепер ми повинні генерувати параметри Діффі Хеллмана. Протокол Діффі Хеллмана "дозволяє двом користувачам обмінювати секретний ключ на небезпечне середовище без попередніх секретів". Ви можете прочитати більше про Діффі Хеллман на сайті RSA.
У тому ж типі командного рядка build-dh. Ця команда виведе один файл (dh1024.pem) у папку easy-rsa / keys.
Створення файлів конфігурації для клієнта
Перш ніж редагувати будь-які конфігураційні файли, слід налаштувати динамічну службу DNS. Використовуйте цю послугу, якщо ваш провайдер надає вам динамічну зовнішню IP-адресу кожний раз. Якщо ви маєте статичну зовнішню IP-адресу, перейдіть до наступного кроку.
Ми пропонуємо скористатися службою DynDNS.com, яка дозволяє вказати ім'я хосту (тобто howtogeek.dyndns.org) на динамічну IP-адресу. Для OpenVPN важливо завжди знати загальнодоступну IP-адресу вашої мережі, і за допомогою DynDNS OpenVPN завжди буде знати, як знайти вашу мережу незалежно від того, яка ваша загальна IP-адреса. Зареєструйтеся в імені хосту та вкажіть його на загальнодоступну IP-адресу. Після того як ви зареєструвалися в службі, не забудьте налаштувати службу автоматичного оновлення в Tomato у розділі Basic> DDNS.
Тепер повернемося до налаштування OpenVPN. У провіднику Windows перейдіть до C: Програмні файли (x86) OpenVPN sample-config якщо використовується 64-розрядний Windows 7 або C: Файли програм OpenVPN sample-config якщо використовується 32-розрядний Windows 7. У цій папці ви знайдете три типові файли конфігурації; ми маємо справу тільки з client.ovpn файл.
Клацніть правою кнопкою миші client.ovpn і відкрийте його за допомогою Notepad або Notepad ++. Ви помітите, що ваш файл буде виглядати як на малюнку нижче:
Однак ми хочемо нашого client.ovpn файл схожий це малюнок нижче. Не забудьте змінити ім'я хоста DynDNS на ваше ім'я хоста в рядку 4 (або змінити його на загальнодоступну IP-адресу, якщо у вас є статичний). Залиште номер порту 1194, як стандартний порт OpenVPN. Також переконайтеся, що змінили рядки 11 і 12, щоб відобразити ім'я файлу сертифіката вашого клієнта та файл ключа. Збережіть це як новий файл .ovpn у папці OpenVPN / config.
Налаштування тунелювання VPN у Tomato
Основна ідея зараз полягає в тому, щоб скопіювати серверні сертифікати та ключі, які ми зробили раніше, і вставити їх у меню Tomato VPN сервера. Потім ми перевіримо кілька налаштувань у програмі Tomato, перевіримо підключення VPN, а потім зможемо мити руки і викликати його в день!
Відкрийте браузер і перейдіть до маршрутизатора. Клацніть меню VPN Tunneling у лівій бічній панелі. Переконайтеся, що вибрано Server1 і Basic. Налаштуйте налаштування так, як вони відображаються нижче. Натисніть кнопку Зберегти.
Оновлення: режим за замовчуванням - TUN або тунель, але ви, ймовірно, хочете змінити його на TAP, який замінює мережу. Режим тунелю встановить зовнішні клієнти в іншій мережі, ніж внутрішня мережа. Отже, безсумнівно, змініть тип інтерфейсу на TAP.
Далі, клацніть вкладку "Додатково" поруч із пунктом "Основні". Так само, як і раніше, переконайтеся, що ваші налаштування є такими, які відображаються нижче. Натисніть кнопку Зберегти.
Останнім кроком є вставлення ключів і сертифікатів, які ми спочатку створили. Відкрийте вкладку "Клавіші" поруч із пунктом "Додатково". У провіднику Windows перейдіть до C: Програмні файли (x86) OpenVPN easy-rsa \ t на 64-розрядної Windows 7 (або C: Файли програм OpenVPN easy-rsa \ t на 32-розрядної Windows 7). Відкрийте кожен відповідний файл нижче (ca.crt, server.crt, server.key, і dh1024.pem) з Notepad або Notepad ++ та копіювати вміст. Вставте вміст у відповідні поля, як показано нижче. Слід зауважити, що вам потрібно лише вставити все нижче - BEGIN CERTIFICATE - в server.crt. OpenVPN все ще буде працювати належним чином, якщо ви вставите весь файл, але це більш «чисте», тільки вставляючи фактичну інформацію про сертифікат. Натисніть кнопку Зберегти і натисніть кнопку Пуск зараз.
Перш, ніж ми перевіримо наше підключення до VPN, ми маємо перевірити всередині Tomato. Натисніть Basic у лівій колонці, а потім Time. Переконайтеся, що час маршрутизатора правильний, а часовий пояс - поточний часовий пояс. Встановіть сервер часу NTP у вашу країну.
Налаштування клієнта OpenVPN
У цьому прикладі ми будемо використовувати ноутбук Windows 7 як наш клієнт. Перше, що ви хочете зробити, це встановити OpenVPN на вашому клієнті, як ми зробили вище, на перших кроках під Налаштування OpenVPN. Потім перейдіть до C: Конфігурація програмних файлів OpenVPN де ми будемо вставляти наші файли.
Тепер ми повинні повернутися на свій оригінальний комп'ютер і зібрати в загальній складності чотири файли для копіювання на наш клієнтський ноутбук. Перейдіть до C: Програмні файли (x86) OpenVPN easy-rsa \ t знову і копіювати ca.crt, client1.crt, і client1.key. Вставте ці файли в клієнтську config папки.
Нарешті, нам потрібно скопіювати ще один файл. Перейдіть до C: Програмні файли (x86) Конфігурація OpenVPN і скопіюйте новий файл client.ovpn, який ми створили раніше. Вставте цей файл до клієнта config також папку.
Тестування клієнта OpenVPN
На клієнтському ноутбуці натисніть кнопку Пуск Windows і перейдіть до Усі програми> OpenVPN. Клацніть правою кнопкою миші на файлі графічного інтерфейсу OpenVPN і натисніть кнопку Запуск від імені адміністратора. Зверніть увагу, що ви повинні завжди запускати OpenVPN як адміністратора, щоб він працював належним чином. Щоб постійно встановлювати файл як адміністратор, клацніть правою кнопкою миші на файлі та клацніть Властивості. На вкладці Сумісність виберіть пункт Виконати цю програму в якості адміністратора.
Піктограма OpenVPN GUI з'явиться біля годинника на панелі завдань. Клацніть правою кнопкою миші на піктограмі та клацніть Підключити. Оскільки у нас є тільки один файл .ovpn config папку OpenVPN буде підключатися до цієї мережі за замовчуванням.
З'явиться діалогове вікно, у якому відобразиться журнал підключень.
Після підключення до VPN піктограма OpenVPN на панелі завдань стане зеленою і відобразить віртуальну IP-адресу.
І це все! Тепер у вас є захищене з'єднання між сервером і мережею клієнта за допомогою OpenVPN і TomatoUSB. Для подальшого тестування з'єднання спробуйте відкрити веб-переглядач на клієнтському ноутбуці та перейти до маршрутизатора Tomato в мережі сервера.
Зображення від Ewan