OpenVPN сервер и клиент. Соединяем в мост два роутера ASUS RT-N56U/N14U (прошивка от Padavan)

Хочется иметь общую сетевое окружение с товарищем из другого города? 

Сегодня расскажу и покажу как корректно настроить два роутера, из заголовка видно какие именно и естественно видно на какой прошивке все эти действия будут проводиться. В этой статье ТЫЦ видно — что откуда качать и как устанавливать. Поэтому начну сразу с момента, когда OpenVPN-сервер создаёт пользователя, и этот самый пользователь становится OpenVPN-клиентом.

Настройки OpenVPN-сервера:

Берём роутер-клиент (далее клиент) и настраиваем на нём IP-адрес LAN и DHCP-сервер. Нужно сделать так, чтобы конфликтов не произошло между роутером-сервером (далее сервер) и клиентом. Думаю раз уж прошивку поставили, то и сами догадываетесь как правильно пул IP-адресов раскидать (не должно быть конфликтов IP-адресов).

Включаем SSH-сервер в меню «Администрирование — Сервисы»

Скачиваем прогу WinSCP, это графическая оболочка SSH.

На сервере создаём пользователя OpenVPN, далее файлик скачивается и при открытии мы видим следующую картину

Это client.conf (синий), ca.crt (красный), client.crt (желтый), client.key (оранжевый). Выделил цветным те области, которые необходимо будет скопировать. Черный шрифт пропускаем мимо глаз.

Включаем OpenVPN-клиент на клиенте, вбиваем параметры. Наживаем «применить»

В нынешнем состоянии зелёный значок «Подключено» не появится, он свидетельствует об успешном коннекте, до которого мы ещё не дошли.

Включаем WinSCP, SFTP-протокол передачи и вводим IP-адрес клиента, порт 22 остаётся, далее логин/пароль от клиента и наживаем «Войти». Далее нажимаем «Нет» (чтобы в кэше пароль не сохранялся) в итоге всё подключилось и идём по пути /etc/storage/openvpn/client:

И вот эти сертификаты и ключи надо создать (с расширениями думаю все умеют возиться, .txt в .crt и .key перевести не составит труда), копируя инфу в них из созданного на сервере файла. Для удобства выше выделил цветами нужный текст, который необходимо скопировать. Пример cодержимого в ca.crt:

В итоге всё должно заработать. В случае неудачи перезагрузите все роутеры

 

Вам понравится...

9 Комментариев

  1. Olya:

    Очень интересная статья, спасибо

  2. Evgeny:

    Все выполнил по инструкции. Мост между маршрутизаторами работает. Рабочие станции, расположенные в локальных сетях за маршрутизаторами, отлично видят друг друга.
    Но при удаленном подключении к маршрутизатору-серверу OpenVPN рабочей станции-клиента OpenVPN рабочая станция видит только локальную сеть за маршрутизатором-сервером и не видит локальную сеть за маршрутизатором-клиентом. Подключившуюся рабочую станцию-клиента не видно из локальных сетей обоих маршрутизаторов.

  3. Dude:

    При данной схеме возможен только один клиент или несколько? Если несколько, то будут ли клиенты видеть сети друг друга? Какая производительность такого решения? Я ранее настраивал pptp сервер — на нем скорость не более 30 мбит/с.

    • Divaden Divaden:

      Несколько, на данный момент три клиента использую. И естественно можно и больше.
      Да, клиенты видят локальную сеть всех остальных клиентов и сервера в том числе.
      Тариф стоит на сервере и клиенте одинаковый — 30 мбит/с. Сервер выдаёт 28/30 (загрузка/отдача), клиент 24/18 (сейчас удаленно подключился, помню когда в начале подключал было почти под 30/30, ввиду этого думаю ещё от провайдера зависит, позднее ещё раз протестирую скорость).
      Выше 30 мбит/с проверить возможности нет.

      • Dude:

        Планирую объединить 3 квартиры и в перспективе еще 2 к ним. Везде канал 100 Мбит и роутеры асус. Устройств одновременно в каждой квартире может быть подключено до 20 штук. Понятно, что всем им доступ в vpn не нужен. Однако думаю, что более эффективно будет не запихивать их в одну сеть, а разделить на подсети. Правильно ли я понимаю, что в этом случае надо использовать openvpn уровня 3? Можете ли Вы написать как его настраивать? Если все-таки использовать уровень 2, то для каждого устройства vpn сервер будет выдавать свой ip или из одной квартиры все устройства попадут на 1 адрес?

        • Divaden Divaden:

          На подсети не разделял, чтобы не возникало лишних проблем с доступом к устройствам. Но это уже дело каждого.
          Нужно продумать пул адресов для каждой сети (сервер, клиент 1,2,3,4…), и оставить на запас… ввиду будущих возможных клиентов.
          Рассмотрим ситуацию с устройствами (сервер, клиент):
          Пришёл в сеть клиента, роутер мне присвоил IP пула адресов клиента. Пошёл к сети сервера, роутер присвоил IP пула адресов сервера.
          Т.е. отвечаю на Ваш вопрос — устройство (допустим смартфон) получает IP в той сети, где он сейчас находится. В DHCP-сервер это устройство не фиксировал. С зафиксированными в DHCP-сервере устройствами не перемещался между сетями, ввиду их стационарности — но интересно какой эффект получится, надо будет попробовать.
          Но есть залётные птицы. Например «чьи-то» допустим ноуты приходят в Вашу сеть сервера, у которых в настройках прописаны вручную IP, которые принадлежат сети клиента. Результат логичен — используется трафик клиента через сервер. И если на клиенте интернет идёт через usb-модем с ограниченным бесплатным трафиком, то последствия будут печальные.

          • Dude:

            Объединил 3 роутера. В качестве сервера 56, клиенты 14 асусы. Скорость катастрофически низкая: 15-20 мбит с шифрованием и 40-50 без. В итоге сделал так: pptp серверы и клиенты на двух роутерах соединены друг с другом. Третий роутера только клиент, но мне и не надо видеть его сеть. Без шифрования скорость 100 мбит и загрузка процессора на роутерах даже не всегда 100% при передаче файлов. Решение не подойдет для передачи секретных ценных данных, но чтобы расширить маме теще фотоархив на домашнем сервере — вполне.

  4. utya:

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

  5. OpenVPN является чрезвычайно универсальным программным обеспечением, позволяющим настроить конфигурацию на любой вкус, где одна машина может одновременно являться сервером и клиентом, делая их между собой неразличимыми.