Я попытался настроить 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? Почему эта конфигурация не работает?
Спасибо!