Сервер openvpn через роутер

Поднимаем OpenVPN для роутера

Интернеты всех страх окукливаются в рамках своих границ, но пока еще есть способы смотреть, качать, открывать благодаря VPNам. В данном посте я вам покажу как настроить VPN на вашем роутре. В моем роутере AX5400 Wi-Fi 6 Router есть втроенный VPN клиент, он на многих роутреах есть в силу распростроненности протокола.

Как сделать?

Покупаем VPS

Выбор на ваш вкус. Любой сервис который работает и который вам нравится.

Поднимаем OpenVPN

Качаем и запускаем скрипт от Nyr

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Отвечаем на вопросы скрипта:

Which protocol should OpenVPN use? 1) UDP (recommended) 2) TCP

What port should OpenVPN listen to? Port [1194]:

— можно использовать дефолтный порт 1194. Нажимаем Enter

Select a DNS server for the clients: 1) Current system resolvers 2) Google 3) 1.1.1.1 4) OpenDNS 5) Quad9 6) AdGuard DNS server [1]:

Enter a name for the first client: Name [client]:

OpenVPN installation is ready to begin. Press any key to continue.

В конце вывода скрипта вы увидите такой текст

The client configuration is available in: /root/blog.ovpn

  • это и есть нужный нам конфиг. Скачайте его через scp, sftp, просто скопируйте через cat себе в “блокнот”…кароче как-то добутьте файл c вируталки.

Настраиваем OpenVPN на роутере

  • логинимся в вебморду роутера. У меня это 192.168.0.1 и вводим ваш пароль к роутеру
  • переходим в пункт OpenVPN client и нажимаем ADD
  • вводим название подключения (Description) и в секции Configuration File, выбираем и загружаем сохраненный вами конфиг ранее
  • в моем роутере еще есть настройка списка устройств (Device List) для которых трафик идет через VPN. Т.е мы можем выбрать устройство для которого будет “работать” OpenVPN. Очень удобная функция

Источник

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

WiFiGid

Всех приветствую на нашем ламповом портале WiFiGid. Сегодня я расскажу вам, как настроить OpenVPN на роутерах Keenetic. Я рассмотрю два варианта. Первый – когда вы хотите организовать свою собственную сеть VPN между двумя Keenetic. Второй – когда вы хотите подключиться к выделенной VPN.

Сразу предупрежу, что делается все очень неудобно. Вся претензия к разработчикам ОС Keenetic. На том же самом ASUS все делается куда проще, но тут все не так. Также напомню, что у Keenetic есть и другие способы использования VPN: PPTP, L2TP и WireGuard. Последняя штука была добавлена в новой версии прошивки (3.3). О настройках этих вариантов можно почитать тут.

Они конфигурируются куда проще чем OpenVPN. В общем я вас предупредил. Я постарался описать все максимально подробно, но если что-то пойдет не так или возникнут вопросы – пишите в комментариях.

Читайте также:  Маршрутизаторы для чего нужны

Хочу организовать сеть OpenVPN между двумя Keenetic

ШАГ 1: Запуск DDNS и проверка внешнего IP адреса

ПРИМЕЧАНИЕ! Если у вас белый и статический IP адрес, то пропустите эту главу.

Все службы, которые работают с интернетом, и внешний IP могут работать, только если у пользователя белый IP адрес. Поэтому в первую очередь вам нужно проверить, какой именно IP у вас – белый или серый. О том, что же такое белый и серый IP, а также как это проверить читаем тут.

Кто-то сейчас может возразить – ведь мы будем использовать KeenDNS, который может связываться с роутером по облаку в обход серого IP. Да это так, но на официальном сайте сказано, что OpenVPN может работать с KeenDNS только в режиме «Прямого доступа» (когда IP белый), а не через «Облако» (когда IP серый). Дело в том, что с KeenDNS к роутеру можно иметь доступ только через HTTP и HTTPS. Даже TELNET не работает по KeenDNS, не говоря уже о VPN.

В общем вы проверили и узнали, что ваш IP белый. Если он серый, то просто ищем другого провайдера. Если он у вас динамический, то вам нужно также подключить DDNS. Мы будем использовать встроенный сервис KeenDNS, который заменяет IP адрес роутера на доменное имя.

  1. Перейдите в раздел «Доменное имя».
  2. На первой вкладке введите любое наименование латинскими буквами.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Помните, я говорил про два режима работы? В общем, если у вас белый IP, то выбираем «Прямой доступ». Режим «Через облако» работать с VPN не будет.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Чтобы проверить, что служба работает – запустите браузер и в адресной строке введите DDNS, который вы придумали.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ШАГ 2: Настройка сервера

