VPN между двумя офисами с помощью Strongswan, как реализовать?
Здравствуйте.
Имеется два офиса. Мне их нужно соединить по каналу VPN, но не напрямую. В роли посредника должен выступать StrongSwan развернутый на VPS с Ubuntu Server.
- В офисе A у нас OPNSense (тот же PFSense) c белым IP x.x.x.x локальная сеть 192.168.0.0/24
- В офисе B у нас mikrotik (прошивка последняя 6.43.4) c белым IP y.y.y.y локальная сеть 192.168.88.0/24
- И имеется VPS c белым IP z.z.z.z и установленной Ubuntu Server в которой развернут StrongSwan. Так как у VPS всего один физический адаптер eth0 на котором внешний IP адрес, то я в файл конфига сети добавил вирутальный сетевой адаптер eth0:1 с IP 192.168.100.1/24
Схема сети должна быть следующей:
OPNSense <======> VPS StrongSwan <========> Mikrotik
Сети за OPNSense и Mikrotik должны друг друга видеть.
Суть проблемы в том что соединение StronSwan <=> Mikrotik поднялось, SA установились, шел пинг с VPS до микротика и машин за микротииком, а в обратную сторону НЕ шел с микротика, но зато шел с машин. После того как я на микротике добавил маршрут в в сеть VPS, пинги пошли в обес тороны и трассировка ходит успешно. Почему маршруты не создались автоматически?
А вот с соединением OPNSense <=> StronSwan сложнее. Тоннель поднимается в статусе и OPNSense и StronSwan показывает, что все хорошо, НО пинг с StronSwan до OPNSense и машин за ним идет, а трассировка нет. В обратную сторону нет пинга, нет трассировки с самого OPNSense до StronSwan. Зато машины находяшиеся за OPNSense успешно и пингуют и проводят трассировку до StrongSwan. Как я знаю маршруты должны сами создаваться, почему они не создаются и какие маршурты прописать что бы все заработало?
Помогите уже неделю бьюсь и безуспешно.
А сети за Микрпотиком и ОПНСенсом друг дргуа вообще не видят. Что то нудно прописать на StongSwane что бы все заработало?
листингов кидать очень много, поэтому спрашивайте что нужно посмотреть и я покажу.
Строго говоря, в IPsec маршрутов как таковых не видно. Всё описывается в SA. Т. е. вызвав ip route print на микроте или netstat -rn на opnSense, маршрутов вы не увидите.
Для IPsec определение, чего заворачивать в туннель, а чего просто маршрутизировать (мимо туннеля) происходит на основании настроек leftsubnet/rightsubnet (это в терминах StrongSwan, в других пакетах это по-другому называется).
Ну и в отрыве от вопроса -- не рекомендовал бы вам IPsec на микротах строить. Туннели часто виснут.
С чем связана необходимость построения тоннеля через промежуточный сервер? У вас же белые адреса на всех концах. Проще, безопаснее и надежнее сделать "каждый с каждым". Если без промежуточного сервера никак не обойтись, то лучше GRE или IPIP тоннели + IPSec (в транспортном режиме) - появятся тоннельные интерфейсы, а следовательно возможность настраивать маршрутизацию обычным способом