Am încercat să configurez Wireguard pentru un cluster multi-site K3s, problema mea este cu rutarea.
Există cel puțin 4 noduri, 2 într-o locație + 1 în altă locație și + 1 în altă locație.
Ipoteze:
- Rețeaua 10.50.0.0/16 este pentru noduri fizice
- Rețeaua 10.42.0.0/16 este pentru pod-uri
- Rețeaua 10.43.0.0/16 este pentru servicii
- Fiecare nod fizic poate crea un Pod, căruia i-a fost atribuită o adresă IP unică în intervalul 10.42.0.0/16
- Fiecare Pod de pe fiecare nod fizic ar trebui să poată face ping unul altuia
Configurația desfășurată a funcționat doar între ultimele două noduri, celelalte noduri nu pot nici măcar să pună ping unul pe celălalt. Bănuiesc că poate fi ceva cu rutarea, dar nu am suficiente cunoștințe pentru a verifica asta.
Exemple de configurații de la două dintre noduri:
10.50.54.100:
[Interfață]
# primar-1
Adresa = 10.50.54.100/24
PrivateKey = pr11111111111111111111111111111111111111111
ListenPort = 443
MTU = 1500
PostUp = sysctl -w net.ipv4.ip_forward=1
PostUp = echo 1 > /proc/sys/net/ipv4/ip_forward
PostUp = ufw permit 443/udp || Adevărat
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w -q net.ipv4.ip_forward=0
PostDown = echo 0 > /proc/sys/net/ipv4/ip_forward
[Peer]
# infra-1
PublicKey = pub1111111111111111111111111111111111111111
IP-uri permise = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
PersistentKeepalive = 15
Punct final = xxxxxxxxxx:443
[Peer]
# calculează-2
PublicKey = pub222222222222222222222222222222222222222
IP-uri permise = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
PersistentKeepalive = 15
Punct final = yyyyyyyyyy:443
[Peer]
# stocare-1
PublicKey = pub3333333333333333333333333333333333333333
IP-uri permise = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
PersistentKeepalive = 15
Punct final = zzzzzzzzzzz:443
10.50.54.2:
[Interfață]
# infra-1
Adresa = 10.50.54.2/24
PrivateKey = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ListenPort = 443
MTU = 1500
PostUp = sysctl -w net.ipv4.ip_forward=1
PostUp = echo 1 > /proc/sys/net/ipv4/ip_forward
PostUp = ufw permit 51820/udp || Adevărat
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w -q net.ipv4.ip_forward=0
PostDown = echo 0 > /proc/sys/net/ipv4/ip_forward
[Peer]
# primar-1
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IP-uri permise = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
PersistentKeepalive = 15
Punct final = xxxxxxxxxxxx:443
[Peer]
# calculează-2
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IP-uri permise = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
PersistentKeepalive = 15
Punct final = yyyyyyyyyyy:443
[Peer]
# stocare-1
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IP-uri permise = 10.50.54.0/16, 10.42.0.0/16, 10.43.0.0/16
PersistentKeepalive = 15
Punct final = zzzzzzzzzzzz:443
Ai vreo idee? Cum ar trebui proiectat acest lucru cu Wireguard? De ce nu funcționează această configurație?
Mulțumiri!