Перейти к содержимому
Калькуляторы

How to по настройке OpenVPN на SNR-CPE

Хочу поделиться опытом по настройке OpenVPN на маршрутизаторах SNR-CPE (актуально для моделей с USB-интерфейсом(ME1/ME2/ME2-SFP)). Думаю на фоне новой короновирусной волны, и в случае перехода на удаленный режим работы владельцам сих дивайсов должно быть актуально :)

 

Поехали...

 

OpenVPN - клиент-серверная технология виртуальной частной сети(VPN), позволяющая создавать и присоединяться к зашифрованным каналам связи с помощью туннелирования через порт UDP или TCP. OpenVPN считается одним из безопасных протоколов VPN на сегодняшний день. 
Если у вас SNR-CPE c USB портом(т.е. ME1/ME2/ME2-SFP), вы можете установить OpenVPN на маршрутизатор.

 

Плюсы такого решения:

  • возможность пользоваться корпоративными сервисами с любого устройства, подключенного к маршрутизатору, без настройки OpenVPN
  • возможность одновременно пользоваться внутренней телефонией с мобильного телефона и корпоративными сервисами, например 1С

 

Подготовка USB-накопителя

В первую очередь, необходимо подготовить USB-накопитель для работы с маршрутизатором. В качестве примера воспользуемся утилитой Minitool Partition(Windows), скачать её можно с официального сайта www.partitionwizard.com(имеется бесплатная версия). Подготовка подразумевает создание раздела с файловой системой ext4 с меткой optware

Откройте программу через меню Пуск или на рабочем столе. В главном меню программы, отображены накопители обнаруженные вашей операционной системой, выберете дисковое пространство вашего накопителя и нажмите правую кнопку мыши(1), затем нажмите Format(2).

1.thumb.png.bc38fbe3fead3871cb1d4b487174fbe2.png

 

Откроется меню форматирования, в Partition Label впишите название USB-накопителя optware(1), выберите File System Ext4(2) и нажмите OK(3), затем нажмите Apply в левой боковой панели для применения и запуска настроек форматирования(4).

2.thumb.png.412ce861efc9343eed13b61661079e04.png

 

После завершения форматирования, отключите USB-накопитель от компьютера и подключите в USB-порт беспроводного маршрутизатора.

 

Настройка Entware.
Entware - это программный репозиторий пакетов для маршрутизаторов или сетевых хранилищ. С помощью репозитория Entware на маршрутизатор можно установить ПО не входящее в состав операционной системы маршрутизатора.  Ранее ранее коллеги из NAG'а описывали пример настройки сервера, посмотреть можно тут

 

Вся дальнейшая подготовка и работа с Entware будет производиться из консоли маршрутизатора. Для подключения к маршрутизатору можно использовать любой удобный SSH-клиент, например Putty, или можно воспользоваться встроенным терминалом в Windows 10 или Linux.

 

Рассмотрим пример подключения из под Windows 10, как наиболее распространенной ОС.

Для подключения необходимо открыть Powershell, для этого нажмите комбинацию клавиш Win+R, в появившемся окне наберите powershell и нажмите ОК для запуска. В появившемся окне наберите ssh Admin@192.168.1.1 и нажмите Enter, затем введите пароль для подключения к маршрутизатору.

PS C:\WINDOWS\system32> ssh Admin@192.168.1.1
Admin@192.168.1.1's password:

ssh Admin@192.168.1.1 - где Admin это имя пользователя для входа в веб интерфейс/ssh маршрутизатора, а 192.168.1.1 это IP-адрес маршрутизатора. 
Убедитесь, что устройство(ПК, ноутбук) подключен к беспроводному маршрутизатору по Ethernet-порту(LAN) или через Wi-Fi.
Так же убедитесь, что беспроводной маршрутизатор настроен и имеет доступ в интернет.

 

Идем далее, чтобы проверить, что раздел optware смонтировался корректно выполните команду mount | grep opt

[SNR-CPE@/]# mount | grep opt
/dev/sda1 on /opt type ext4 (rw,noatime,data=ordered)

Далее, для установки Entware выполняем в консоли entware_install.sh и дожидаемся завершения установки.
При успешной установке в терминале должно появиться следующее сообщение:

Info: Congratulations!
Info: If there are no errors above then Entware was successfully initialized.
Info: Add /opt/bin & /opt/sbin to your PATH variable
Info: Add '/opt/etc/init.d/rc.unslung start' to startup script for Entware services to start
Info: Found a Bug? Please report at https://github.com/Entware/Entware/issues
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!NEED REBOOT DEVICE BEFORE USE!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

По окончанию установки выполните fs save && reboot для сохранения конфигурации и перезагрузки маршрутизатора.

 

Установка и конфигурация OpenVPN

Подключитесь по SSH к маршрутизатору и перейдите в каталог /opt/bin/ выполнив команду cd /opt/bin/

Проверьте наличие обновляемых пакетов с помощью команды ./opkg update

[SNR-CPE@/opt/bin]# ./opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware

Для установки OpenVPN клиента выполните команду ./opkg install openvpn-openssl

