Anmäl dig till Roborock Challenge!

Lösning på VPN eller liknande där enheter får egna IP på LAN?

Permalänk
Medlem

Lösning på VPN eller liknande där enheter får egna IP på LAN?

Jag kör två AdGuard Home servrar för DNS och för att styra vad barnen får och inte får komma åt samt Wireguard som en LXC i Proxmox för att komma åt nätverket på distans.

Jag har i telefonerna lagt in Wireguard's app för att automatiskt ansluta till Wireguard VPN när mobilerna lämnar mitt hemma-wifi för att även här kunna styra vad barnen kan surfa till och inte.

Problemet jag har är att AdGuard Home ser bara det IP som Wireguard har, oavsett vilken enhet som ansluter genom Wireguard på distans.
Inget konstigt med det, jag vet att det är "by design" med lager 3-vpn osv. Och jag har inte lyckats hitta en lösning runt det problemet med just Wireguard, åtminstone inte när Wireguard körs som LXC i Proxmox(?)

Så för att undvika XY-problem så tänker jag att ni kan fokusera på vad jag vill åstadkomma och mindre på hur jag har det uppsatt i nuläget.

Jag vill alltså att mobiler ska ansluta automatiskt till mitt LAN (VPN eller annan lösning) när de lämnar mitt WiFi (då de ansluter till mobildata/annat wifi) och då använda sig utav mina adguard home DNS-servrar så att jag kan styra vad de får och inte får komma åt (för det krävs alltså att adguard ser olika IP för varje enhet som ansluter in). OBS! Jag vill inte lägga mina AdGuard Home servrar publikt ut på WAN/Stora hemska internet.

Alla tips, förslag, idéer och lösningar tar jag tacksamt emot då jag kört fast!
Men kan väl tillägga att just OpenVPN i bryggat läge (som jag fått tips om i en annan tråd) inte står så högt på listan över eventuella lösningar då jag upplever att OpenVPN är långsamt så in i .. att surfa genom. Och just därför jag gick över till Wireguard istället då det känns mer som att surfa utan VPN. Så om man kan ha hastighet/användbarhet i åtanke på eventuella lösningar/förslag/tips så vore det guld!

Permalänk
Medlem

Låter som ett routing problem.
Har du lagt till alla IP adresser du vill nå i allowed IP?
Har du konfiguerat routern?

Permalänk
Medlem

Vet inte hur du satt upp Adguard, men en lösning med headscale/tailscale (som i grunden kör wireguard). Då kan varje enhet få en egen IP och adguard-servern kan även den vara en klient i headscale/tailscale nätet.

Headscale är en opensource-lösning på tailscale som man kan hosta själv, men du kan ju alltid köra igång med tailscale gratisversion för att se att det fungerar om du vill komma igång snabbt.

Permalänk
Medlem
Skrivet av Sions:

Låter som ett routing problem.
Har du lagt till alla IP adresser du vill nå i allowed IP?
Har du konfiguerat routern?

Ja på båda frågorna.
Jag tror dock du missförstår problematiken. Problemet är inte att nå adguard. Problemet är att alla enheter som ansluter genom wireguard har wireguards IP mot LAN (det IP som adguard då alltså ser bara). Dvs trafiken sker inte GENOM wireguard utan FRÅN wireguard kan man säga.

Skrivet av slaski:

Vet inte hur du satt upp Adguard, men en lösning med headscale/tailscale (som i grunden kör wireguard). Då kan varje enhet få en egen IP och adguard-servern kan även den vara en klient i headscale/tailscale nätet.

Headscale är en opensource-lösning på tailscale som man kan hosta själv, men du kan ju alltid köra igång med tailscale gratisversion för att se att det fungerar om du vill komma igång snabbt.

Nej tailscale ger inte enheterna egna IP på LAN. Åtminstone inte när jag testade tailscale som ett alternativ för någon månad sedan. Och det är ju som du säger samma i botten (wireguard).

Och lägga adguard under tailscale också är tyvärr inte ett alternativ för då har inte någon av enheterna på LAN tillgång till adguard (med egna IP) istället.

Permalänk
Medlem
Skrivet av naaw:

Nej tailscale ger inte enheterna egna IP på LAN. Åtminstone inte när jag testade tailscale som ett alternativ för någon månad sedan. Och det är ju som du säger samma i botten (wireguard).

Och lägga adguard under tailscale också är tyvärr inte ett alternativ för då har inte någon av enheterna på LAN tillgång till adguard (med egna IP) istället.

Det beror helt och hållet på din uppsättning. Men låter som att du inte gjort allt som behövs.

Sätter du upp wireguard eller tailscale på samma maskin som kör adguard så blir det ett extra nätverkskort och den finns då på båda näten.

Alternativt kan du sätta upp routes som gör att både wireguard och dina andra LAN-enheter hittar rätt. Du kan på så sätt fortsätta använda wireguard som du har nu, men stänga av att trafiken NATas och istället lägga upp routes i din router som gör att både VPN-klienter och enheter på ditt LAN hittar rätt.

Permalänk
Medlem
Skrivet av slaski:

Det beror helt och hållet på din uppsättning. Men låter som att du inte gjort allt som behövs.

Sätter du upp wireguard eller tailscale på samma maskin som kör adguard så blir det ett extra nätverkskort och den finns då på båda näten.

Alternativt kan du sätta upp routes som gör att både wireguard och dina andra LAN-enheter hittar rätt. Du kan på så sätt fortsätta använda wireguard som du har nu, men stänga av att trafiken NATas och istället lägga upp routes i din router som gör att både VPN-klienter och enheter på ditt LAN hittar rätt.

