WireGuard na Mikrotiku a firewall

WireGuard na Mikrotiku a firewall
« kdy: 15. 07. 2024, 22:47:53 »
Prosím všechny znalce WireGuard a jeho provozu na Mikrotiku o pomoc s pravidly firewallu. Hned po zprovoznění se klient dostane všude v rámci adres nastavených nikoliv na serveru, ale u klienta. WireGuard tedy nějakým způsobem obchází klasický firewall v Mikrotiku? Dá se to někde nějak nastavit? Potřeboval bych od klientů dstnat jen na určité porty v rámci vnitřní LAN. Nemělo by, pokud možno fungovat to, že si klient nastaví povolení rámci rozsahu adres vnitřní LAN a dostane se všude.

A druhá věc, používám radioamatérské SDR přijímače Perseus v režimu klient-server. Připojení k Perseovi probíhá následovně: klient se serverem naváže spojení na TCP portu - to mi v rámci rozsahu vnitřní LAN funguje (mělo by potom fungovat přes dstnat) a server na (jiném) UDP portu začne streamovat data ke klientovi. Tato data se pravděpodobně na routeru někde ztrácejí. Zkoušel jsem všechny možné varianty srcnat a maškarády z LAN IP adresy a portu počítače, na kterém běží přijímače Perseus na IP adresu WireGuard, na IP adresu klienta.... a bezvýsledně... router jakoby to posílal ven do internetu... Jak donutit WireGuard na routeru, aby ten stream zachytával a přeposílal k danému klientovi, který s daným Perseem navázal spojení?

Díky za tipy a rady.


Re:WireGuard na Mikrotiku a firewall
« Odpověď #1 kdy: 16. 07. 2024, 07:00:02 »
Vypiště konfiguraci s hide-sensitive=yes pak můžeme více radit.

Jinak obecně bych se kouknul na maškarádu. Pokud neděláte maškarádu jen na out interface WAN mohl by to být ten problém.

ja.

  • ****
  • 348
    • Zobrazit profil
    • E-mail
Re:WireGuard na Mikrotiku a firewall
« Odpověď #2 kdy: 16. 07. 2024, 14:21:34 »
Prosím všechny znalce WireGuard a jeho provozu na Mikrotiku o pomoc s pravidly firewallu. Hned po zprovoznění se klient dostane všude v rámci adres nastavených nikoliv na serveru, ale u klienta. WireGuard tedy nějakým způsobem obchází klasický firewall v Mikrotiku? Dá se to někde nějak nastavit? Potřeboval bych od klientů dstnat jen na určité porty v rámci vnitřní LAN. Nemělo by, pokud možno fungovat to, že si klient nastaví povolení rámci rozsahu adres vnitřní LAN a dostane se všude.

Wireguard nijako firewall neobchadza; bud je interface wireguard1 v interface list LAN, alebo je povoleny forwarding.

Riesenim je obmedzit forwarding tak, aby bolo mozne pristupovat iba na pozadovane dest ip.

Re:WireGuard na Mikrotiku a firewall
« Odpověď #3 kdy: 16. 07. 2024, 14:50:52 »

Wireguard nijako firewall neobchadza; bud je interface wireguard1 v interface list LAN, alebo je povoleny forwarding.

Riesenim je obmedzit forwarding tak, aby bolo mozne pristupovat iba na pozadovane dest ip.
Právě že ne, WireGuard nemám v interfaces list LAN (to na to při pokusech nemělo vůbec vliv). Naopak vliv má Allowed IPs v nastavení u klienta. Pokud se u klienta do Allowed IPs dá mimo jiné i rozsah adres vnitřní LAN, tak se do té vnitřní LAN dá dostat i bez jakýchkoliv pravidel firewallu / NAT...
« Poslední změna: 16. 07. 2024, 14:53:06 od martinbob »

ja.

  • ****
  • 348
    • Zobrazit profil
    • E-mail
Re:WireGuard na Mikrotiku a firewall
« Odpověď #4 kdy: 16. 07. 2024, 15:03:26 »

Wireguard nijako firewall neobchadza; bud je interface wireguard1 v interface list LAN, alebo je povoleny forwarding.

Riesenim je obmedzit forwarding tak, aby bolo mozne pristupovat iba na pozadovane dest ip.
Právě že ne, WireGuard nemám v interfaces list LAN (to na to při pokusech nemělo vůbec vliv). Naopak vliv má Allowed IPs v nastavení u klienta. Pokud se u klienta do Allowed IPs dá mimo jiné i rozsah adres vnitřní LAN, tak se do té vnitřní LAN dá dostat i bez jakýchkoliv pravidel firewallu / NAT...

AllowedIP na klientovi iba nastavuje routu cez wg interface; ci tam bude aj nejaka odozva, zavisi od peera.

