Встановлення клієнта та сервера OpenVPN на маршрутизаторі DD-WRT

Маршрутизатор Linksys WRT54GDD-WRT – це прошивка з відкритим кодом для широкого набору маршрутизаторів. Багато маршрутизаторів мають багато можливостей, до яких постачальники не надають доступ через адміністративний інтерфейс маршрутизатора. Прошивка DD-WRT розблокує все, на що здатний ваш маршрутизатор, включаючи стати клієнтом OpenVPN та / або сервером OpenVPN.


Дивись також: найкращі VPN для маршрутизаторів DD-WRT.

Де мені взяти маршрутизатор DD-WRT?

Linksys випустив оригінальні маршрутизатори WRT. Прошивка DD-WRT з відкритим кодом сьогодні заснована на програмному забезпеченні Linksys WRT, розробленому для його серії маршрутизаторів WRT54G. “DD” частина DD-WRT – це підказка коду номерного знака для міста Дрезден, Німеччина, де проживає основний супровідник проекту DD-WRT.

Сьогодні можна придбати маршрутизатори, на яких вже працює DD-WRT, від Linksys та інших виробників маршрутизаторів. Також можна встановити DD-WRT на багато інших марок маршрутизаторів, які постачаються із встановленою власною прошивкою. Наприклад, мій маршрутизатор – TP-Link c1900 ArcherC9, який постачається з прошивкою TP-Link. Я прошив її відповідним програмним забезпеченням DD-WRT, і тепер це маршрутизатор DD-WRT.

Навіщо встановлювати OpenVPN на свій роутер?

Ваш маршрутизатор як клієнт OpenVPN

Зважаючи на те, що на ринку існує клієнтська програма OpenVPN майже для кожного комп’ютера, планшета та телефону, не завжди очевидно, чому встановлення OpenVPN на маршрутизаторі може бути перевагою.

Підключення маршрутизатора безпосередньо до постачальника VPN означає, що вам не обов’язково запускати програмне забезпечення VPN на будь-якому зі своїх пристроїв. Сподіваємось, ви використовуєте WPA2 або інший еквівалентний рівень шифрування у своїй внутрішній мережі, тому розумно вважати, що трафік дещо захищений від сторонніх очей. Але як тільки ваш трафік потрапляє на маршрутизатор, він проходить через мережу вашого провайдера до місця призначення. Конфігурація маршрутизатора як VPN-клієнта гарантує, що трафік, який залишає ваш маршрутизатор, шифрується під час проходження через ваш Інтернет-провайдер, поки він не досягне точки виходу VPN в загальнодоступний Інтернет.

До переваг роботи клієнта VPN на маршрутизаторі належать:

  • Потрібно лише одне підключення до сервера VPN. Це допоможе уникнути обмежень підключення, встановлених деякими постачальниками VPN.
  • У багатьох пристроях, таких як Apple TV, немає простого способу встановлення програмного забезпечення VPN. Якщо на вашому маршрутизаторі працює програмне забезпечення VPN, увесь трафік з вашої мережі проходить безперебійно через VPN.
  • VPN завжди увімкнено, тому не потрібно пам’ятати його запускати, коли ви хочете ним користуватися.

Ваш маршрутизатор як сервер OpenVPN

Перетворення маршрутизатора на сервер OpenVPN означає, що ви матимете доступ до домашньої мережі зовні. Якщо ви в дорозі, але вам потрібно отримати доступ до документів або інших комп’ютерів у ваших внутрішніх мережах, ви можете запустити клієнт OpenVPN, підключитися до сервера OpenVPN вашого маршрутизатора, і ви перебуваєте в.

Як перетворити свій маршрутизатор DD-WRT в клієнт OpenVPN?

Прошивка DD-WRT робить це дуже просто, оскільки вона підтримує VPN стилів OpenVPN та PPTP. PPTP – це дуже небезпечний протокол VPN, тому ми рекомендуємо OpenVPN через PPTP.

Дивись також: Наші протоколи VPN-шпаргалки.

Увійдіть у свій маршрутизатор. Адреса входу в адміністративний інтерфейс DD-WRT зазвичай 192.168.0.1, але можливо, ви налаштували свою мережу по-іншому. Після входу перейдіть до Послуги вкладку, потім до VPN вкладка.

верхнє меню dd-wrt