Adguard körs på två raspberry pi och wireguard på en intel nuc som kör proxmox. Så köra på samma server kommer jag inte trixa med.

Det jag testat är detta:
https://mattei.io/vpn/2022/01/08/how-to-use-wireguard-without... (dock ej på docker…)
https://drfrankenstein.co.uk/2023/03/18/tailscale-remote-acce...

Samt en uppsjö andra småsaker tagna lite här och där från diverse Google-sökningar.

Men som sagt, jag är öppen för andra lösningar också om det fungerar och inte är lika trögt att använda som openvpn.

Permalänk
Medlem
Skrivet av naaw:

Problemet jag har är att AdGuard Home ser bara det IP som Wireguard har, oavsett vilken enhet som ansluter genom Wireguard på distans.
Inget konstigt med det, jag vet att det är "by design" med lager 3-vpn osv. Och jag har inte lyckats hitta en lösning runt det problemet med just Wireguard, åtminstone inte när Wireguard körs som LXC i Proxmox(?)

Du kan inte skylla ditt misslyckande på Wireguard eller lager 3-VPN i allmänhet. Hela poängen är att IP-adressen (lager 3) som din peer har tar sig igenom tunneln och kommer ut som source-adress i IP-headern på andra sidan. Däremot används aldrig någon MAC-adress (lager 2) så den kommer inte synas. (Man kan naturligtvis routa andra enheter med deras source-IP intakta genom en Wireguard-tunnel, men det är ju inte aktuellt i det här fallet).

Ett exempel:
Min jobbdator (Windows-laptop) kopplar jag upp via mobilen till Telenor. Sedan drar jag igång Wireguard som har konfigurerats till att anta IP 10.0.1.100.

Jag går in i WSL2 (Windows Subsystem for Linux, IP 172.18.174.35) och kör "iperf3 -c 192.168.1.164" mot en Linux-burk på mitt hemmanätverk. Windows-magin för WSL2 skickar trafiken till Wireguard-interfacet som trycker in den i tunneln och över det publika internet till min publika hemma-IP (port 51820/UDP). I hemmaroutern triggar brandväggsregeln för att tillåta Wireguard från mobiloperatörens IP-range, skickar trafiken till Wireguard som dekrypterar den och stoppar in den i mitt wg0-interface i brandvägsszonen "Wireguard". Brandväggen ser att destinationen är port 5120/UDP (default iperf3) på 192.168.1.164 (interface br-lan i brandväggszonen "lan") och hittar en regel som släpper igenom trafiken. Trafiken routas till br-lan och eth1 där datorn är uppkopplad med sladd. I iperf3-servern får jag meddelandet "Accepted connection from 10.0.1.100, port 53430".

Det verkar inte allt för komplicerat att lista ut vad ditt problem består av. Löser du det inte så får du väl helt enkelt följa de regler du själv sätter upp för dina barn, jag tycker det verkar rättvist.

Permalänk
Medlem
Skrivet av KAD:

Löser du det inte så får du väl helt enkelt följa de regler du själv sätter upp för dina barn, jag tycker det verkar rättvist.

Är det ett skämt? Du kan väl inte på fullaste allvar tycks att det är rimligt att ett ungt barn har full tillgång till allt på internet, helt ofiltrerat? Om inte så ska vi två nog inte fortsätta kommunicera med varandra.

Men med tonen i ditt inlägg generellt är det ganska tydligt att du bara vill visa dig överlägsen och trycka ner mig pga brist på kunskap. Kanske till och med jaga lite bråk. Vad vet jag.

Permalänk
Hedersmedlem

Det är inte alls ”"by design" med lager 3-vpn”. Du, eller det ev färdiga paketet du använder har satt upp det så att VPN-trafiken går genom en NAT, det är inte det normala. Hitta någon annan wireguard-setup-guide att följa som slutar i att trafiken routas istället.

Varför kör du förresten adguard på två olika pi? Har ingen betydelse för lösningen, undrar bara varför man vill binda upp två hårdvaror på det viset när man dessutom har en VME ?

Visa signatur

I am a prototype for a much larger s󠅄󠅘󠅕󠄐󠅞󠅕󠅕󠅔󠄐󠅤󠅟󠄐󠅒󠅕󠄐󠅟󠅒󠅣󠅕󠅢󠅦󠅕󠅔󠄐󠅑󠅞󠅔󠄐󠅥󠅞󠅔󠅕󠅢󠅣󠅤󠅟󠅟󠅔󠄐󠅧󠅑󠅣󠄐󠅟󠅞󠅓󠅕󠄐󠅣󠅑󠅤󠅙󠅣󠅖󠅙󠅕󠅔󠄐󠅒󠅩󠄐󠄷󠅟󠅔󠄞󠄐󠄾󠅟󠅧󠄐󠅧󠅕󠄐󠅓󠅑󠅞󠄐󠅙󠅝󠅠󠅜󠅕󠅝󠅕󠅞󠅤󠄐󠅤󠅘󠅕󠄐󠅣󠅑󠅝󠅕󠄐󠅖󠅥󠅞󠅓󠅤󠅙󠅟󠅞󠅑󠅜󠅙󠅤󠅩󠄐󠅧󠅙󠅤󠅘󠄐󠅔󠅑󠅤󠅑󠄝󠅝󠅙󠅞󠅙󠅞󠅗󠄐󠅑󠅜󠅗󠅟󠅢󠅙󠅤󠅘󠅝󠅣󠄞ystem

