Рейтинг:0

Как настроить Wireguard для мультисайта K8s?

флаг mx

Я попытался настроить Wireguard для многоузлового кластера K3s, моя проблема связана с маршрутизацией. Есть как минимум 4 узла, 2 в одном месте + 1 в другом месте и + 1 в другом месте.

Предположения:

  • Сеть 10.50.0.0/16 предназначена для физических узлов.
  • Сеть 10.42.0.0/16 предназначена для модулей.
  • сеть 10.43.0.0/16 для сервисов
  • Каждый физический узел может создать под, которому назначен уникальный IP-адрес в диапазоне 10.42.0.0/16.
  • Каждый модуль на каждом физическом узле должен иметь возможность пинговать друг друга.

Развернутая конфигурация работала только между двумя последними узлами, остальные узлы не могли даже пинговать друг друга. Я предполагаю, что это может быть что-то с маршрутизацией, но у меня недостаточно знаний, чтобы проверить это.

Примеры конфигураций из двух узлов:

10.50.54.100:

[Интерфейс]
# первичный-1
Адрес = 10.50.54.100/24
PrivateKey = pr111111111111111111111111111111111111111111
Порт прослушивания = 443
МТУ = 1500
PostUp = sysctl -w net.ipv4.ip_forward=1
PostUp = эхо 1 > /proc/sys/net/ipv4/ip_forward
PostUp = ufw разрешить 443/udp || истинный
PostUp = iptables -A FORWARD -i %i -j ПРИНЯТЬ; iptables -A FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ПРИНЯТЬ; iptables -D FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w -q net.ipv4.ip_forward=0
PostDown = эхо 0 > /proc/sys/net/ipv4/ip_forward

[Вглядеться]
# инфра-1
PublicKey = pub11111111111111111111111111111111111111111
Разрешенные IP-адреса = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
ПостоянныйKeepalive = 15
Конечная точка = ххххххххх:443

[Вглядеться]
# вычислить-2
Публичный ключ = pub222222222222222222222222222222222222222
Разрешенные IP-адреса = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
ПостоянныйKeepalive = 15
Конечная точка = гггггггггггг:443

[Вглядеться]
# хранилище-1
Публичный ключ = pub3333333333333333333333333333333333333333
Разрешенные IP-адреса = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
ПостоянныйKeepalive = 15
Конечная точка = zzzzzzzzzzzz:443

10.50.54.2:

[Интерфейс]
# инфра-1
Адрес = 10.50.54.2/24
PrivateKey = ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа
Порт прослушивания = 443
МТУ = 1500
PostUp = sysctl -w net.ipv4.ip_forward=1
PostUp = эхо 1 > /proc/sys/net/ipv4/ip_forward
PostUp = ufw allow 51820/udp || истинный
PostUp = iptables -A FORWARD -i %i -j ПРИНЯТЬ; iptables -A FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ПРИНЯТЬ; iptables -D FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w -q net.ipv4.ip_forward=0
PostDown = эхо 0 > /proc/sys/net/ipv4/ip_forward

[Вглядеться]
# первичный-1
Публичный ключ = хххххххххххххххххххххххххххххххххххх.
Разрешенные IP-адреса = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
ПостоянныйKeepalive = 15
Конечная точка = ххххххххххх:443

[Вглядеться]
# вычислить-2
Публичный ключ = хххххххххххххххххххххххххххххххххххх.
Разрешенные IP-адреса = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
ПостоянныйKeepalive = 15
Конечная точка = гггггггггггггг:443

[Вглядеться]
# хранилище-1
Публичный ключ = хххххххххххххххххххххххххххххххххххх.
Разрешенные IP-адреса = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
ПостоянныйKeepalive = 15
Конечная точка = zzzzzzzzzzzz:443

У вас есть какие-нибудь подсказки? Как это должно быть спроектировано с помощью Wireguard? Почему эта конфигурация не работает?

Спасибо!

Krzysztofa Krzysztof avatar
флаг mx
Пробовал также https://www.inovex.de/de/blog/how-to-set-up-a-k3s-cluster-on-wireguard/ безуспешно.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.