Ми налаштуємо клієнтську функцію маршрутизатора OpenVPN. Перше, що вам знадобиться – це сервер OpenVPN для підключення. Можливо, ви створили власний сервер OpenVPN або ви можете використовувати провайдера VPN, який підтримує OpenVPN. Я буду використовувати ProtonVPN для цієї статті, але окрім отримання конфігурації OpenVPN від Proton, не має бути суттєвої різниці у налаштуванні різних провайдерів.

Увімкніть налаштування клієнта OpenVPN

Клацніть на Увімкнути перемикач для розширення налаштувань клієнта.

Екран DDN-WRT VPN

Більшість постачальників VPN, що використовують OpenVPN, нададуть файл конфігурації, який ви можете використовувати. У деяких випадках вам також знадобиться ім’я користувача та пароль. Вміст будь-якого файлу конфігурації OpenVPN може відрізнятися. Було б зручно, якби інтерфейс DD-WRT мав функцію імпорту, але, оскільки він не повинен намагатися ідентифікувати, які частини файлу конфігурації потрібно перейти до кожного поля.

Мій файл конфігурації ProtonVPN має деякі налаштування на початку, а потім кілька файлів сертифікатів у кінці. Я вказав кілька налаштувань, які вам потрібно буде вручну налаштувати на маршрутизаторі DD-WRT на цьому знімку екрана:

налаштування протонів dd-wrt

У випадку з ProtonVPN мені також потрібно ввести своє ім’я користувача та пароль у відповідні поля.

Решта налаштувань слід скопіювати та вставити у поле Additional Config маршрутизатора DD-WRT.

На даний момент ми хочемо зберегти наші налаштування, натиснувши на Зберегти кнопка внизу сторінки. Люди, які знають безпеку, захочуть виконати деяку подальшу роботу над налаштуваннями DNS маршрутизатора до активації VPN, тому я не вибираю натискати на Застосувати налаштування кнопка ще.

Налаштуйте DNS

Коли VPN активний, весь ваш трафік проходить через нього, зашифрований, за межами сторонніх очей вашої локальної мережі та вашого провайдера. Однак для того, щоб взагалі дійти в Інтернеті, ваш комп’ютер повинен виконати пошук DNS. Пошук DNS вирішує імена доменних сайтів, наприклад example.com, на IP-адресу, яку може використовувати комп’ютер. Хоча ці пошукові запити DNS не містять фактичної інформації про те, що ви робите на будь-якому веб-сайті, вони можуть надати спостерігачеві повний перелік усіх веб-сайтів, на яких ваш комп’ютер відвідав і, ймовірно, відвіданий.

Деякі VPN надають послуги DNS на додаток до VPN, але ви також можете просто встановити маршрутизатор на використання більше анонімних серверів DNS, зробивши швидку зміну конфігурації.

Перейдіть до пункту Налаштування -> Основні настройки введіть DNS-сервери, які ви хочете використовувати в полях статичного DNS. Цей приклад показує сервери DNS.WATCH.

dd-wrt vpn dns

Клацніть на Застосувати налаштування кнопка. Тепер ви можете запустити VPN. Поверніться до Послуги -> VPN і натисніть на Застосувати налаштування кнопка. Перейдіть до пункту Статус -> OpenVPN Ви побачите заохочувальне повідомлення Клієнт: ПІДКЛЮЧЕНО УСПІХУ вгорі. Зауважте, що вкладка стану OpenVPN не існує, поки служба OpenVPN не ввімкнена.

dd-wrt vpn openvpn успіх клієнта

Тепер ваш маршрутизатор передає весь трафік зі своїх підключених пристроїв через VPN.

Ви можете підтвердити, що налаштування DNS працюють, скориставшись нашим тестом на герметичність DNS.

Щоб відключити VPN, поверніться назад до вкладки OpenVPN, натисніть на Відключити перемикач, а потім натисніть кнопку Застосувати налаштування кнопка внизу. Панель налаштувань OpenVPN згортається, коли ви відключаєте її, але ваші налаштування залишатимуться в силі при наступному ввімкненні.

Як перетворити свій маршрутизатор DD-WRT в сервер OpenVPN?

Перший крок – генерувати деякі сертифікати та ключі для сервера OpenVPN. Найпростіший спосіб зробити це – встановити OpenVPN на комп’ютер і використовувати його утиліти для створення необхідних файлів. Знайдіть інструкції, як це зробити для систем Windows на веб-сайті OpenVPN. Користувачі Linux можуть використовувати команди нижче. Якщо вас цікавить більше інформації про повне налаштування, у мене є більш повна стаття про налаштування Linux OpenVPN. Зауважте, що хоча ми фактично не встановлюємо сервер OpenVPN (маршрутизатор буде сервером), нам все одно потрібно виконати ту саму роботу, щоб генерувати сертифікати.

