Настройка сервера OpenVPN на OpenWRT

Установка требуемых компонентов.

easy-rsa - утилита CLI для создания и управления PKI CA для создания корневого центра сертификации, а также запрос и подпись сертификатов.

openvpn-openssl - пакет OpenVPN.

luci-app-openvpn - web интерфейс OpenVPN.

opkg update

opkg install luci-app-openvpn openvpn-easy-rsa openvpn-openssl

Создание сертификатов.

easyrsa init-pki

easyrsa build-ca nopass

easyrsa build-server-full ovpn_server nopass

easyrsa build-client-full ovpn_client_1 nopass

easyrsa gen-dh

В моем случае при выполнении команд сертификаты и ключи сохранились по указанным ниже путям:

build-ca - /root/pki/ca.crt, /root/pki/private/ca.key

build-server-full - /root/pki/issued/ovpn_server.crt, /root/pki/private/ovpn_server.key

build-client-full - /root/pki/issued/ovpn_client_1.crt, /root/pki/private/ovpn_client_1.key

gen-dh - /root/pki/dh.pem

Подготовка конфигурации сервера.

nano /etc/config/openvpn

config openvpn 'ovpn_home'
        option proto 'udp'
        option cipher 'AES-256-GCM'
        option client_to_client '1'
        option comp_lzo 'no'
        option dev 'tun_ovpn'
        option duplicate_cn '1'
        option enabled '1'
        option keepalive '10 120'
        option mode 'server'
        option mssfix '1450'
        option persist_key '1'
        option persist_tun '1'
        option port '7500'
        option remote_cert_tls 'client'
        option reneg_sec '0'
        option server '10.100.0.0 255.255.255.0'
        option topology 'subnet'
        option verb '3'
        option ca '/root/pki/ca.crt'
        option cert '/root/pki/issued/ovpn_server.crt'
        option dh '/root/pki/dh.pem'
        option key '/root/pki/private/ovpn_server.key'
        list push 'comp-lzo no'
        list push 'redirect-gateway def1'
        list push 'route 192.168.1.0 255.255.255.0'
        option log_append '/etc/openvpn/logs/openvpn.log'

Добавляем новый интерфейс:

Включаем службу OpenVPN и запускаем ее:

Настройка Firewall.

Через web интерфейс. Сеть - Межсетевой экран - Зоны Lan-Wan - Изменить - Расширенная настройка - Охватываемые устройства выбираем tun-ovpn - Сохранить - Применить

Далее идем в правила для трафика и добаляем новое правило

Настройки клиента.

Создаем файл ovpn_home.ovpn со следующим содержимым:

В строке remote укажите ваш внешний ip.

client
dev tunrw
remote "ваш внешний ip" 7500
auth-nocache
cipher AES-256-GCM
comp-lzo no
connect-retry 5 60
keepalive 10 120
mssfix 1450
nobind
persist-key
persist-tun
proto udp
pull
remote-cert-tls server
reneg-sec 0
verb 3
# Uncomment below to force Internet traffic over VPN, instead of just accessing devices.
redirect-gateway def1
<ca></ca>
<cert></cert>
<key></key>

Добавляем в разделы содержимое файлов:

<ca></ca>

cat /root/pki/ca.crt

<cert></cert>

cat /root/pki/issued/ovpn_client_1.crt

<key></key>

cat /root/pki/private/ovpn_client_1.key

Полученный файл импортируем в любой OpenVPN клиент.

Комментарии ()

  1. den? 23 мая 2025, 04:56(Комментарий был изменён) # 0
    Спасибо за инструкцию, подскажите пожалуйста что прописать в конфиг что бы сторона сервера могла видеть сеть за клиентами (клиенты роутеры)?

    Так же прописал в конфиге сервера list push 'dhcp-option DNS 192.168.1.1' что бы на клиенте работали днс запросы
    Задать вопросы вы можете, обратившись к нам любым удобным для Вас способом:
    Оставить заявку на

    Нажимая кнопку отправить я ознакомлен и даю свое согласие на обработку моих персональных данных в соответствии с Федеральным законом "Об информации, информационных технологиях и о защите информации" от 27.07.2006 N 149-ФЗ и принимаю условия Политики в отношении обработки персональных данных