Настраиваем сервер

Все что нужно - это использовать уже готовый скрипт от вот этих ребят - hwdsl2/setup-ipsec-vpn:

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo \
VPN_IPSEC_PSK='IPSEC_PSK' \
VPN_USER='VPN_USER' \
VPN_PASSWORD='VPN_PASSWORD' sh vpnsetup.sh

Настраиваем Mikrotik

Создаем новое соединение L2TP

/interface l2tp-client
add allow=chap,mschap2 connect-to=SERVER_IP disabled=no ipsec-secret=\
    "IPSEC_PSK" max-mru=1280 max-mtu=1280 name=l2tp-out1 password=\
    VPN_PASSWORD use-ipsec=yes user=VPN_USER

Добавляем DNS провайдеров (Google, Quad9, OpenDNS) в систему

/ip dns set allow-remote-requests=yes servers=9.9.9.9 # Quad9

Если у вас PPPoE соединение и провайдер предоставляет свои DNS, то необходимо в интерфейсе Winbox снять галочку с пункта “Use Peer DNS” в настройках PPPoE соединения.

Заворачиваем трафик DNS до нашего DNS-провайдера

/ip route add distance=1 dst-address=9.9.9.9/32 gateway=l2tp-out1

Добавляем masquerade для трафика

/ip firewall nat add chain=srcnat action=masquerade out-interface=l2tp-out1

Добавляем маркировку для трафика, который будет находится в списке AnotherGWList

/ip firewall mangle add chain=prerouting src-address=192.168.0.0/24 dst-address-list=AnotherGWList action=mark-routing new-routing-mark=AnotherGWRoute

Добавляем маршрут для промаркированного трафика через наш VPN

/ip route add distance=1 routing-mark=AnotherGWRoute gateway=l2tp-out1

Сбрасываем кэш DNS

/ip dns cache flush

И добавляем нужные нам ресурсы в список AnotherGWList

/ip firewall address-list add address=www.linkedin.com list=AnotherGWList

На этом все.

Дополнительные ссылки

  1. Habrahabr - Выходим в интернет за пределами РФ
  2. Habrahabr - Настройка OpenVPN в связке Mikrotik/Ubuntu
  3. Mikrotik - Wiki
  4. Github - hwdsl2/setup-ipsec-vpn