LINUX.ORG.RU

VPN chain из wireguard или чем заменить

 , ,


0

1

Привет.

Хочу поднять два сервера с wireguard для доступа к домашней локалке и еще одной локалке (точнее, оба сервера уже подняты, могу напрямую подключаться к каждому, их нужно теперь объединить и правильно установить правила маршрутизации).

  1. Домашняя (первая) локалка - 192.168.100.0/24, сервер с внешним постоянным IP 100.100.100.100, wireguard сеть 10.0.100.0/24.
  2. Вторая локалка - 192.168.200.0/24, сервер с внешним постоянным IP 200.200.200.200, wireguard сеть 10.0.200.0/24.

Доступ нужен одновременно к устройствам в обеих локалках, при этом доступ к интернет ресурсам должен идти через вторую локалку. Работать должно без каких-то доп. настроек на стороне клиентов. Клиент должен просто подключиться к серверу wireguard, а остальное от него не зависит.

По wireguard набросал для себя такой план по подключению:

  • Подключаю второй сервер к первому по wireguard. Адрес второго сервера 10.100.0.2/32. Маршрутизация от второго к первому серверу только по 10.100.0.2/32 и 192.168.100.0/24.
  • Прокидываю порт, чтобы подключаться ко второму серверу через первый.

По идее, при такой схеме, если я подключаюсь через проброшенный порт на первом сервере ко второму, весь трафик (в конфигах клиентов будет обязательно 0.0.0.0/0, ipv6 нет) будет идти через второй сервер, но если клиент обратиться к 192.168.100.0/24, то маршрут, который wireguard поднимет с помощью wg-quick на втором сервере направит трафик через первый сервер (через 10.100.0.1/32). Да, тут будет хождение трафика туда-сюда, но это не критично.

То, что я описываю тут, правильно? Это реально сделать через wireguard? Я не специалист по сетям, только начал эту тему разбирать. Возможно, стоит использовать другую схему или другие инструменты? Если да, то какие?

весь трафик (в конфигах клиентов будет обязательно 0.0.0.0/0, ipv6 нет) будет идти через второй сервер

Исключая трафик в локальные сети клиентов. Если у клиента до подклчюение к WG был маршрут к 192.168.200.0/24, то трафик так по нему и продолжит ходить, а не через WG в вашу вторую локалку.

То, что я описываю тут, правильно?

Вы не объяснили, зачем нужно:

подключаться ко второму серверу через первый.

mky ★★★★★
()
Ответ на: комментарий от mky

Чтобы одновременно выполнить указанные в первом посте условия:

  1. Выход в интернет клиентов осуществлялся через второй сервер.
  2. У всех клиентов был доступ к локалкам обеих серверов.
  3. Никакой возни на клинтах с переключениями. Один раз поднять одно соединение и все. Дальше само.

Доступность второго сервера под вопросом (связь с ним может прерываться на неопределенное время). Доступ к локалке первого сервера должна быть обязательна.

DivNirn
() автор топика
Ответ на: комментарий от DivNirn

После собственного описания увидел недостаток в моей схеме.

В таком случае мне нужно подключаться по wireguard к первому серверу, а на нем маршрутизировать трафик: к локалке первого сервера через первый сервер, остальное через второй сервер.

В такой схеме связь между серверами все равно нужна, она есть. Далее стоит вопрос маршрутизации трафика. Прокси поднимать или dnat хватит?

DivNirn
() автор топика