Соединение 2 сайтов (сетей )с помощью Wireguard

Этот показатель позволяет оценить максимальный объем памяти приложения, который вы можете использовать без свопинга. С этого сайта

An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone.

The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.

О том, почему, возможно, будет лучше спросить разработчиков ядра/компанию RedHat

Обычно RH делает много бэкпортов, оставаясь со старой версией ядра.

0
14.03.2021, 11:31
2 ответа

Было бы проще, если бы вы могли иметь две сети в двух разных адресных пространствах подсети (, например :192.168.0.0/24 и 192.168.1.0/24 ). Таким образом, вы можете создавать маршруты в сетях, чтобы использовать шлюз wireguard в качестве шлюза по умолчанию для другой сети. Когда обе сети находятся в одной подсети, маршрутизацию настроить сложнее. Вам понадобится сетевая маска длиннее 24 бит.

Я сделал именно то, чего вы хотите добиться, но у меня есть подсети в разных адресных пространствах. Поэтому моя маршрутизация была немного проще. Однако это не означает, что этого нельзя делать. Для работы маршрутизации могут потребоваться некоторые изменения IP. Посмотрите здесь :Соединение Wireguard между локальными сетями с блоками wireguard за маршрутизаторами

Если есть дополнительные вопросы, задавайте.

0
18.03.2021, 22:25

Both the sites have the same local network (192.168.1.0/24).

Это проблема --, если у вас есть 192.168.1.2 (скажем, устройство A1 )на сайте A, которое хочет подключиться к 192.168.1.3 (скажем, устройство B1 )на сайте B, 192.168. 1.2 будет думать, что 192.168.1.3 находится в своей собственной локальной сети и может подключиться к ней напрямую (, тогда как на самом деле ему необходимо маршрутизировать через серверы WireGuard ). Вам нужно изменить порядок подсетей, чтобы они не конфликтовали --, например, используйте 192.168.1.0/25 для сайта A и 192.168.1.128/25 для сайта B.

When both the WireGuard servers are up and running, can I connect each server to the other WireGuard server as a WireGuard client so I can connect both the sites?

Да --технически WireGuard не имеет отдельных ролей «сервер» или «клиент» --обе стороны одинаково способны отправлять/получать/маршрутизировать трафик от другой стороны.

When both the sites are connected with WireGuard, can I access Site A devices from Site B or vice versa?

Да --при условии, что вы устраните проблему маршрутизации обоих сайтов, использующих одну и ту же локальную сеть 192.168.1.0/24. Как только вы это сделаете, вам просто нужно:

  1. настроить маршрутизатор на каждом сайте для маршрутизации пакетов для другого сайта через собственный сервер WireGuard сайта; и
  2. настроить сервер WireGuard каждого сайта для маршрутизации пакетов для другого сайта через сервер WireGuard другого сайта.

Например, предположим, что вы используете 192.168.1.0/25 для сайта A и 192.168.1.128/25 для сайта B; и назначьте 192.168.1.2 Устройству A1 и 192.168.1.130 Устройству B1; и назначьте 192.168.1.10 для WireGuard Server 1 и 192.168.1.140 для WireGuard Server 2. Для сайта A вы должны:

  1. настроить маршрутизатор R -A для маршрутизации 192.168.1.128/25 (LAN сайта B )через 192.168.1.10 (WireGuard Server 1)
  2. настроить WireGuard Server 1 для маршрутизации 192.168.1.128/25 (LAN сайта B )через его интерфейс WireGuard на WireGuard Server 2 --WireGuard сделает это автоматически, если установлено AllowedIPs = 192.168.1.128/25в [Peer]для WireGuard Server 2 в конфигурации WireGuard на WireGuard Server 1

И, соответственно,для сайта B вы бы:

  1. настроить маршрутизатор R -B для маршрутизации 192.168.1.0/25 (локальной сети сайта A )через 192.168.1.140 (WireGuard Server 2)
  2. настроить WireGuard Server 2 для маршрутизации 192.168.1.0/25 (Site A LAN )через интерфейс WireGuard к WireGuard Server 1 --WireGuard сделает это автоматически, если установлено AllowedIPs = 192.168.1.0/25в [Peer]для WireGuard Server 1 в конфигурации WireGuard на WireGuard Server 2

Таким образом, когда устройство A1 (192.168.1.2 )пытается подключиться к устройству B1 (192.168.1.130 ), оно отправляет эти пакеты на маршрутизатор R -A, который пересылает их на сервер WireGuard 1, который перенаправляет их через туннель WireGuard на сервер WireGuard 2, который перенаправляет их на устройство B1. Когда устройство B1 отправляет пакеты обратно на устройство A1, оно отправляет эти пакеты на маршрутизатор R -B, который перенаправляет их на сервер WireGuard 2, который перенаправляет их через туннель WireGuard на сервер WireGuard 1, который перенаправляет их на устройство A1.

В этом руководстве по настройке сайтов с -по -рассматривается полный пример этого сценария.

If I can connect to any of the WireGuard servers from an external WireGuard client, can I access the devices on both sites?

