OpenVPN – реализация технологии виртуальной частной сети, с поддержкой SSL.

Основным плюсом OpenVPN – это тот факт, что можно выбирать любой порт. Это позволяет обходить запреты firewall и NAT.
В этой статье я расскажу как создать OpenVPN сервер средствами RouteOS, для подключения клиентов систем Windows и Unix.
Сначала откроем терминал, и зададим переменные:

:global COMMONNAME “openVPN”
:global COUNTRY “UA”
:global STATE “PL”
:global LOCALITY “Poltava”
:global ORG “My org”
:global UNIT “”
:global KEYSIZE “1024”
:global USERNAME “user”
:global PASSWORD “password”

Теперь начнем создавать сертификаты. Обращаю Ваше внимание на то, что переменная KEYSIZE задает длину ключа. Можно поставить значение больше – это придаст криптостойкость системе, но скорость соединение при этом уменьшится.
Создадим сертификаты сервера:

/certificate
add name = ca-template country = ”$COUNTRY” state = ”$STATE” locality = ”$LOCALITY” organization = ”$ORGANIZATION” unit = ”$UNIT” common-name = ”$COMMONNAME” key-size = ”$KEYSIZE” days-valid = 3650 key-usage = crl-sign,key-cert-sign
sign ca-template ca-crl-host = 127.0.0.1 name = ”$COMMONNAME”
:delay [6]
add name = server-template country = ”$COUNTRY” state = ”$STATE” locality = ”$LOCALITY” organization = ”$ORGANIZATION” unit = ”$UNIT” common-name = ”server@$COMMONNAME” key-size = ”$KEYSIZE” days-valid = 3650 key-usage = digital-signature,key-encipherment,tls-server
sign server-template ca = ”$COMMONNAME” name = ”server@$COMMONNAME”
:delay [6]
add name = $USERNAME country = ”$COUNTRY” state = ”$STATE” locality = ”$LOCALITY” organization = ”$ORGANIZATION” unit = ”$UNIT” common-name = ”$USERNAME” key-size = ”$KEYSIZE” days-valid = 3650 key-usage = tls-client

Зададим диапазон IP-адресов для подключенных клиентов: