Задача:
Необходимо организовать возможность подключения по OpenVPN к головному офису клиентов удаленного офиса, и клиентов подключенных непосредственно к сети Интернет. В головном офисе через интерфейс gi1/0/1 с белым IP адресом 10.10.0.10/8 у нас имеется выход в интернет.
Решение:
Первым делом настроим OpenVPN сервер на примере маршрутизатора ESR-200. Для этого нам понадобятся заранее выработанные сертификаты и ключи(ca.crt, dh.pem, server.key, client.key, server.crt, client.crt, ta.key).
Загрузим сертификаты на маршрутизатор. Для этого воспользуемся TFTP сервером (также можно загружать сертификаты и через FTP/SCP либо USB/SD).
esr# copy tftp://192.168.16.10:/ca.crt crypto:cert/ca.crt
esr# copy tftp://192.168.16.10:/dh.pem crypto:dh/dh.pem
esr# copy tftp://192.168.16.10:/server.key crypto:private-key/server.key
esr# copy tftp://192.168.16.10:/server.crt crypto:cert/server.crt
esr# copy tftp://192.168.16.10:/ta.key crypto:ta/ta.key
Далее сама настройка:
esr(config)# remote-access openvpn AP //Создаем сервер и даем ему имя
esr(config-openvpn-server)# network 10.10.100.0/24 //Определяем сеть из которой будут выделяться адреса клиентам
esr(config-openvpn-server)# tunnel ip //Выбираем на каком уровне будет работать (l2 ethetnet/l3 ip)
esr(config-openvpn-server)# protocol tcp //Выбираем протокол по которому будет работать сервер (tcp/udp)
esr(config-openvpn-server)# route 10.10.0.0/20 //Добавляем маршрут на сеть, которая будет доступна для клиентов
esr(config-openvpn-server)# dns-server 10.10.1.1 //DNS-сервер для клиентов
esr(config-openvpn-server)# crypto ca ca.crt //
esr(config-openvpn-server)# crypto dh dh.pem //указываем загруженные ранее сертификаты
esr(config-openvpn-server)# crypto private-key server.key //
esr(config-openvpn-server)# crypto cert server.crt //
esr(config-openvpn-server)# crypto ta ta.key //
esr(config-openvpn-server)# security-zone VPN //Указываем зону безопасности
esr(config-openvpn-server)# tls enable //Включаем протокол TLS
esr(config-openvpn-server)# encryption algorithm aes128 //Выбираем алгоритм шифрования
esr(config-openvpn-server)# authentication algorithm sha-256 //При включении TLS, обязательное указание алгоритма аутентификации
esr(config-openvpn-server)# enable //Включаем сервер
Предположим что удаленному офису необходимо дать статический IP. Тогда для данного клиента (в примере используется имя сертификата udoffice) необходимо произвести следующие настройки:
esr(config-openvpn-server)# username udoffice
esr(config-openvpn-user)# ip address 10.10.100.202
esr(config-openvpn-user)# exit
Если говорить о клиентах с интернета, то их много и необходимо, что бы они подключались через один сертификат. Для этого активируем функцию duplicate-cn:
esr(config-openvpn-server)# duplicate-cn
esr(config-openvpn-server)# end
esr# commit
esr# confirm
На этом настройка сервера завершена. Перейдем к настройке удаленного офиса. Предположем, что там установлен ESR-10. Загрузим на него сертификаты и настроим OpenVPN туннель:
esr# copy tftp://192.168.16.10:/ca.crt crypto:cert/ca.crt
esr# copy tftp://192.168.16.10:/udoffice.key crypto:private-key/udoffice.key
esr# copy tftp://192.168.16.10:/udoffice.crt crypto:cert/udoffice.crt
esr# copy tftp://192.168.16.10:/ta.key crypto:ta/ta.key
esr# config
esr(config)# tunnel openvpn 1
esr(config-openvpn)# ip firewall disable
esr(config-openvpn)# remote address 10.10.0.10
esr(config-openvpn)# protocol tcp
esr(config-openvpn)# tunnel ip
esr(config-openvpn)# encryption algorithm aes128
esr(config-openvpn)# authentication algorithm sha-256
esr(config-openvpn)# crypto ca ca.crt
esr(config-openvpn)# crypto private-key udoffice.key
esr(config-openvpn)# crypto cert udoffice.crt
esr(config-openvpn)# crypto ta ta.key
esr(config-openvpn)# tls enable
esr(config-openvpn)# enable
Все настройки клиента должны соответствовать наcтройкам сервера.
esr(config-openvpn)# end
esr# commit
esr# confirm
Просмотреть статус подключенных клиентов на сервере можно командой show remote-access status openvpn. Статус туннеля на клиенте show tunnels status.

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