VPN kliensek hálózati elérés

Kedves tagok!

Nekem a problémám az lenne, hogy egy adott portot szeretnék elérni (ssh egyedi portja) elérni wireguard segítségével.

Viszont amikor csatlakozik pl a mobilom vpn-el a szerverhez, semmilyen hálózati forgalom nincs a telefonon.

Azt szeretném elérni, hogy minden forgalom megfelelően működjön, akkor is ha csatlakozik a telefon a vpn-hez.

 

Kliens config:

[Interface]
Address = 10.0.0.2/8,fd00:00:00::2/8
DNS = 1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001
ListenPort = 62781
MTU = 1280
PrivateKey = [ ]
[Peer]
AllowedIPs = 0.0.0.0/0,::/0
Endpoint = 1.2.3.4:51820    //szerver ip cím:port
PersistentKeepalive = 25
PresharedKey = [ ]
PublicKey = tmTzelzutQOFFl7l6xO2hQk2zIJajlVC7qzqL8JhPSg=

Szerver konfig

[Interface]
Address = 10.0.0.2/8,fd00:00:00::2/8
DNS = 1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001
ListenPort = 62781
MTU = 1280
PrivateKey = [ ]
[Peer]
AllowedIPs = 0.0.0.0/0,::/0
Endpoint = 1.2.3.4:51820    //szerver ip cím:port
PersistentKeepalive = 25
PresharedKey = [ ]
PublicKey = tmTzelzutQOFFl7l6xO2hQk2zIJajlVC7qzqL8JhPSg=

Az 51820 számú port engedélyezve van.

/etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

/etc/ufw/sysctl.conf

net/ipv4/ip_forward=1
net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1

Mit nem csinálok jól? :)

Nézegettem a neten erre fórumtémákat, de én nem találtam meg sajnos a megoldást.

Hozzászólások

AllowedIPs = 0.0.0.0/0,::/0

Ezzel az összes hálózati forgalmadat a VPN-be teszed. ("defaultroute")
Ha jól értem, te csak a távoli hálózatot szeretnéd elérni VPN-en keresztül, nem az egész világot.

Ez a konfig alapból majdnem minden részében rossz. Nem tudom hogyan jött ez össze... Eléggé feltűnő, hogy már a hivatkozott portok sem találnak egymásra, meg gyanúsnak kellene lennie, hogy az AllowedIP rovatok a teljes IPv4 tartományt lefedik mindkét oldalon...

A két oldal listen portja nem passzol a másik oldal peer-ben hivatkozott portjához. Az jó, hogy az 51820 engedélyezve van, de mind a két eszköz a 62781 porton vár a kapcsolatra...
Mind a két oldal 0.0.0.0/0-t tekint tunnel network-nek, ami mindent jelent, ami miatt a szerver minden IP-ről fogad forgalmat, a kliens meg mindent a tunnel-be küldene (ha az fel tudna épülni).

A ListenPort legyen egyedi (az adott eszközön belül, de két különböző eszközön lehet ugyan az a ListenPort), és a Peer rovatban a megcélzott eszköz ListenPort értéke legyen feltűntetve.
Az AllowedIPs rovat a szerveren tartalmazzon egy "tunnel IP subnet"-et (ez lesz a tunnel végpontok privát címe), és tartalmazza az adott kapcsolaton elérhető hálózatokat (amennyiben az adott peer mögött hálózat is van, nem csak önmagában csatlakozna).

Szóval a szerver oldalon legyen ilyesmi benne (persze legyen PrivateKey, PublicKey, PersistentKeepAlive meg a többi szükséges opció):

[Interface]
Address = 172.20.255.1/24
ListenPort = 51820
[Peer] # ez itt egy road warrior klienst takar
AllowedIPs = 172.20.255.2/32 # (itt a 172.20.255.2 a kliens tunnel címe)
[Peer] # ez pedig egy site to site kapcsolatot
AllowedIPs = 172.20.255.3/32,192.168.0.0/24 # (itt a 192.168.0.0/24 a kliens oldali helyi hálózat, amit el szeretnénk érni, a 172.20.255.3 pedig a kliens tunnel címe)
Endpoint = KLIENS_PUBLIKUS_IP_vagy_FQDN # (ez nem kötelező szerver oldalon, de ha nincs, akkor a szerver nem tud kapcsolódást vagy keepalive-ot kezdeményezni a kliens felé)

A kliens oldalon pedig:

[Interface]
Address = 172.31.255.X/24 (a szerver peer IP címek közül a megfelelő)
ListenPort = 51820
[Peer] # ez itt a szervert jelenti
Endpoint=SZERVER_PUBLIKUS_IP_vagy_FQDN #(klines oldalon muszáj megmondani, hol van a szerver)
AllowedIPs = 172.31.255.0/32,10.0.0.0/24 # (a 10.0.0.0/24 a szerver oldali hálózat, amit a kliensről el szeretnénk érni)

És most, hogy valamerre elindítottalak (remélem) azt muszáj leírnom, hogy érdemes elolvasni és megérteni a leírást, nem csak értelmezés nélkül lemásolgatni össze-vissza hülyeségeket a netről (fórumtémákból...), és csodálkozni, hogy nem működik. Mindig elképedek, mikor egy elvileg szakmai fórumban ilyen banális hibák után nem érti a kérdező, hogy miért nem működik.