OpenVPN сървър на RouterOS - RDB IT поддръжка
Настройване на OVPN сървър на ROS
1. PKI настройка
1.1. CA сертификат:
/certificate add name=CA country="RU" state="MSK" locality="MSK" organization="" unit="" common-name="CA" key-size=2048 days-val >
/certificate sign CA ca-crl-host=127.0.0.1 name="CA"
1.2. Сървърен сертификат:
/certificate add name=SRV country="RU" state="MSK" locality="MSK" organization="" unit="" common-name="srv-OVPN" key-size=2048 days-val >
/certificate sign SRV ca="CA" name="srv-OVPN"
Забележка: по-добре е да не променяте използването на ключа за сертификата на сървъра (и ако наистина искаме да го променим, тогава там също е написано какво трябва да бъде написано в конфигурацията на клиента за това).
Забележка: за разлика от SSTP, OVPN не проверява дали общото име на сертификата на сървъра съвпада с fqdn на сървъра.
1.3. Шаблон за клиентски сертификати:
/certificate add name=template-CL country="RU" state="MSK" locality="MSK" organization="" unit="" common-name="client-ovpn-template" key-size=2048 days-val >
1.3.1 Първи клиентски сертификат:
/certificate sign CL-to-issue ca="CA" name="client-ovpn-1"
1.3.2. Сертификат на втори и следващи клиенти:
Вижте т. 3.1, но променете стойността на параметрите.
За първата команда тази стойност трябва да е уникална в рамките на един CA.
За втората команда тази стойност трябва да е уникална в рамките на един microtic.
1.4 В бъдеще, за да отмените сертификати, използвайте командата:
издаден сертификат-отмяна %cert-name%
Където %cert-name% е полето name= на подписания сертификат, тоест PKI, показан от Mikrotik.
2. Настройка на OVPN сървър
Забележка: може да се персонализира врежим на тун (" ip " в ROS) или режим на докосване (" ethernet " в ROS). Режимът на настройка е нормален тунел. Режим на докосване - емулация на пълноценен Ethernet, по-специално в режим на докосване, клиентите могат да бъдат комбинирани в режим на мост и те ще се виждат перфектно. На теория можете да стартирате DHCP сървър в режим на докосване, но това не е реализирано в текущата версия на ROS.
/ip pool add name=OVPN_srv_pool ranges=192.168.100.100-192.168.100.199
2tun.2. Създайте PPP профил за OVPN сървъра:
/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool
По желание! Останалите опции зависят от вас и според вашите цели. Например: dns=192.168.100.1 use-ipv6=no
2tun.3. Настройте режим за удостоверяване на потребителя:
/ppp aaa set accounting=yes
2tun.4. Добавяне на потребители:
/ppp secret add name=isp-user-1 password=8WeHJOiNDnIY26 service=ovpn profile=OVPN_server
/ppp secret add name=isp-user-2 password=FduuIixHWt95D1 service=ovpn profile=OVPN_server
2tun.5. Включете OVPN сървъра:
/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ip netmask=24 require-client-certificate=yes certificate=srv-OVPN enabled=yes port=443
/ip pool add name=OVPN_srv_pool ranges=192.168.100.100-192.168.100.199
2 докосвания. 1+. Създайте мост за OVPN връзки:
/интерфейс br >
Забележка: arp трябва да е активиран, в противен случай клиентите няма да се виждат.
2tun.2. Създайте PPP профил за OVPN сървъра:
/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool br >
По желание! Други параметри по ваш вкус и в съответствие свашите цели. Например: dns=192.168.100.1 use-ipv6=no
2кран.3. Настройте режим за удостоверяване на потребителя:
/ppp aaa set accounting=yes
2 крана.4. Добавяне на потребители:
/ppp secret add name=isp-user-1 password=8WeHJOiNDnIY26 service=ovpn profile=OVPN_server
/ppp secret add name=isp-user-2 password=FduuIixHWt95D1 service=ovpn profile=OVPN_server
2 крана.5. Включете OVPN сървъра:
/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ethernet netmask=24 require-client-certificate=yes certificate=test-srv-OVPN enabled=yes port=443
Бележки и за двата режима:
2. Не смятам RADIUS удостоверяване просто защото не съм го тествал. Мога само да предполагам, че ще работи само за потребителско име / парола, а сертификатите пак ще се проверяват на Mikrotik.
3. Експортирайте сертификати за конфигуриране на клиенти
3.1. Експортиране на CA сертификат:
/certificate export-certificate CA export-passphrase=""
Забележка: Имаме нужда само от самия сертификат, НЕ се нуждаем от частния ключ, така че параметърът export-passphrase="" трябва да е празен.
3.2. Експортиране на клиентски сертификати:
/certificate export-certificate client-ovpn-1 export-passphrase=private-key-password1
/certificate export-certificate client-ovpn-2 export-passphrase=private-key-password2
Забележка: export-passphrase= - задължителен параметър за експортиране на лични ключове; използваме различна парола за всеки клиент; НЕ използвайте същата парола, която е посочена в параграфи 2.4 за потребителите!
3.3. Извличаме получените сертификати и ключови файлове от Mikrotik по всеки удобен начин (като правило носянапред и назад файлове директно от winbox).
1 Внос на сертификати
1.1 Поставяме CA сертификатния файл и сертификатния файл и клиентския ключов файл в Mikrotik по всеки удобен начин
1.2 Импортирайте CA сертификата
/certificate import file-name=cert_export_CA.crt passphrase=""
1.3 Импортирайте клиентския сертификат и ключ
/certificate import file-name=cert_export_client-ovpn-1.crt passphrase=""
/certificate import file-name=cert_export_client-ovpn-1.key passphrase=private-key-password1
2. Настройте клиента
/interface ovpn-client add name=OVPN_client connect-to= port=443 mode= user=isp-user-1 password= 8WeHJOiNDnIY26 profile=default certificate= client-ovpn-1 auth=sha1 cipher=blowfish128 add-default-route= disabled=no
Стойности в <> задайте в съответствие с предишните настройки и вашите нужди.
1. Вземете OVPN дистрибуцията от openvpn.net.
2. Инсталирайте, оставете всички опции по подразбиране, включително интерфейса за докосване, който ще е необходим за всеки режим на конфигурация.
3. Отидете на OpenVPN\config (по подразбиране C:\Program Files\OpenVPN\config) и създайте файл client.ovpn там (или копирайте от OpenVPN\sample-config).
4. Създайте клиентска конфигурация или направете промени с sample-config.
# Режимът, в който работи клиентът на услугата OVPN |
# Внимание! Посочваме само един параметър от два # За режима tup посочваме параметъра dev tun # За режима по натискане посочваме параметъра dev tap
# Този параметър се посочва само ако се използва режим на кран и вместо MyTap заместваме името на интерфейса на кран в Windows (ipconfig / all или мрежови връзки в контролния панел) dev-node MyTap
# Протоколът за използване.OVPN сървърът на ROS работи само в tcp proto tcp режим
# Тази опция е необходима само ако се използва повече от един сървър; Когато тази опция е указана, клиентът произволно избира един от посочените сървъри при свързване;remote-random
# Ако този параметър е зададен, тогава клиентът ще използва динамичен изходящ порт за свързване на nobind
# Позволете на клиента да запази настройките на тунела при повторно свързване, както и да не препрочита ключовите файлове persist-key persist-tun
# Настройки на прокси ;http-proxy-retry # повторен опит при неуспешна връзка ;http-прокси [прокси сървър] [прокси порт #]
# Деактивиране на съобщения за повтарящи се пакети ;mute-replay-warnings
# Пътища към файлове със сертификати # ca - CA сертификат, който е издал клиентския сертификат И сертификат на сървъра # cert - клиентски сертификат # ключ - частен ключ на клиентския сертификат ca cert_export_CA.crt cert cert_export_client-ovpn-1.crt ключ cert_export_client-ovpn-1.key
# auth-user-pass казва на клиента да използва потребителско име и парола за удостоверяване (но не вместо сертификати, а заедно със сертификати) # auth-user-pass казва на OVPN клиента да използва потребителско име и парола (не вместо сертификати, а заедно със сертификати) # user-pwd.txt сочи към файл, който съхранява потребителското име и паролата; първият ред във файла е данните за вход, вторият е паролата; ако този аргумент липсва, потребителското име и паролата ще бъдат изисквани всеки път, когато се свързвате # Забележка: В случай на използване на сертификат с частен ключ, към който трябва да въвеждате ключа всеки път, когато се свързвате, не считам за необходимо да принуждавам потребителя да запомни също и данните за вход с парола --auth-user-pass user-pwd.txt
# Казва на клиента, че тойтрябва да провери сертификата на сървъра за правилно използване на ключове remote-cert-tls използван сървър
# Ключ за криптиране на началото на процеса на удостоверяване (ръкостискане), допълнителна мярка за сигурност. Има смисъл, когато използвате само потребителско име/парола, без сертификати. ;tls-auth ta.key 1
# Посочете конкретен метод за криптиране, по подразбиране е blowfish128. ;cipher x
# Използване на lzo компресия. OVPN не се поддържа на ROS. ;comp-lzo
# Ниво на регистър. Колкото по-голяма е стойността, толкова по-подробни. глагол 3
# Блокиране на дублиращи се съобщения в log ;mute 20
# По-горе бяха параметрите, които присъстват в примера за "родна" конфигурация за клиента + 1 параметър, от който се нуждаем # По-долу ще дам още няколко, по мое мнение, полезни параметъра.
# Маршрут, зададен при стартиране на връзката # Маршрутът не сочи към шлюза, а директно към връзката маршрут 192.168.88.0 255.255.255.0
# Пауза преди задаване на маршрути след установяване на връзка (в секунди) закъснение на маршрута 5
# Ако искаме да зададем OVPN връзката като шлюз по подразбиране route-gateway 192.168.100.1
Забележка: за да приложите параметрите за маршрутизиране, посочени в конфигурацията, самата OVPN услуга или OVPN GUI трябва да се стартира с администраторски права.