Asi by bolo najrozumnejsie postnut tu celu konfiguraciu, inak sa budeme len dohadovat. A nie, wg na mikrotiku to default firewall neobchadza (pozri https://help.mikrotik.com/docs/display/ROS/WireGuard#WireGuard-RouterOSconfiguration), skor tam vo firewalle najdeme nejake pravidlo, ktore to umoznuje.


Re:WireGuard na Mikrotiku a firewall
« Odpověď #5 kdy: 16. 07. 2024, 17:47:28 »
Na Mikrotiku je wireguard a funguje, link je up a traffic se hýbe? A klient je další box, zařízení, které je v povoleném adresním rozsahu wireguardu?

Re:WireGuard na Mikrotiku a firewall
« Odpověď #6 kdy: 16. 07. 2024, 20:39:57 »
WG je na MT prostě jako další interface. A na MT je INPUT, FORWARD a OUTPUT defaultně jako ACCEPT.
Čili pokud nemáš poslední pravidlo pro FORWARD - ANY ANY DROP tak je jasné, že to projde.

Re:WireGuard na Mikrotiku a firewall
« Odpověď #7 kdy: 16. 07. 2024, 22:21:11 »
Opravdu moc děkuji všem za jejich reakce. Perseus v režimu server - klient (ta druhá část otázky) už funguje... no, ani se neptejte kde byl problém ;D.... na straně Mikrotiku a WG bylo vše dobře, končilo to na Windows firewallu klientského PC...no, stalo se... ;D ;D..
S těmi pravidly si zkusím pohrát zítra večer. Musím opatrně, je to na vzdáleném místě a nerad bych si to odříznul. Konfiguraci sem případně mohu zkopírovat, ale je tam defaultní firewall Mikrotiku. Nebude vadit, když se celý smaže a nastaví se pravidla jen pro WG. Směrem k internetu je to chráněné ještě jedním routerem s firewallem.

Re:WireGuard na Mikrotiku a firewall
« Odpověď #8 kdy: 25. 07. 2024, 22:56:35 »
Zdravím po delší době, omlouvám se, ale neměl jsem teď moc času. Chvíli jsem si s tím ještě hrál, zde je několik bodů jak se to chová:
- pokud WireGuard není přiřazen k žádnému interfaces list (WAN, LAN), chová se vždy jako LAN, přístup možný všude
- pokud se do povolených adres u klienta dá IP adresa routeru + celý rozsah vnitřní LAN za routerem, dá se dostat všude. Opravdu jsem nenašel, kde je to default povolení, jak píše michaelscz?? Žádné z pravidel firewallu na to nemá vliv. Vliv má pouze pokud se přidá nějaké drop pravidlo.
- Pokud se jako klient připojuji pouze přes adresu routeru (nikoliv pomocí adres vnitřní LAN) tak fungují klasická pravidla dstnat, funguje už i případná maškaráda zpátky.
- Pokud se WireGuard dá do WAN, opět funguje dstnat, ale nepovedlo se mi nastavit maškarádu, aby chodily pakety zpátky z LAN k WireGuardu ve WAN.
Prosím, kde a jak jednoduše nastavit, aby pokud je u klienta v povolených adresách adresa vnitřní LAN, se dalo připojit jenom na konkrétní port / službu? Prostě aby si klient sám nemohl dát do povolených IP rozsah vnitřní LAN sítě a měl přístup všude? Kde změnit to defaultní povolení o kterém píše michaelscz? Žádné z pravidel ve Filter Rules na to nemá vliv.
Děkuji

Re:WireGuard na Mikrotiku a firewall
« Odpověď #9 kdy: 26. 07. 2024, 05:20:56 »
dej config, jak psali vyse..

obecne
na konec firewallu das drop
pred dropem upravis kam muze wg if
nedavej ho do zadnyho if listu akorat se tim mates
neres ve fw adresy wg ale interface
kamkoliv mu napovolis tam nemuze

safe mode je tvuj kamarad kdyz se to teprva ucis (viz mktik wiki)

mktik wg ma obcas potize ale tohle k nim nepatri

Re:WireGuard na Mikrotiku a firewall
« Odpověď #10 kdy: 26. 07. 2024, 20:59:23 »
Děkuji moc za radu, tak to nakonec bylo opravdu jednoduché. Config sem dám, až to dám dohromady i s ostatními pravidly a poprosím potom o konzultaci s odladěním. Mě pořád mátla ta snaha udělat dstnat z rozsahu IP WireGuard na rozsah vnitřní LAN. Přitom je to nesmysl. Ta nápověda, abych neřešil adresy, ale interface mi opravdu pomohla... Opravdu stačí dvě pravidla ve FW, jedno s povolenými porty accept a pod tím drop všeho. V NAT tabulce potom stačí srcnat UDP portů, kde Perseus streamuje data na Wireguard. Ještě to zbývá dát dohromady s accept pro estabilished, related, drop invalid, fasttrack forward a passtrought (to je i v RAW tabulce). Úplně přesně nechápu jak tato pravidla fungují, ale je mi jasné, že přes ně chodí už navázaná spojení. Výhoda je, že router na kterém běží WG není vystrčen do internetu. Ten první router začnu řešit vzápětí:-DD to zase bude....:-DD
« Poslední změna: 26. 07. 2024, 21:01:24 od martinbob »

Re:WireGuard na Mikrotiku a firewall
« Odpověď #11 kdy: 29. 07. 2024, 20:35:03 »
Já jsem to vyřešil tak, že jsem přímo na FW v mikrotiku zakázal určitým klientům kam nemaj lézt....