[SNR-CPE@/opt/bin]# ./opkg install openvpn-openssl
Installing openvpn-openssl (2.4.8-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/openvpn-openssl_2.4.8-1_mipsel-3.4.ipk
Configuring openvpn-openssl.

Далее понадобится файл RW-FS с предварительной конфигурацией OpenVPN, для примера прикладываю архив который используем в качестве шаблона OpenVPN SNR-CPE.tar.bz2. Для загрузки скачанного архива перейдите в веб-интерфейс. Затем перейдите в меню  Администрирование(1) - Управление(2). В блоке RW-FS нажмите Выбрать файл(3) и выберите скачанный архив, после выбора нажмите Загрузить(4). В процессе загрузки RW-FS архива маршрутизатор будет перезагружен

3.thumb.png.b811709fd97841d6ebcd1bce960fa191.png

 

После перезагрузки повторно подключитесь к маршрутизатору, через WinSCP (или любым другим удобным способом).

 

Откройте WinSCP, окне выберите протокол SCP,  введите Имя хоста: 192.168.1.1, Имя пользователя: Admin и пароль, затем нажмите Войти

 

Перейдите в каталог с конфигурацией OpenVPN, каталог находится: /opt/etc/openvpn

 

В каталоге по умолчанию расположено два файла: openvpn.conf и userpass.conf.

openvpn.conf - содержит в себе основную конфигурацию для подключения к серверу;
userpass.conf - содержит в себе имя пользователя и пароль.


В первую очередь необходимо подготовить файл userpass.conf для нажмите правой кнопкой мыши по файлу, в появившемся окне выберите Править, затем Править.

Откроется текстовый редактор, укажите в первой строке имя пользователя, а во второй пароль. Пример содержимого файла представлен ниже:

Username
Password

Нажмите сочетание клавиш Ctrl+S для сохранения, затем файл с конфигурацией можно закрыть.

Теперь нужно подготовить конфигурационный файл openvpn.conf, для этого так же откройте его в текстовом редакторе.

 

В моем случаен конфигурационный файл имеет расширение .opvn, и имеет в себе все ключи и сертификаты, по этому пойдем по пути моего примера. Откройте файл с помощью текстового редактора(Блокнот или Notepad ++). Скопируйте текст из файла с расширением .opvpn в конфигурационный файл VPN на SNR-CPE - /opt/etc/openvpn/openvpn.conf

dev tun
persist-tun
persist-key
cipher AES-256-CBC
ncp-ciphers AES-256-GCM:AES-128-GCM
auth SHA512
tls-client
client
resolv-retry infinite
remote test.domain.ru 1194 udp
verify-x509-name "test.domain.ru" name
auth-user-pass /opt/etc/openvpn/userpass.conf
remote-cert-tls server
<ca>
-----BEGIN CERTIFICATE-----
Вставьте содержимое корневого сертификата
-----END CERTIFICATE-----
</ca>
 
<cert>
-----BEGIN CERTIFICATE-----
Вставьте содержимое открытого ключа
-----END CERTIFICATE-----
</cert>
 
<key>
-----BEGIN PRIVATE KEY-----
Вставьте содержимое закрытого ключа
-----END PRIVATE KEY-----
</key>
 
key-direction 1
 
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
Вставьте содержимое TLS ключа для аутентификации
-----END OpenVPN Static key V1-----
</tls-auth>

Обратите внимание на комментарии который вставлены в примере файла openvpn.conf

 

После внесения необходимых изменений сохраните файл и закройте.

Для запуска службы OpenVPN, подключитесь по SSH и выполните /opt/etc/init.d/S20openvpn start

[SNR-CPE@]# /opt/etc/init.d/S20openvpn start
Starting openvpn...                  done.

Для проверки текущего статуса выполните /opt/etc/init.d/S20openvpn check

[SNR-CPE@]# /opt/etc/init.d/S20openvpn check
Checking openvpn...                  alive.

Статус "alive" говорит о том, что служба запущена корректно.
Возможный статус "dead" говорит о том, что в конфигурации допущена ошибка, или введены неверные данные для подключения к серверу VPN. Проверьте правильность конфигурации и перезапустите службу командой /opt/etc/init.d/S20openvpn restart

 

Если все сделано правильно, то при выполнении команды ifconfig tun0 мы увидим интерфейс tun0 с присвоенными сервером сетевыми реквизитами:

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:172.16.100.10 P-t-P:172.16.100.29 Mask:255.255.254.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
[SNR-CPE@/]#

На этом настройка OpenVPN завершена, теперь можно пользоваться локальными сервисами в удаленном офисе :)

Изменено пользователем megahertz

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

megahertz

Настраивал роутер по Вашей инструкции, закинул файл conf antizapret-tcp. Но роутер всё равно не открывает сайты. Что может быть? Возможно надо как то редактировать этот файл?

antizapret-tcp.ovpn

 

 

Изменено пользователем GziNN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 05.02.2021 в 12:38, GziNN сказал:

megahertz

Настраивал роутер по Вашей инструкции, закинул файл conf antizapret-tcp. Но роутер всё равно не открывает сайты. Что может быть? Возможно надо как то редактировать этот файл?

antizapret-tcp.ovpn

 

 

 

А что за файл вы взяли? его в инструкции нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 09.02.2021 в 09:13, VillsEK сказал:

А что за файл вы взяли? его в инструкции нет

В инструкции пример файла. Я вставил свой, но не пойму какие строчи нужно отредактировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:) Производитель будет неспокоен :) И если учесть, что всякий впн-сервер немного кушает и память и проц в основном, то можно одним анекдотом все охарактеризовать "крупная фирма возьмет в аренду степлер".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 13.02.2021 в 08:13, GziNN сказал:

В инструкции пример файла. Я вставил свой, но не пойму какие строчи нужно отредактировать.

Доброго дня. На сайте проекта есть тема с подобной проблемой, возможно помогут советы из темы. 

https://ntc.party/t/openvpn-keenetic-viva/853

По редактированию самого файла лучше обратиться на форум проекта ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как получить шаблон RW-FS для настройки OpenVPN?

Архив, к сожалению, не доступен по ссылке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день. Странно, по ссылке скачался шаблон. Прикладываю.

OpenVPN SNR-CPE.tar.bz2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А есть инструкция как поднять сервер опенвпн на роутере?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DEL

Изменено пользователем cocedreka
удаление

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.