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 трябва да се стартира с администраторски права.