Для Ubuntu та інших користувачів на базі Debian встановіть openvpn та пакети easy-rsa:

sudo apt-get intstall openvpn easy-rsa

Вам потрібно буде використовувати yum або подібний менеджер пакунків для дистрибутивів на основі RedHat. Назви пакунків повинні бути однаковими або дуже схожими.

Створіть каталог, в якому я працюю, я закликаю mine openvpn

mkdir openvpn; cd openvpn

Тепер запустіть команди генерації сертифікатів. Вставте їх точно, включаючи крапки:

/ usr / bin / make-cadir CA
cd CA
джерело ./vars
./ чисто-все
./ будувати-ca
./ сервер build-ключ-сервер
./ будувати-dh
./ клієнт build-key
клавіші CD; openvpn –genkey –secret pfs.key

Зауважте, що деякі з команд підкажуть, щоб інформація про місцезнаходження була включена в сертифікат. Добре залишити за замовчуванням і, можливо, навіть бажано, оскільки цю інформацію може прочитати будь-хто. Якщо ви хочете з якоїсь причини налаштувати його, ви можете оновити файл рядків 64 до 69 CA / vars з інформацією про місцезнаходження, яку ви хочете використовувати. За замовчуванням:

експортувати KEY_COUNTRY ="НАС"
експортувати KEY_PROVINCE ="CA"
експортувати KEY_CITY ="Сан Франциско"
експортувати KEY_ORG ="Форт-Фунстон"
експортувати KEY_EMAIL ="[email protected]"
експортувати KEY_OU ="MyOrganizationalUnit"

Наприкінці двох послідовностей генерації ключів вам запропонують надати парольну фразу для виклику. Не надайте це для серверного ключа, оскільки це не дозволить OpenVPN мати можливість запускатись без нагляду. Ви також можете залишити клієнтський ключ без пароля, оскільки деякі клієнти OpenVPN не мають способу поставити це під час з’єднання. Щоб пройти ці підказки без введення пароля, просто натисніть клавішу введення.

Зауважте, що остання команда є необов’язковою, але бажаною. Це ключ, який дозволить маршрутизатору забезпечити ідеальну таємницю вперед (PFS). PFS дозволяє вашому VPN-з’єднанню періодично узгоджувати новий статичний ключ під час сеансу. Це забезпечує додаткову безпеку у випадку, коли ваші приватні ключі будуть колись порушені. Без PFS всі ваші минулі VPN-з’єднання можуть розшифрувати будь-хто за допомогою приватного ключа. З PFS це неможливо, оскільки ключ періодично змінюється, а замінений ключ зникає в димі.

На даний момент у вас в каталозі CA / ключі має бути маса файлів ключів та сертифікатів:

$ ls -1 CA / ключі /
01.пем
02.пем
ca.crt
ca.key
client.crt
client.csr
client.key
dh2048.pem
index.txt
index.txt.attr
index.txt.attr.old
index.txt.old
серійний
serial.old
server.crt
server.csr
server.key
pfs.key

Нам потрібно лише кілька таких. Відкрийте такі файли в текстовому редакторі, як блокнот або vi. Не використовуйте будь-який текстовий процесор. Скопіюйте значення та вставте їх у відповідне поле сторінки DD-WRT OpenVPN Server / Daemon. У інтерфейсі адміністратора маршрутизатора перейдіть до Послуги -> VPN і натисніть перемикач Увімкнути у розділі OpenVPN Server / Daemon.

поля сервера dd-wrt openvpn

  • Вставте ca.crt у поле CA Cert
  • Вставте server.crt у поле Public Server Cert
  • Вставте server.key у поле Private Server Key
  • Вставте dh2048.pem у поле DH PEM
  • Вставте pfs.key в ключ авторизації TLS (якщо ви створили цей ключ)

Якщо ви особливо параноїк, ви можете вказати список відкликання сертифікатів. Це дозволить серверу OpenVPN перевірити список відкликань, перш ніж приймати будь-який сертифікат від підключеного клієнта. Налаштування та використання CRL для цієї статті мало просунуте.

Клацніть на Застосувати налаштування і ваш VPN-сервер повинен запуститися. Ви можете відвідати Статус-> OpenVPN сторінки, щоб побачити стан з’єднання. Зауважте, що цього разу повідомлення повідомляє Сервер: ПІДКЛЮЧЕНО УСПІХ, а не Клієнт: ПІДКЛЮЧЕНО УСПІХ, який ви бачили, коли клієнт працює.