Прежде чем мы начнем, давайте я покажу пример, на основе которого мы будем работать. В общем ничего сложного, у нас есть два роутера Keenetic, которые мы хотим подключить друг к другу по VPN тоннелю. Задача в том, чтобы устройства этих сетей видели друг друга и были в одной (виртуальной) локальной сети. Туннель у нас будет иметь два конца: 10.1.0.1 и 10.1.0.2 (это не внешние IP адрес, а именно адреса туннеля).

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. В первую очередь нужно установить нужный нам компонент. Идем в «Общие настройки» – «Обновления и компоненты» кликаем по кнопке «Изменить набор компонентов» и в списке находим «Клиент OpenVPN». Пусть вас не вводит в заблуждение название, этот компонент работает как сервер и как клиент.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

cd C:\Program Files\OpenVPN\bin (команда перехода в папку, с установленной программой)
openvpn.exe –genkey –secret static.key (команда генерирует секретный ключ)

ПРИМЕЧАНИЕ! Если у вас 64-битная система, и вы скачали OpenVPN для 32-х битной ОС, то программа будет лежать по пути: C:\Program Files (x86)\OpenVPN\bin

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Теперь смотрите, идем в папку «bin» в установочной папке. Ищем там файлик «static.key» и открываем его через блокнот. Копируйте все содержимое – это и есть ключ.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Скачайте файл static-server , откройте его блокнотом. И между тэгами «secret» содержимое замените на свой ключ. Сохраните файл.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Теперь идем обратно в настройки роутера. Идем по пути «Другие подключения» – «VPN-подключения». Кликаем по кнопке добавления. В первую очередь вводим имя – можно указать любое. Далее указываем «Тип (протокол)» – «OpenVPN». Теперь копируем содержимое файлика «static-server» в поле «Конфигурация OpenVPN». Обязательно проверьте, чтобы в поле «Подключаться через» стоял параметр «Любое интернет-подключение» – иначе подключение может не произойти. Сохраняем параметр.
Читайте также:  Настройка роутера через роутер pppoe

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ШАГ 3: Настройка клиента

  1. Опять же нам нужно установить компонент «Клиент OpenVPN» – повторяем 1 шаг из прошлого шага.
  2. Скачиваем другой файлик static-client и открываем его в блокноте, вставляем ключ.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Находим строку, которая начинается со слова «remote», и после нее заменяем значение на свой DDNS или IP.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Добавляем OpenVPN подключение уже на клиенте. Все делается аналогично. Настройки файлика вставляем в «Конфигурацию OpenVPN».

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. А теперь нам нужно установить Telnet к себе в систему. Если у вас Windows Vista, 7, 8 или 10, то делаем следующие шаги. Я предупреждал, что настройка тут геморная.
  2. Открываем «Панель управления».

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Открываем консоль со стороны нашего роутера-сервера и прописываем команду, чтобы через телнет попасть внутрь настроек.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

interface OpenVPN0 no ip global
interface OpenVPN0 security-level private
no isolate-private
ip nat 10.1.0.2 255.255.255.255
(Для того, чтобы устройства этой сети имели доступ к интернету)
system configuration save

  1. Также нужно открыть UDP порт под номером 1194 (на серверном роутере). Переходим в «Межсетевой экран» и создаем правило, при создании вам нужно выбрать выше в строке «Интерфейс» подключение, которое вы используете для интернета (смотрите по названию).

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

Хочу подключиться к OpenVPN сети

  1. «Общие настройки» – «Обновления и компоненты» – «Изменить набор компонентов» – добавляем компонент, указанный на картинке ниже.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Нам нужен OpenVPN файл, который нужен для подключения к VPN-сети. Если он уже у вас есть, или вам его выдал провайдер или системный администратор – хорошо. Вы также можете попробовать бесплатные сервера от проекта «VPNGate». Я буду показывать на их примере. Переходим на сайт . Пролистываем вниз до таблицы и оставляем галочку только с параметром «OpenVPN», далее нажимаем по кнопке «Refresh Servers List». Останутся сервера, которые используют эти подключения. Далее из нужного нам столбца скачиваем конфиг-файл.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

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

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Скачайте файлик, откройте его в блокноте, выделите все и скопируйте в буфер с помощью клавиш ( Ctrl + C ).

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. В Web-интерфейсе роутера идем в «Другие подключения» – «VPN-подключения» добавляем новый коннект.
  2. Указываем любое имя подключения и ниже указываем тип. В конфигурацию нужно будет скопировать содержимое файла.

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

  1. Если помимо файла также выдается логин и пароль, то его нужно будет добавить в файл. Для этого находим строку «auth-user-pass».

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению


login
password

  1. Между тегами вставляем сначала логин, а потом пароль.
  2. Если же вам дали сертификаты, который обычно идет в отдельных файликах, то нужно найти строки:

ca ca.crt
cert
xxxxxxxxxx.crt
key xxxxxxxxxx.crt

#ca ca.crt
#cert
xxxxxxxxxx.crt
#key xxxxxxxxxx.crt

  1. Далее в самом конце файлика вставляем строки с сертификатами. В нужных полях вставляем содержимые файла.


—–BEGIN CERTIFICATE—–
Копируем содержимое из ca.crt
—–END CERTIFICATE—–


—–BEGIN CERTIFICATE—–
Копируем содержимое из xxxx.crt
—–END CERTIFICATE—–


—–BEGIN RSA PRIVATE KEY—–
Копируем содержимое из xxxx.key
—–END RSA PRIVATE KEY—–

ZyXEL Keenetic OpenVPN: полное руководство по созданию и подключению

На этом все, дорогие друзья. Обращаю ваше внимание, что вы всегда можете обратиться ко мне, или кому-то из нашей команды в комментариях. Всем добра!

Источник

Поднимаем VPN-туннель из мира домой в обход NAT

.

Хочу рассказать вам про то как имея в интернете свой VPS-сервер можно поднять туннель в домашнюю сеть. И не платить при этом за статический IP провайдеру, и даже находясь за NAT, все равно сделать доступными в интернете свои домашние сервисы.

Исходные данные

  • VPS сервер на debian со статическим реальным IP
  • роутер с прошивкой OpenWRT, который находится за провайдерским NAT
  • домашняя сеть с компьютерами и виртуальными машинами в 192.168.1.0/24

Настройка туннеля

apt-get update apt-get install openvpn 
dev tun0 ifconfig 10.9.8.1 10.9.8.2 secret /etc/openvpn/static.key route 192.168.1.0 255.255.255.0 

Здесь 10.9.8.x будет наша VPN-сеть, в которой адрес 10.9.8.1 мы назначем VPN-серверу, а адрес 10.9.8.2 VPN-клиенту.
Последняя строчка являет ссобой статисческий маршрут, который нужен для того, что бы наш VPS знал что путь в нашу домашнюю сеть лежит через роутер

Еще нам нужно сгенерировать ключ с которым будет подключаться к серверу наш роутер:

openvpn --genkey --secret static.key 

Теперь установим OpenVPN на наш роутер с которого мы будем инициализировать VPN-соединение:

opkg update opkg install openvpn 
scp root@your-server.org:/etc/openvpn/static.key /etc/openvpn/static.key 
remote your-server.org dev tun0 ifconfig 10.9.8.2 10.9.8.1 secret /etc/openvpn/static.key keepalive 60 120 

keepalive 60 180
Означает следующее: каждые 60 секунд посылать ping на удаленный хост, и, если за 180 секунд не было получено ни одного пакета — то перезапускать туннель.

openvpn --config /etc/openvpn/tun0.conf 
/etc/init.d/openvpn start /etc/init.d/openvpn enable 

Маршрутизация

Теперь настроим маршрутизацию.

Что бы наш роутер пропускал наш сервер в домашнюю сеть, а машины из домашней сети пропускал к серверу, нужно добавить следующие правила на роутер.

Создадим файлик и запишем в него эти правила:

#!/bin/sh #Allow forwarding via tunnel iptables -I INPUT -i tun0 -j ACCEPT iptables -I FORWARD -i tun0 -j ACCEPT iptables -I OUTPUT -o tun0 -j ACCEPT iptables -I FORWARD -o tun0 -j ACCEPT 
chmod +x /etc/iptables.up.rules 

Добавлять нужно перед exit 0

В принципе все готово.
Наши сети соединены, все машины прекрасно друг-друга видят и обмениваются пакетами.
Теперь, при желании, можно настроить проброс портов с внешнего на внутренний адрес.

Вот так, к примеру, выглядит проброс ssh порта на одну из машин у меня в домашней сети:

# Forward SSH port to server iptables -t nat -A PREROUTING -d XX.XX.XX.XXX -p tcp --dport 666 -j DNAT --to-dest 192.168.1.200:22 iptables -t nat -A POSTROUTING -d 192.168.1.200 -p tcp --dport 22 -j SNAT --to-source 10.9.8.1 

Где XX.XX.XX.XXX — внешний IP сервера, 192.168.1.200 — IP моей машины внутри домашней сети, 666 — порт при обращении к которому я попадаю на эту машину

PS: Если у вас что-то не получается убедитесь что на вашем VPS есть и подключены все необходимые для этого модули ядра

Источники

Источник

Оцените статью
Adblock
detector