OpenVPN & MikroTik

Как оказалось, все просто. Имеется, сервер на ubuntu Linux, который выполняет роль шлюза в некоем головном офисе, задача дешево и хорошо подключить удаленный офис.
В качестве клиента будет выступать MikroTik router board.
Сеть будет маршрутизуемая — офисы, как сидели в разных сетях, так и останутся, но после проброса туннеля будут видеть друг-друга.

Исходные данные:
192.168.0.1/24 — шлюз в головном офисе и сеть, к которой нужно предоставить доступ
192.168.1.1/24 — mikrotik в удаленном офисе, и его сеть.
192.168.201.0/24 — VPN туннели OpenVPN
Linux OpenVPN server
RouterOS включает в себя почти полную реализацию OpenVPN, за некоторыми исключениями: не поддерживается сжатие и UDP транспорт. Исходя из этого конфиг:

 
port 1194
proto tcp
dev tun5
server 192.168.201.0 255.255.255.0
topology net30
push "route 192.168.0.0 255.255.255.0"
topology subnet
client-config-dir /etc/openvpn/office/ccd
route 192.168.1.0 255.255.255.0
ca 	/etc/openvpn/office/ca.crt
cert 	/etc/openvpn/office/server.crt
key 	/etc/openvpn/office/server.key
dh 	/etc/openvpn/office/dh1024.pem
keepalive 5 30
persist-key
persist-tun
status /var/log/openvpn/openvpn-status-office.log
verb 3

в /etc/openvpn/office/ccd добавляем файл с именем ключа клиента без расширения (client1 например)
с единственной строкой

iroute 192.168.1.0 255.255.255.0

Это инструкция для построения внутренней таблицы машртузации OpenVPN

Разрешаем 1194 TCP в цепочке INPUT
и весь трафик для сети 192.168.201.0/24 в FORWARD
ip_forward уже включен.

Для клиента в случае RouterOS для подключения потребуется только клиентский сертификат (с ключом, ес-но)
Для заливки сертификата и ключа загружаем их на FTP MikroTik, после чего их можно будет импортировать на вкладке System-Certificates, сначала сертификат, потом ключ (он добавится к сертификату), для удобства — как-нибудь переименуем.
Дальше просто — добавляем новый интерфейс OpenVPN Client в соответствующем разделе, с параметрами:
Connect To — IP OpenVPN сервера (разрешение имен все еще не поддерживается)
Port: 1194 — в моем случае
Mode: IP (для tun, ether для tap)
username, password роли не играют, но заполнить чем-нибудь прийдется
profile: так же роли не играет
Certificate: импортированный сертификат клиента
Auth: sha1
Cipher: blowfish 128
Add default route: disable

Сохраняем и смотрим, что получилось: интерфейс должен перейти в статус connected, а в таблице маршрутизации должна появится сеть головного офиса
На сервере OpenVPN же должна так же появится запись о внутренней сети клиента.
Так как и OpenVPN сервер и MikroTik уже выполняют роли шлюзов по-умолчанию, после вышеописанных манипуляций все компьютеры в сетях 192.168.0.0/24 и 192.168.1.0/24 будет видеть друг-друга
З.Ы.
Если необходимо подключать несколько клиентов — необходимо добавить правила ifconfig-push для ccd/*,

З.Ы.Ы.
Когда-нибудь позже разберу TAP-туннели, но пока без надобности