nmap doet een tcp test, kan ook vrijwel niet anders omdat TCP wel een handshake gebruikt, voordat er data verstuurd kan worden. Echter gebruikt Wireguard geen TCP maar UDP. Dus de Wireguard client stuurt semi willekeurig een pakketje, en de server stuurt semi willekeurig een pakketje ("terug"). Maar er is dus geen ("vaste") verbinding onderhandelt op TCP/IP / UDP/IP, want het is UDP/IP, en die doet niet aan het onderhandelen van een verbinding. Een nmap gaat je dus niet helpen om te achterhalen of de poort "open" staat. En daarnaast, zelfs als je een UDP pakketje stuurt, dan gooit Wireguard alle ongeldige pakketjes weg. Het is dus niet zo dat de server antwoord met een "dit is een ongeldig pakketje". Dit uit veiligheidsoogpunt. Zo kan een "aanvaller" niet zien of jij bv Wireguard draait.
De client connect wel. Ik zie 'm als ik 'PiVPN -c' doe. Maar bytes send en received blijven op 0 staan.
Geen idee wat
PiVPN -c doet, maar als het hetzelfde laat zien als
wg show staat daar ook wanneer er voor het laatst verkeer is uitgewisseld. Dan weet je sowieso of die verbonden is of niet.
En owja, Wireguard "verbind" niet met de server. Als er verkeer over ee tunnel gestuurd moet worden, dan stuurt die verkeer, klaar. Er is geen "zij deze credentials geldig? En ik wil nu verbinden", om pas daarna daadwerkelijk iets te sturen. Op het moment dat (het apparaat) verkeer over de tunnel wilt sturen doet Wireguard dat verkeer versleutelen en versturen naar de server. Hopelijk komt er dan verkeer terug, en als dat niet zo is "klopt iets niet". En het aantal opties bij "klopt iets niet" is (on)eindig. Het kan simpelweg zijn dat het server adres niet klopt, maar ook dat het keypair niet klopt, of de preshared key, of door esn andere reden er uberhaupt geen communicatie met de server mogelijk is (bv ontbrekende port forward of wat dan ook).
Dat betekent dat de firewall rule in OPNsense goed is, toch?
Ik denk het niet perse, tenzij je bevestiging ziet dat er daadwerkelijk het laatst op dat moment verkeer is uitgewisseld.
Een aantal tips:
Gezien je PiVPN op een zelfstandig apparaat hebt draaien, kun je dan wel verbinding maken als je verbonden bent met het thuisnetwerk? En als endpoint dan dus het interne IP adres gebruiken.
Als bovenstaande werkt, test dan vanaf een telefoon via 4G (of PC / laptop die met hotspot van telefoon verbind die over 4G gaat). Uiteraard wel met aangepast endpoint naar het externe IP adres. Werkt het dan wel, maar niet als je met wifi verbonden bent kan het ook zijn dat hairpin NAT in OPNSense niet goed gaat.
Mijn favoriet, zo debug ik 90% van mijn netwerk problemen: ben niet bang om
tcpdump te gebruiken. Dan zie je ook (enigszins) hoe ver verkeer komt etc. Daarbij wel niet vergeten dat in ieder geval onder Linux tcpdump inhaakt op de netwerkkaart(en) en "daardoor" "voor" de firewall (nftables / iptables) zit. Het kan dus alsnog zijn dat je verkeer in tcpdump ziet dat door de firewall gedropt wordt. Dan denk je dat het aankomt, maar eigenlijk dus toch niet.