Permalänk
Medlem
Skrivet av Aphex:

Varför kör du förresten adguard på två olika pi? Har ingen betydelse för lösningen, undrar bara varför man vill binda upp två hårdvaror på det viset när man dessutom har en VME ?

För att om en hårdvara ger upp eller en adguard installation slutar fungera så har jag fortfarande en DNS igång. Och proxmox (intel nuc) skaffade jag efter att adguard var uppsatt.

Permalänk
Medlem
Skrivet av naaw:

Adguard körs på två raspberry pi och wireguard på en intel nuc som kör proxmox. Så köra på samma server kommer jag inte trixa med.

Satte upp en POC bara för att testa det och fick det att fungera. Så troligen är det något steg du missat, kanske en NAT-regel, blandat lite för mycket från olika guider eller något annan brandvägg i ditt nätverk som vi inte känner till här i tråden.

Vill poängtera att detta är ett sätt att göra det på, men finns såklart många fler. Jag kanske inte har något uppsatt som du vill ha eller missat config i Adguard , men utifrån informationen i tråden så fungerar det och Adguard är annars standard.

Detta är uppsatt med hjälp av docker (compose) på en maskin (VM eller LXC spelar ingen roll) eller om du vill köra på en RPi med lokalt installerade program. Enklast för mig var via docker.

Nätverken är påhittade och du skulle kunna ändra efter eget behov.
Dockernätet: 10.10.110.0/24 (kan ses som ditt LAN)
Wireguardnätet: 10.10.115.0/24

Adguard har 10.10.110.53
Wireguard har 10.10.110.2 och 10.10.115.1

Här är compose-filen som jag använt.
docker-compose.yml

Steg 1:
Configurera Wireguard-servern att inte NATa trafik till 10.10.115.53. Det för att rätt IP ska synas i Adguard. Görs genom att ändra PostUp/PostDown i wg0.conf:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE

När det är ändrat, starta om wireguard:

docker-compose restart wireguard

Steg 2:
Säg till Adguard-servern vart 10.10.115.0/24 finns, så att svaren kommer tillbaka till klienten:

docker-compose exec --privileged -it adguard ip route add 10.10.115.0/24 via 10.10.110.2

Beroende på om du vill att all deras trafik ska gå genom din VPN eller bara DNS-uppslag så får du ändra AllowedIPs i peerX.conf från 0.0.0.0/0 till 10.10.110.53/32.

Orkade inte fixa att routen är permanent i steg 2, men det är ett krav för att den ska klara av en omstart. Principen är ändå den samma.

Ansluter man från LAN (i POCen Dockernätet), så kommer man då att se det IPt. Vilket gör att alla klienter får 2 adresser, om dom är hemma eller om dom är utanför. För att komma runt det måste du köra en L2-VPN istället och trixa med din DHCP-server.

Hur du löser att dom automatiskt ansluter via VPN när dom inte är hemma, vet jag inte.

Så det viktiga är att se till att trafiken inte NATas och att Adguard hittar tillbaka till klienten.

Rensade yml-filen från onödigt
Permalänk
Medlem
Skrivet av slaski:

Satte upp en POC bara för att testa det och fick det att fungera. Så troligen är det något steg du missat, kanske en NAT-regel, blandat lite för mycket från olika guider eller något annan brandvägg i ditt nätverk som vi inte känner till här i tråden.

Vill poängtera att detta är ett sätt att göra det på, men finns såklart många fler. Jag kanske inte har något uppsatt som du vill ha eller missat config i Adguard , men utifrån informationen i tråden så fungerar det och Adguard är annars standard.

Detta är uppsatt med hjälp av docker (compose) på en maskin (VM eller LXC spelar ingen roll) eller om du vill köra på en RPi med lokalt installerade program. Enklast för mig var via docker.

Nätverken är påhittade och du skulle kunna ändra efter eget behov.
Dockernätet: 10.10.110.0/24 (kan ses som ditt LAN)
Wireguardnätet: 10.10.115.0/24

Adguard har 10.10.110.53
Wireguard har 10.10.110.2 och 10.10.115.1

Här är compose-filen som jag använt.
docker-compose.yml

Steg 1:
Configurera Wireguard-servern att inte NATa trafik till 10.10.115.53. Det för att rätt IP ska synas i Adguard. Görs genom att ändra PostUp/PostDown i wg0.conf:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE

När det är ändrat, starta om wireguard:

docker-compose restart wireguard

Steg 2:
Säg till Adguard-servern vart 10.10.115.0/24 finns, så att svaren kommer tillbaka till klienten:

docker-compose exec --privileged -it adguard ip route add 10.10.115.0/24 via 10.10.110.2

Beroende på om du vill att all deras trafik ska gå genom din VPN eller bara DNS-uppslag så får du ändra AllowedIPs i peerX.conf från 0.0.0.0/0 till 10.10.110.53/32.

Orkade inte fixa att routen är permanent i steg 2, men det är ett krav för att den ska klara av en omstart. Principen är ändå den samma.

Ansluter man från LAN (i POCen Dockernätet), så kommer man då att se det IPt. Vilket gör att alla klienter får 2 adresser, om dom är hemma eller om dom är utanför. För att komma runt det måste du köra en L2-VPN istället och trixa med din DHCP-server.

Hur du löser att dom automatiskt ansluter via VPN när dom inte är hemma, vet jag inte.

Så det viktiga är att se till att trafiken inte NATas och att Adguard hittar tillbaka till klienten.