Да (снова при условии, что вы устраните проблему маршрутизации обоих сайтов, использующих одну и ту же локальную сеть 192.168.1.0/24 ). Я бы предложил использовать отдельный интерфейс WireGuard на ваших серверах WireGuard для внешних клиентов, чтобы упростить применение различных правил маршрутизации и брандмауэра для этих клиентов. Вы можете использовать wg0для подключения сайта -к -и wg1для подключения внешнего клиента )к сайту -— -(.

Для маршрутизации пакетов от внешних клиентов внутри каждого сайта вы можете использовать серверы WireGuard SNAT (, также известные как маскирование )пакетов,чтобы исходный адрес каждого пакета переписывался на LAN-адрес сервера WireGuard, к которому подключен внешний клиент; или просто настройте маршрутизатор каждого сайта с маршрутами для самих внешних сетей WireGuard.

В этом пункте -–-руководстве по настройке сайта приводится пример сценария, в котором используется SNAT/маскарад; но для вашего сценария, вероятно, было бы проще просто добавить маршруты к вашим маршрутизаторам для внешних сетей WireGuard, например:

  1. настроить маршрутизатор на каждом сайте для маршрутизации пакетов для обеих внешних сетей WireGuard через собственный сервер WireGuard сайта; и
  2. настроить сервер WireGuard сайта для маршрутизации пакетов для внешней сети WireGuard другого сайта через его соединение WireGuard с другим сайтом; и
  3. настроить каждый внешний клиент WireGuard для маршрутизации пакетов для обоих сайтов через сервер WireGuard, к которому он подключен

Например, предположим, что вы настроили соединение между сайтами -и -, как описано выше, соединив сайт A (192.168.1.0/25 )с сайтом B (192.168.1.128. /25 )через WireGuard Server 1 и WireGuard Server 2. Теперь вы собираетесь использовать подсеть 10.0.1.0/24 для сети WireGuard внешних клиентов, которые подключаются к WireGuard Server 1, и подсеть 10.0.2.0/24. для сети WireGuard внешних клиентов, которые подключаются к WireGuard Server 2. (Эти подсети совершенно произвольны --вы можете выбрать все, что хотите, если они не конфликтуют ни с одной из ваших других внутренних сетей.)

Для Зоны А вы бы:

  1. настроить маршрутизатор R -A для маршрутизации 10.0.1.0/24 и 10.0.2.0/24 через 192.168.1.10 (WireGuard Server 1)
  2. настроить WireGuard Server 1 для маршрутизации 10.0.2.0/24 через его интерфейс WireGuard к WireGuard Server 2 --сделать это, установив AllowedIPs = 192.168.1.128/25, 10.0.2.0/24в разделе [Peer]для WireGuard Server 2 в конфигурации WireGuard на WireGuard Server 1
  3. настроить каждого внешнего клиента WireGuard Server 1 для маршрутизации 192.168.1.0/25 и 192.168.1.128/25 через его интерфейс WireGuard к WireGuard Server 1 --сделать это, установив AllowedIPs = 192.168.1.0/25, 192.168.1.128/25в разделе [Peer]для WireGuard Сервер 1 в конфигурации WireGuard внешнего клиента (или в этом случае, поскольку вместе обе подсети составляют 192.168.1.0/24, вы можете просто установитьAllowedIPs = 192.168.1.0/24).

И, соответственно, для Зоны B вы должны:

  1. настроить маршрутизатор R -B для маршрутизации 10.0.1.0/24 и 10.0.2.0/24 через 192.168.1.140 (WireGuard Server 2)
  2. настроить WireGuard Server 2 для маршрутизации 10.0.1.0/24 через его интерфейс WireGuard к WireGuard Server 1 --сделать это, установив AllowedIPs = 192.168.1.0/25, 10.0.1.0/24в разделе [Peer]для WireGuard Server 1 в конфигурации WireGuard на WireGuard Server 2
  3. настроить каждого внешнего клиента WireGuard Server 2 для маршрутизации 192.168.1.0/25 и 192.168.1.128/25 через его интерфейс WireGuard к WireGuard Server 2 --сделать это, установив AllowedIPs = 192.168.1.0/25, 192.168.1.128/25в разделе [Peer]для WireGuard Сервер 2 в конфигурации WireGuard внешнего клиента (или в этом случае, поскольку вместе обе подсети составляют 192.168.1.0/24, вы можете просто установитьAllowedIPs = 192.168.1.0/24).

Для каждого внешнего клиента WireGuard Server 1 вы должны выбрать IP-адрес из подсети 10.0.1.0/24 для внешнего клиента. Например, предположим, что вы выбрали 10.0.1.100 для внешнего клиента WC.Вы должны установить Address = 10.0.1.100/32в разделе [Interface]конфигурации WireGuard для интерфейса этого клиента, который подключается к WireGuard Server 1. И вы должны установить AllowedIPs = 10.0.1.100/32в разделе [Peer]для клиента в WireGuard. config на сервере WireGuard 1.

При этом, когда внешний клиент WC (10.0.1.100 )пытается подключиться к устройству B1 (192.168.1.130 ), он отправляет эти пакеты через внешний туннель WireGuard на сервер WireGuard 1., который перенаправляет их через сайт -на сайт -Туннель WireGuard на сервер WireGuard 2, который перенаправляет их на устройство B1. Когда устройство B1 отправляет пакеты обратно внешнему клиенту WC, оно отправляет эти пакеты на маршрутизатор R -B, который перенаправляет их на сервер WireGuard 2, который перенаправляет их через сайт -на сайт -Туннель WireGuard на сервер WireGuard. 1, который перенаправляет их через внешний туннель WireGuard на внешний клиентский WC.

1
18.03.2021, 22:25

Теги

Похожие вопросы