IP-туннели в Mikrotik с помощью OpenVPN
Продолжаем разбираться с Mikrotik. Про L2-тоннели на OpenVPN мы уже узнали, теперь попробуем построить L3-тоннель и поднять поверх него L2 в виде EOIP. Нужно это нечасто, задача специфическая – но раз надо, значит надо.
Что мы имеем? Сервер на RouterOS со статическим белым адресом. Клиента, использующего какой-нибудь свисток типа йоты/мтс/скайлинк, или подключение через другого провайдера, имеющий, в лучшем случае, белую динамику, но чаще всего – серый адрес за NAT. Нужно привести L2 от клиента к серверу поверх L3. Т.к. pptp подключение пропускается не всеми провайдерами (как это ни странно. Особенно этим грешат мобильные терминалы), будем использовать OpenVPN, который не использует GRE, а только TCP/UDP, и пролезает везде.
Для начала, настраиваем серверную часть. Создаем IP-pool, который будет выдаваться клиентам, учетные записи для пользователей – все как для L2-тоннеля. Отличие есть в конфигурации самого сервера:
[admin@MikroTik] > interface ovpn-server server print enabled: yes port: 1194 mode: ip netmask: 30 mac-address: FE:6F:98:26:35:02 max-mtu: 1500 keepalive-timeout: 60 default-profile: ovpn-profile certificate: cert2 require-client-certificate: no auth: sha1,md5 cipher: blowfish128,aes128,aes192,aes256
И конфигурации ovpn-профиля – он может быть один на все соединения, т.к. vpn-bridge указывать не надо.
При соединении получаем соединение точка-точка, поверх которого можно строить EOIP-тоннель, или использовать для маршрутизации (например, как резервный канал) с помощью BGP или OSPF.
Адресация может быть практически любая – клиенту может выдаваться как /32 адрес, так и /24, например.