Tackar, får kolla vidare på det och hur man får routen permanent!

Jag använda mig utav scriptet på denna sida för att få igång wireguard:
https://tteck.github.io/Proxmox/

Permalänk
Medlem
Skrivet av slaski:

Satte upp en POC bara för att testa det och fick det att fungera. Så troligen är det något steg du missat, kanske en NAT-regel, blandat lite för mycket från olika guider eller något annan brandvägg i ditt nätverk som vi inte känner till här i tråden.

Vill poängtera att detta är ett sätt att göra det på, men finns såklart många fler. Jag kanske inte har något uppsatt som du vill ha eller missat config i Adguard , men utifrån informationen i tråden så fungerar det och Adguard är annars standard.

Detta är uppsatt med hjälp av docker (compose) på en maskin (VM eller LXC spelar ingen roll) eller om du vill köra på en RPi med lokalt installerade program. Enklast för mig var via docker.

Nätverken är påhittade och du skulle kunna ändra efter eget behov.
Dockernätet: 10.10.110.0/24 (kan ses som ditt LAN)
Wireguardnätet: 10.10.115.0/24

Adguard har 10.10.110.53
Wireguard har 10.10.110.2 och 10.10.115.1

Här är compose-filen som jag använt.
docker-compose.yml

Steg 1:
Configurera Wireguard-servern att inte NATa trafik till 10.10.115.53. Det för att rätt IP ska synas i Adguard. Görs genom att ändra PostUp/PostDown i wg0.conf:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE

När det är ändrat, starta om wireguard:

docker-compose restart wireguard

Steg 2:
Säg till Adguard-servern vart 10.10.115.0/24 finns, så att svaren kommer tillbaka till klienten:

docker-compose exec --privileged -it adguard ip route add 10.10.115.0/24 via 10.10.110.2

Beroende på om du vill att all deras trafik ska gå genom din VPN eller bara DNS-uppslag så får du ändra AllowedIPs i peerX.conf från 0.0.0.0/0 till 10.10.110.53/32.

Orkade inte fixa att routen är permanent i steg 2, men det är ett krav för att den ska klara av en omstart. Principen är ändå den samma.

Ansluter man från LAN (i POCen Dockernätet), så kommer man då att se det IPt. Vilket gör att alla klienter får 2 adresser, om dom är hemma eller om dom är utanför. För att komma runt det måste du köra en L2-VPN istället och trixa med din DHCP-server.

Hur du löser att dom automatiskt ansluter via VPN när dom inte är hemma, vet jag inte.

Så det viktiga är att se till att trafiken inte NATas och att Adguard hittar tillbaka till klienten.

Ser att du bara angett ett IP till adguard. Jag kör med två olika Adguard (två IP). Kan man ange två rader med PostUp med olika IP?

Dessutom lite osäker på hur man gör steg 2 när adguard körs på en raspberry pi (ej docker) då det du angivit är ett docker kommando och hittar inget likvärdigt för raspberry pi (debian). å andra sidan osäker på vad förfarandet kallas.

Permalänk
Medlem
Skrivet av naaw:

Ser att du bara angett ett IP till adguard. Jag kör med två olika Adguard (två IP). Kan man ange två rader med PostUp med olika IP?

Antar att Adguard2 har 10.10.110.54 så skulle du kunna skriva nedan, det är bara ; som skiljer varje kommando.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.54/32 -j MASQUERADE

Du skulle också kunna köra något liknande bara för att göra det lite enklare, men beror lite på vad du har på nätet som ska användas där, det handlar bara om att specificera dom IP-adresserna som ska exkluderas från NAT (MASQUERADE).

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.52/30 -j MASQUERADE

Skrivet av naaw:

Dessutom lite osäker på hur man gör steg 2 när adguard körs på en raspberry pi (ej docker) då det du angivit är ett docker kommando och hittar inget likvärdigt för raspberry pi (debian). å andra sidan osäker på vad förfarandet kallas.

I debian borde du kunna köra:

ip route add 10.10.115.0/24 via 10.10.110.2

Lite olika exempel på hur du lägger upp statiska routes, både temporärt (försvinner efter omstart) eller permanent.
https://linuxopsys.com/topics/permanently-add-static-route-in...

Permalänk
Medlem
Skrivet av slaski:

Antar att Adguard2 har 10.10.110.54 så skulle du kunna skriva nedan, det är bara ; som skiljer varje kommando.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.53/32 -j MASQUERADE; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.54/32 -j MASQUERADE

Du skulle också kunna köra något liknande bara för att göra det lite enklare, men beror lite på vad du har på nätet som ska användas där, det handlar bara om att specificera dom IP-adresserna som ska exkluderas från NAT (MASQUERADE).

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 10.10.110.52/30 -j MASQUERADE

I debian borde du kunna köra:

ip route add 10.10.115.0/24 via 10.10.110.2

Lite olika exempel på hur du lägger upp statiska routes, både temporärt (försvinner efter omstart) eller permanent.
https://linuxopsys.com/topics/permanently-add-static-route-in...

Ok, tack för all hjälp!
Men är kanske något annat som strular då.

Har lagt till PostUp och PostDown i wg0.conf och startat om:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.10/24 -j MASQUERADE; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.30/24 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ ! -d 192.168.1.10/24 -j MASQUERADE; iptables -t nat -D POSTROUTING -o eth+ ! -d 192.168.1.30/24 -j MASQUERADE

