Sziasztok!
Megpróbálom érthetően leírni a problémámat elnézést, ha nem sikerül. Ubuntu szerverek között szeretném ugyan azt a megoldást kivitelezni, mint amit már Mikrotiken megoldottam, illetve működik.
Mikrotiken a következőt hoztam össze. Adva van egy Mikrotik router, amin van egy WG-Site nevezetű Wireguard szerver. Ezzel együtt létrejött egy WG-Site nevezetű interfész, aminek az address listben adtam egy IP címet és hálózatot 192.168.30.1/24.
Wireguard beállításoknál a WG-Site interfész két peerhez (tunnelhez) van beállítva az egyik túloldali IP-je 192.168.30.2 a másik a 192.168.30.4.
Tehát azt szeretném összehozni, hogy az Ubuntu szerveren is csak egy csatoló legyen, amibe a két peer (tunnel) csatlakozik mindezt netplannal szeretném megvalósítani.
Bridge nem jöhet szóba mert a WG tunnelnél nem lehetséges, úgy tudom.
Gondolom megvalósítható lehet mert a Mikrotiken is linux fut.
Sajnos én nem értek úgy a hálózat beállításhoz, mint ahogyan szeretnék. Minden segítséget köszönök.
Hozzászólások
Let me Google that for You
Első találat: How To Set Up WireGuard on Ubuntu 22.04
Ebben pont a net plan nincs benne, és amikor én próbáltam netplannal, akkor hamar elértem oda, hogy jaaaa, az nincs implementálva.
Valóban nincs benne. De próbálkoztam. A második kapcsolódó szerver kulcsát és egyéb configját egyszerűen betettem az első alá.
https://netplan.readthedocs.io/en/latest/netplan-yaml/#properties-for-d…
Valahogy így:
Ami jó hogy az első peer működik.Az első és második peer látszik a a wg show parancsra csak a link nem áll össze.
Már kifolyik a szemem de nem látom a hibát. Azt mondja nincs allowed ips. Ami nem igaz mert megadtam a configba a túloldal címét/24-el.
> Azt mondja nincs allowed ips.
Ezt ki mondja és mikor?
> Ami nem igaz mert megadtam a configba a túloldal címét/24-el.
A "wg show" parancs kimentét elküldenéd?
> Ezt ki mondja és mikor?
A wg szerver amihez a másik kettő csatlakozna
Szerver jelenlegi élő config:
network:
tunnels:
wg0:
mode: wireguard
port: 35135
key: +A#######################################GY=
addresses:
- 172.16.8.1/24
peers:
- keys:
public: hh#######################################nA=
allowed-ips: [172.16.8.2/24, 192.168.2.1/24]
keepalive: 45
- keys:
public: HV#######################################xY=
allowed-ips: [172.16.8.4/24]
keepalive: 45
routes:
- to: 192.168.2.0/24
via: 172.16.8.
wireguard szerver:
root@xxx01:~# wg show
interface: wg0
public key: 5D#######################################n0=
private key: (hidden)
listening port: 35135
peer: hh#######################################A=
endpoint: xxx.xxx.xxx.xxx:35623
allowed ips: 192.168.2.0/24, 172.16.8.0/24
latest handshake: 1 minute, 21 seconds ago
transfer: 23.57 KiB received, 69.84 KiB sent
persistent keepalive: every 45 seconds
peer: HV#######################################xY=
allowed ips: (none)
persistent keepalive: every 45 seconds
Ami a fenti a szerverhez kapcsolódna (a második peer, ami nem kapcsolódik össze) configja:
network:
tunnels:
wg0:
mode: wireguard
port: 13195
key: EN#######################################m8=
addresses:
- 172.16.8.4/24
peers:
- keys:
public: 5D#######################################n0=
endpoint: 178.xxx.xxx.xxx:35135
allowed-ips: [172.16.8.1/24, 192.168.2.1/24]
routes:
- to: 192.168.2.0/24
via: 172.16.8.1
wireguard kimenet kapcsolódó szerver:
root@vmiXXXX:~# wg show
interface: wg0
public key: HV#######################################xY=
private key: (hidden)
listening port: 13195
peer: 5D#######################################n0=
endpoint: xxx.xxx.xxx.xxx:35135
allowed ips: 192.168.2.0/24, 172.16.8.0/24
Ami a furcsa hogy tcpdumpal nem látom még azt se hogy a másik szerver próbálkozna csatlakozni, gondolom látnom kellene.
az allowed ip mindig a tunnelbe bemeno forgalmat "szuri", de ez nem egy route szabaly. azt neha kulon kell felvenni.
ha a serveren az A peernel az allowedip: 172.16.8.42/32, akkor a kliens csak a 172.16.8.42 ipt allithatja be. (igazabol mast is beallithat, de akkor nemlesz forgalma, mert a server->peer irany szurodik.)
megadhatsz /24 akkor barmilyen ipt felvehet a kliens. de maradt a /32-nel, azzal kvazi fixipre korlatozod a klienst.
A kliensnel ugyanez csak masik irany: azt szurod meg hogy milyen forgalom mehet bele a vpnbe.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
> Ami a furcsa hogy tcpdumpal nem látom még azt se hogy a másik szerver próbálkozna csatlakozni, gondolom látnom kellene.
Átnéztem a config-jaidat, a következő kérdések merültek föl. Az első konfigodban ezek vannak az allowed ips-ben: 172.16.8.2/24, 192.168.2.1/24 és 172.16.8.4/24
Ez így nem értelmes, mert host bitek is be vannak állítva. Ha kiszeded a host biteket akkor ez lesz belőle: 172.168.8.0/24, 192.168.2.0/24 és 172.16.8.0/24. Az első és az utolsó azonos. Nyilvánvalóan, ha két különböző peer-nek azonos allowed ips-t adsz meg, akkor abból probléma lehet. Ha az általad "második peer"-nek nevezett eszköz csak egyetlen egy címet használ /24 helyett, akkor oda inkább /32-őt írj. Ha viszont /24-et, akkor alapvetően hibás az egész, mert nem lehet két különböző peer-nek pontosan ugyan azt a subnet-et beállítani. (Vagyis lehet, csak soha nem fog működni.)
Az nem biztos, hogy ez az oka annak, hogy nem tudnak összekapcsolódni. De ezt javítsd ki.
Másik kérdés: ha nem netplan-ből próbálkozol a "második peer"-ről, hanem simán wg és ip parancsokkal, akkor se kapcsolódik?
allowed ips: (none)
Ez azt jelenti hogy egy már kiosztott end-user tunnel IP-t adott hozzá a wg server egy másik tunnelhez is és duplikált entry keletkezet. A megoldás hogy /24 helyett /32 CIDR tartományban legyen a peer tunnel IP konfigolva a serveren.
Nálad 192.168.30.2/32 és 192.168.30.4/32 kéne. /24 helyett.
Részben segített a tunnel addresses részénél meghagytam a /24-et, viszont a peerek allowed-ip-nél /32-re javítottam amiben a tunel végpontjai érintettek, kivétel az a hálózat amit kompletten elszeretnék érni.
Mindenhol ott van az allowed-ip.
A link sajnos így sem áll össze. Az első peer működik hiba nélkül.
Azt sem értem hogy netplan apply miért nem működik megfelelően.
Egyszerűen nem olvassa újra config állományt, benn marad a régi és csak a szerverek újra indításával tudom betölteni az új configot.
Olyannak tűnik mintha az a szerver aminek a kapcsolatot létre kellene hozni nem is próbálkozik. Megpróbáltam be telnetelni a portra, azok a próbálkozások látszottakat a tcpdumban.
Mert az egy dolog hogy nem áll össze a link, de hogy még az első próbálkozás nyomát sem tudom felfedezni az érdekes.
Nem tudom.
miért ragaszkodsz a netplan-hez? Ha a netplan hivatalosan nem támogatja a wireguard-ot, akkor nem feltétlenül kell megerőszakolni.
De mintha mégis támogatná: https://netplan.readthedocs.io/en/stable/examples/#how-to-connect-two-s…
Szerintem az általad "szerver"- nek nevezett első konfigban:
az általad "második peer ami nem kapcsolódik össze" nevűnél pedig ezzel konzisztens módon:
Igazából nagyon szerencsétlen dolog, ha több peer allowed-ips -jei között bármiféle collision (közös címek) vannak. Ezt el kellene kerülnöd.
Köszönöm! Egyenlőre megnézem azt ha külön config állományt hozok létre más címmel akkor működik-e.
Köszönöm a segítő szándékot mindenkinek.
Netplant lehet nem kéne.
systemctl start wg-quick@wg0
systemctl stop wg-quick@wg0
ennyi szokott lenni a szerver start stop manuálisan.
a /etc/wireguard/wg0.conf fileban szokott lenni PostUp, PostDown config ezekre van jó tutorial
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; wg addconf %i /etc/wireguard/peers.conf
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT
Én is már gondolkodtam rajta, kifogom próbálni. Köszönöm
Kipróbáltam működik, a link összeált. Bár nem értem miért nem működött netplannal.