Успіх сервера dd- wrt vpn openvpn

Наступним кроком є ​​створення файлу конфігурації клієнта, який ви можете використовувати на своїх пристроях для підключення до нового сервера OpenVPN. Важливо, щоб певні налаштування з кожного боку (клієнт / сервер) отримували компліменти один одному. Я закінчив конфігурацію клієнта, яка виглядає приблизно так:

клієнт
dev tun
proto udp
віддалений YOUR_IP_ADDRESS 1194
шифр AES-256-CBC
tls-шифр TLS-DHE-RSA-WITH-AES-256-CBC-SHA
auth sha256
comp-lzo
посилання-mtu 1570

—–НАЧАЙТЕ ЧАСТНИЙ КЛЮЧ—–
Скопіюйте вміст файлу client.key та вставте його сюди.
—–ЗАКОННИЙ КОНКУРЕНТНИЙ КЛЮЧ—–

—–НАЧАЙТЕ СЕРТИФІКАТ—–
Скопіюйте вміст файла client.crt і вставте його сюди.
—–КІНЦЕВИЙ СЕРТИФІКАТ—–

—–НАЧАЙТЕ СЕРТИФІКАТ—–
Скопіюйте вміст файлу ca.crt і вставте його сюди.
—–КІНЦЕВИЙ СЕРТИФІКАТ—–

ключ-напрямок 1

Скопіюйте вміст файлу pfs.key та вставте його сюди

Потім я запустив свій клієнт openvpn, і він підключився:

$ sudo openvpn –config client-config.ovpn
Сб 23 вересня 16:05:05 2017 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] побудований 22 червня 2017 року
Сб 23 вересня 16:05:05 Версії бібліотеки 2017 року: OpenSSL 1.0.2g 1 березня 2016 року, LZO 2.08
Пн Вересень 23 16:05:05 2017 Аутентифікація каналу управління: tls-auth, використовуючи файл статичного ключа INLINE
Сб 23 вересня 16:05:05 2017 посилання UDPv4 локальне (зв’язане): [undef]
Сб 23 вересня 16:05:05 2017 UDPv4 посилання віддалене: [AF_INET] 192.168.0.1:1194
Сб 23 вересня 16:05:09 2017 [сервер] Ініційоване підключення одночасно з [AF_INET] 192.168.0.1:1194
Сб Вересень 23 16:05:12 2017 Пристрій TUN / TAP tun0 відкрито
Сб 23 вересня 16:05:12 2017 do_ifconfig, тт->ipv6 = 0, тт->did_ifconfig_ipv6_setup = 0
Сб 23 вересня 16:05:12 2017 / sbin / ip посилання встановлено dev tun0 up mtu 1497
Сб 23 вересня 16:05:12 2017 / sbin / ip addr add dev tun0 10.10.10.2/24 трансляція 10.10.10.255
Сб 23 вересня 16:05:12 2017 Послідовність ініціалізації завершена

Я використовую клієнтський OpenVPN клієнтський рядок Linux, але цей самий конф-файл повинен працювати з будь-яким клієнтом OpenVPN на будь-якій платформі, я спробував це на своєму телефоні Android за допомогою OpenVPN Connect і міг також підключитися.

Зверніть увагу на віддалену лінію конфігурації мого клієнта. Ви можете використовувати свою зовнішню IP-адресу, але якщо ваш Інтернет-провайдер час від часу обертає вашу зовнішню IP-адресу, ви можете скористатися динамічним ім’ям хоста. Динамічний DNS – це процес, при якому ви асоціюєте статичне доменне ім’я з IP-адресом маршрутизатора, і це ім’я хоста залишається вказувати на правильну IP-адресу, навіть якщо вона змінюється. Відвідайте Налаштування -> DDNS на вкладці маршрутизатора DD-WRT, щоб побачити список динамічних постачальників DNS, який він підтримує.

OpenVPN – надійне і надійне рішення VPN. Він широко застосовується, особливо серед провайдерів VPN, які не мають приватних даних. Маршрутизатори, на яких працює DD-WRT, особливо спрощують захист як вихідного трафіку через конфігурацію клієнта OpenVPN, так і вашого вхідного трафіку через конфігурацію сервера OpenVPN.

Дивись також: Кращі VPN-провайдери Linux.

“Маршрутизатор Linksys WRT54-G” від Webmhamster, ліцензований за CC BY 2.0

Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map