och lagt till en statisk rutt i en av adguard servrarna med 'ip route add 10.6.0.0/24 via 192.168.1.97'.
(10.6.0.0/24 är wireguard nätet och 192.168.97 är wireguards IP på LAN-sidan)

Men när jag surfar med mobilen genom VPN så ser fortfarande adguard (den jag la till statisk rutt i) bara wireguards IP (192.168.1.97).

Permalänk
Medlem
Skrivet av naaw:

Jag kanske hade lite bråttom när jag tänkte med iptables-reglerna, tror den kanske NATar iaf eftersom det är två regler som kommer göra samma sak. Men ser också att du satt /24 och inte /32.

/24 betyder troligtvis hela ditt LAN.
/32 endast den hosten

LAN ser ut att var 192.168.1.0/24
Adguard1: 192.168.1.10
Adguard2: 192.168.1.30
Wireguard-server 192.168.1.97
Wireguard-nät 10.6.0.0/24

Jag hade först provat med:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.0.10/32 -j MASQUERADE

Testa att bara köra mot Adguard1, får den rätt IP? Om ja, så hade jag bytt så att båda adguard-servrarna ligger närmare varandra inom subnätet. Och då kört att Adguard1 har .10 och Adguard2 har .11 (eller något annat inom .9-.14.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.0.8/29 -j MASQUERADE

Om du fortfarande ser .97 och inte 10.6.0.X så kanske det finns någon annan NAT-regel på din wireguard-host då den installeras med pivpn som gör mycket automatiskt för en, vilket kan vara snällt. Men om du vill så skriv följade på din wireguard-server och klistra in här så kan vi se om det finns någon annan regel som NATar.

iptables -L -n iptables -L -n -t nat

Permalänk
Medlem
Skrivet av slaski:

Jag kanske hade lite bråttom när jag tänkte med iptables-reglerna, tror den kanske NATar iaf eftersom det är två regler som kommer göra samma sak. Men ser också att du satt /24 och inte /32.

/24 betyder troligtvis hela ditt LAN.
/32 endast den hosten

LAN ser ut att var 192.168.1.0/24
Adguard1: 192.168.1.10
Adguard2: 192.168.1.30
Wireguard-server 192.168.1.97
Wireguard-nät 10.6.0.0/24

Jag hade först provat med:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.0.10/32 -j MASQUERADE

Testa att bara köra mot Adguard1, får den rätt IP? Om ja, så hade jag bytt så att båda adguard-servrarna ligger närmare varandra inom subnätet. Och då kört att Adguard1 har .10 och Adguard2 har .11 (eller något annat inom .9-.14.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.0.8/29 -j MASQUERADE

Om du fortfarande ser .97 och inte 10.6.0.X så kanske det finns någon annan NAT-regel på din wireguard-host då den installeras med pivpn som gör mycket automatiskt för en, vilket kan vara snällt. Men om du vill så skriv följade på din wireguard-server och klistra in här så kan vi se om det finns någon annan regel som NATar.

iptables -L -n iptables -L -n -t nat

Testade med:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.0.10/32 -j MASQUERADE

Adguard ser fortfarande bara wireguard (192.168.1.97)

här har du 'iptables -L -n':

root@wireguard:~# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) target prot opt source destination root@wireguard:~#

och här har du 'iptables -L -n -t nat':

root@wireguard:~# iptables -L -n -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 10.6.0.0/24 0.0.0.0/0 /* wireguard-nat-rule */ MASQUERADE all -- 0.0.0.0/0 !192.168.0.10 root@wireguard:~#

Permalänk
Medlem
Skrivet av naaw:

och här har du 'iptables -L -n -t nat':

root@wireguard:~# iptables -L -n -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 10.6.0.0/24 0.0.0.0/0 /* wireguard-nat-rule */ MASQUERADE all -- 0.0.0.0/0 !192.168.0.10 root@wireguard:~#

Det är denna raden som ställer till det för dig:

MASQUERADE all -- 10.6.0.0/24 0.0.0.0/0 /* wireguard-nat-rule */[/b]

Ser ut att vara något som pivpn gör eller gjort att den läggs in (mer info: https://github.com/pivpn/pivpn/issues/1014 ). För att ta bort den om ditt interface på wireguard-servern heter eth0 då.

iptables -t nat -D POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

För att lägga till den igen, om du skulle vilja:

iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

Gjorde länk klickbar
Permalänk
Medlem
Skrivet av slaski:

Det är denna raden som ställer till det för dig:

MASQUERADE all -- 10.6.0.0/24 0.0.0.0/0 /* wireguard-nat-rule */[/b]

Ser ut att vara något som pivpn gör eller gjort att den läggs in (mer info: https://github.com/pivpn/pivpn/issues/1014). För att ta bort den om ditt interface på wireguard-servern heter eth0 då.

iptables -t nat -D POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

För att lägga till den igen, om du skulle vilja:

iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

Försöker förstå vad det är den raden gör. Och vad som förändras (slutar fungera) om jag tar bort den. men issuen du länkade till förklarade tyvärr inte heller vad det faktiskt var för något.

Har du möjligtvis en bra förklaring?

Permalänk
Medlem
Skrivet av naaw:

Försöker förstå vad det är den raden gör. Och vad som förändras (slutar fungera) om jag tar bort den. men issuen du länkade till förklarade tyvärr inte heller vad det faktiskt var för något.

Har du möjligtvis en bra förklaring?

Chain POSTROUTING (policy ACCEPT) target prot opt source destination comment MASQUERADE all -- 10.6.0.0/24 0.0.0.0/0 /* wireguard-nat-rule */

Chain POSTROUTING (policy ACCEPT): Detta är namnet på regelgruppen eller kedjan i iptables som raden tillhör. I det här fallet kallas kedjan "POSTROUTING," och dess standardpolicy är att ACCEPTera all nätverkstrafik om inga andra regler gäller.

target: Detta är åtgärden som ska vidtas om trafiken uppfyller regeln.

prot: Detta är protokollet som regeln gäller för. I det här fallet står "all" för att regeln gäller för alla typer av nätverkstrafik oavsett protokoll.

opt: Detta står för alternativ, och det används vanligtvis för att specificera specifika egenskaper eller villkor som måste uppfyllas för att regeln ska gälla.

source: Detta är källan för trafiken, vilket betyder varifrån trafiken kommer. I detta fall är källan "10.6.0.0/24," vilket är en IP-adressomfattning som omfattar alla IP-adresser från 10.6.0.1 till 10.6.0.254.

destination: Detta är destinationen för trafiken, vilket betyder vart trafiken är på väg. I detta fall är destinationen "0.0.0.0/0," vilket är en wildcard som betyder att trafiken kan gå till vilken destination som helst.

comment: Detta är en kommentar som tillhandahåller en beskrivning av syftet med regeln. I detta fall är det en kommentar som anger "wireguard-nat-rule," vilket indikerar att regeln troligen är associerad med WireGuard VPN och används för nätverksadressöversättning (NAT).

Så sammanfattningsvis säger den här raden att all nätverkstrafik som kommer från IP-adressomfattningen 10.6.0.0/24 och ska vidare till vilken destination som helst ska underkastas MASQUERADE-åtgärden, vilket är vanligt i VPN-inställningar för att dölja källadressen för trafiken.

Det som kan sluta fungera om du tar bort den är kanske om du har något annat som skickas in i tunneln. Men om det bara är DNS-trafik så ska det vara lugnt. Är det internettrafik som tunnlas också, så borde den andra regeln klara det också.

Glömde säga vad som kan hända utan den.
Permalänk
Medlem
Skrivet av slaski:

Chain POSTROUTING (policy ACCEPT) target prot opt source destination comment MASQUERADE all -- 10.6.0.0/24 0.0.0.0/0 /* wireguard-nat-rule */

Chain POSTROUTING (policy ACCEPT): Detta är namnet på regelgruppen eller kedjan i iptables som raden tillhör. I det här fallet kallas kedjan "POSTROUTING," och dess standardpolicy är att ACCEPTera all nätverkstrafik om inga andra regler gäller.

target: Detta är åtgärden som ska vidtas om trafiken uppfyller regeln.

prot: Detta är protokollet som regeln gäller för. I det här fallet står "all" för att regeln gäller för alla typer av nätverkstrafik oavsett protokoll.

opt: Detta står för alternativ, och det används vanligtvis för att specificera specifika egenskaper eller villkor som måste uppfyllas för att regeln ska gälla.

source: Detta är källan för trafiken, vilket betyder varifrån trafiken kommer. I detta fall är källan "10.6.0.0/24," vilket är en IP-adressomfattning som omfattar alla IP-adresser från 10.6.0.1 till 10.6.0.254.

destination: Detta är destinationen för trafiken, vilket betyder vart trafiken är på väg. I detta fall är destinationen "0.0.0.0/0," vilket är en wildcard som betyder att trafiken kan gå till vilken destination som helst.

comment: Detta är en kommentar som tillhandahåller en beskrivning av syftet med regeln. I detta fall är det en kommentar som anger "wireguard-nat-rule," vilket indikerar att regeln troligen är associerad med WireGuard VPN och används för nätverksadressöversättning (NAT).

Så sammanfattningsvis säger den här raden att all nätverkstrafik som kommer från IP-adressomfattningen 10.6.0.0/24 och ska vidare till vilken destination som helst ska underkastas MASQUERADE-åtgärden, vilket är vanligt i VPN-inställningar för att dölja källadressen för trafiken.

Det som kan sluta fungera om du tar bort den är kanske om du har något annat som skickas in i tunneln. Men om det bara är DNS-trafik så ska det vara lugnt. Är det internettrafik som tunnlas också, så borde den andra regeln klara det också.

ah, schysst!

gissar att det är eth0 och inte wg0 som jag ska använda?

root@wireguard:/etc/wireguard# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 9a:50:a7:d0:2c:fb brd ff:ff:ff:ff:ff:ff link-netnsid 0 3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/none root@wireguard:/etc/wireguard#

tog bort det nu i alla fall med:

iptables -t nat -D POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

Och nu står det 10.6.0.2 som IP i adguard när jag surfar med mobilen genom VPN. Så fungerar!
Ska bara testa så att det fungerar med den andra adguard servern också.

Märkte dock att det inte höll efter en omstart av wireguard servern. Någon idé om hur man får den raden att hålla sig borta även efter en omstart?

Hade angett fel IP-adress i PostUp..
Permalänk
Medlem
Skrivet av naaw:

gissar att det är eth0 och inte wg0 som jag ska använda?

Korrekt

Skrivet av naaw:

Och nu står det 10.6.0.2 som IP i adguard när jag surfar med mobilen genom VPN. Så fungerar!
Ska bara testa så att det fungerar med den andra adguard servern också.

Gött För att det ska fungera med den andra server (.30) så behövs regeln ändras så att både .10 och .30 inkluderas som jag skrev tidigare.

Skrivet av slaski:

Testa att bara köra mot Adguard1, får den rätt IP? Om ja, så hade jag bytt så att båda adguard-servrarna ligger närmare varandra inom subnätet. Och då kört att Adguard1 har .10 och Adguard2 har .11 (eller något annat inom .9-.14.

Alterantivt kan du testa med, men vet inte helt om det fungear så.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.10,192.168.1.30 -j MASQUERADE

Skrivet av naaw:

Märkte dock att det inte höll efter en omstart av wireguard servern. Någon idé om hur man får den raden att hålla sig borta även efter en omstart?

Det var debian/ubuntu du körde va? Isåfall kör nedan för att se vad den gamla configen innehåll och spara som en backup, ifall att något går sönder.

cat /etc/iptables/rules.v4

För att sedan ändra till det du har (efter att du har kört iptables för att ta bort regeln):

iptables-save > /etc/iptables/rules.v4

Går ju att ändra i rules.v4 direkt också om man vill och sedan starta om eller ladda om iptables.

Permalänk
Medlem
Skrivet av slaski:

Korrekt
Gött För att det ska fungera med den andra server (.30) så behövs regeln ändras så att både .10 och .30 inkluderas som jag skrev tidigare.
Alterantivt kan du testa med, men vet inte helt om det fungear så.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.10,192.168.1.30 -j MASQUERADE

Det var debian/ubuntu du körde va? Isåfall kör nedan för att se vad den gamla configen innehåll och spara som en backup, ifall att något går sönder.

cat /etc/iptables/rules.v4

För att sedan ändra till det du har (efter att du har kört iptables för att ta bort regeln):

iptables-save > /etc/iptables/rules.v4

Går ju att ändra i rules.v4 direkt också om man vill och sedan starta om eller ladda om iptables.

Korrigerade PostUp och PostDown som tidigare nämnts och lade till en route på andra adguard servern. Men nu fungerar det inte på någon av adguard servrarna istället. Dvs, det är wireguards IP som syns på båda adguard servrarna nu.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.10/32 -j MASQUERADE; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.30/32 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ ! -d 192.168.1.10/32 -j MASQUERADE; iptables -t nat -D POSTROUTING -o eth+ ! -d 192.168.1.30/32 -j MASQUERADE

root@wireguard:~# iptables -L -n -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 !192.168.1.10 MASQUERADE all -- 0.0.0.0/0 !192.168.1.30 root@wireguard:~#

pi@adguard2:~ $ ip route list default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.30 metric 202 10.6.0.0/24 via 192.168.1.97 dev eth0 192.168.1.0/24 dev eth0 proto dhcp scope link src 192.168.1.30 metric 202 pi@adguard2:~ $

Btw, det sista förslaget på PostUp (med IP,IP) verkar inte fungera så bra.

root@wireguard:~# iptables -L -n -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination root@wireguard:~#

Permalänk
Medlem
Skrivet av naaw:

Okej men då får du köra på ett sätt där du får med både .10 och .30 om du inte vill byta ip på .30 till tex .11 och välja ett smalare subnät i iptables-regeln.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.8/29 -j MASQUERADE

Har du dubbla regler som exkluderar var sin så träffas den andra regeln istället.
Alternatvit:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.0/24 -j MASQUERADE

Permalänk
Medlem
Skrivet av slaski:

Okej men då får du köra på ett sätt där du får med både .10 och .30 om du inte vill byta ip på .30 till tex .11 och välja ett smalare subnät i iptables-regeln.

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.8/29 -j MASQUERADE

Har du dubbla regler som exkluderar var sin så träffas den andra regeln istället.
Alternatvit:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.0/24 -j MASQUERADE

Testade nu att byta IP på adguard2 till 192.168.1.11 och körde med detta:

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ ! -d 192.168.1.8/29 -j MASQUERADE

Och nu verkar det fungera!
Ber om ursäkt för alla mina redigeringar av detta inlägg (om du sett dem). Tydligen så är adguard aktivt (DNS) även när man klickar på disable i web-UI. Verkar bara vara all ”protection” som stängs av. Därav förstod jag inte riktigt vad som skedde. Så fick stänga av tjänsten helt för att adguard2 skulle börja användas. Och då såg jag rätt IP där också.

Men, ’ip scope add' som man kör på adguard servrarna är inte kvar efter en omstart. Lyckas inte hitta hur man fixar så detta är kvar. Har du möjligtvis koll på det också?

Permalänk
Medlem
Skrivet av naaw:

Men, ’ip scope add' som man kör på adguard servrarna är inte kvar efter en omstart. Lyckas inte hitta hur man fixar så detta är kvar. Har du möjligtvis koll på det också?

Gött att det löste sig. Vet du vilket OS och vilken version du kör på dina adguard raspberry pi?

Är det äldre brukar det vara /etc/network/interfaces som gäller och då kan man skriva följande:

auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 up ip route add 10.6.0.0/24 via 192.168.1.97

Om det är nyare så brukar dhcpcd användas, ett exempel då är att lägga in det i /etc/dhcpcd.exit-hook:

ip route add 10.6.0.0/24 via 192.168.1.97

Antingen starta om nätverket eller maskinen så ska det appliceras. Kan hända att du kör med annan nätverkskonfigurator också. Men det görs helt enkelt där du har confat din statiska IP.

Permalänk
Medlem
Skrivet av slaski:

Gött att det löste sig. Vet du vilket OS och vilken version du kör på dina adguard raspberry pi?

Är det äldre brukar det vara /etc/network/interfaces som gäller och då kan man skriva följande:

auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 up ip route add 10.6.0.0/24 via 192.168.1.97

Om det är nyare så brukar dhcpcd användas, ett exempel då är att lägga in det i /etc/dhcpcd.exit-hook:

ip route add 10.6.0.0/24 via 192.168.1.97

Antingen starta om nätverket eller maskinen så ska det appliceras. Kan hända att du kör med annan nätverkskonfigurator också. Men det görs helt enkelt där du har confat din statiska IP.

Det är Raspberry OS.

pi@adguard2:~ $ hostnamectl Operating System: Debian GNU/Linux 11 (bullseye) Kernel: Linux 6.1.21-v8+ Architecture: arm64 pi@adguard2:~ $

Permalänk
Medlem
Skrivet av naaw:

Det är Raspberry OS.

pi@adguard2:~ $ hostnamectl Operating System: Debian GNU/Linux 11 (bullseye) Kernel: Linux 6.1.21-v8+ Architecture: arm64 pi@adguard2:~ $

Beror på hur du confat din IP, men om du använder systemd för det så går det att göra på följande sätt:
/etc/systemd/network/99-static-route.network

[Match] Name=eth0 [Network] Address=192.168.1.10/24 Gateway=192.168.1.1 DNS=8.8.8.8 Domains=naaw.local [Route] Gateway=192.168.1.97 Destination=10.6.0.0/24 Metric=100

Sedan starta om:
systemctl restart systemd-networkd

Permalänk
Medlem
Skrivet av slaski:

Beror på hur du confat din IP, men om du använder systemd för det så går det att göra på följande sätt:
/etc/systemd/network/99-static-route.network

[Match] Name=eth0 [Network] Address=192.168.1.10/24 Gateway=192.168.1.1 DNS=8.8.8.8 Domains=naaw.local [Route] Gateway=192.168.1.97 Destination=10.6.0.0/24 Metric=100

Sedan starta om:
systemctl restart systemd-networkd

har inte konfigurerat det alls.
Kör DHCP på dem och sedan låst det i routern istället.

verkar fungera att toucha ' /etc/dhcpcd.exit-hook' och ange 'ip route add 10.6.0.0/24 via 192.168.1.97' där i.

Jag får dock inte riktigt koll på wireguards iptables.

Efter ha kört:

iptables -t nat -D POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

Så ger 'cat /etc/iptables/rules.v4' mig:

# Generated by iptables-save v1.8.7 on Thu Sep 29 07:43:41 2022 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE COMMIT # Completed on Thu Sep 29 07:43:41 2022

och 'iptables -L -n -t nat' ger mig:

Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 !192.168.1.8/29

Kör jag då 'iptables-save > /etc/iptables/rules.v4' så får jag istället detta när jag kör 'cat /etc/iptables/rules.v4':

# Generated by iptables-save v1.8.7 on Mon Oct 16 12:53:24 2023 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A FORWARD -i wg0 -j ACCEPT -A FORWARD -o wg0 -j ACCEPT COMMIT # Completed on Mon Oct 16 12:53:24 2023 # Generated by iptables-save v1.8.7 on Mon Oct 16 12:53:24 2023 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING ! -d 192.168.1.8/29 -o eth+ -j MASQUERADE COMMIT # Completed on Mon Oct 16 12:53:24 2023

startar jag sedan om servern så ger mig 'iptables -L -n -t nat' ger mig då istället detta:

Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 !192.168.1.8/29 MASQUERADE all -- 0.0.0.0/0 !192.168.1.8/29

och ser fortfarande ut så här med 'cat /etc/iptables/rules.v4':

'# Generated by iptables-save v1.8.7 on Mon Oct 16 12:54:20 2023 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A FORWARD -i wg0 -j ACCEPT -A FORWARD -o wg0 -j ACCEPT COMMIT # Completed on Mon Oct 16 12:54:20 2023 # Generated by iptables-save v1.8.7 on Mon Oct 16 12:54:20 2023 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING ! -d 192.168.1.8/29 -o eth+ -j MASQUERADE COMMIT # Completed on Mon Oct 16 12:54:20 2023

Så frågan är varför jag får två likadana rader

MASQUERADE all -- 0.0.0.0/0 !192.168.1.8/29 MASQUERADE all -- 0.0.0.0/0 !192.168.1.8/29

Om jag däremot tar bort ALLT ifrån /etc/iptables/rules.v4 så den är helt tom och startar om. Så får jag bara en rad av

MASQUERADE all -- 0.0.0.0/0 !192.168.1.8/29

Huruvida detta ställer till med andra problem eller om det är löst nu vet jag inte.. Men verkar iaf fungera nu!

Du är en fantastisk människa! Tack för all hjälp!

Permalänk
Medlem
Skrivet av naaw:

Du får dubbla rader då det finns en rad i /etc/iptables/rules.v4 och även wireguard lägger till en rad själv.

Så för att slippa dubbla rader, ta bort den som ligger i /etc/iptables/rules.v4 och sedan räcker det med att wireguard startar/stoppar så lägger den till/tar bort raden som behövs.

Denna raden var tanken bara att du skulle ta bort det första gången:

iptables -t nat -D POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

Kanske var lite slarvigt sagt hur du skulle göra i mitt tidigare inlägg.

Så din rules.v4 ska vara ganska ren utan någon wireugard-config helt enkelt. Tror inte du kommer märka några problem då reglerna säger exakt samma sak, men går säkert en extra processor cykel åt att att räkna för paketen och några bytes lagring på disken

Kul att det löste sig för dig.