Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: martinjk 30. 06. 2023, 12:07:24
-
Ahoj,
potřebuji postrčit správným směrem, s novým telefonem jsem musel nainstalovat ikev2 VPN na přístup domů.
Je to Mikrotik RouterOS6.49.8 aktuální.
Přístup mi funguje, ale pouze jen domů.
Potřebuji zprovoznit také "tunelování" internetu přes VPN.
Protože např. nefunguje Plex server dome přes VPN, klient Plex na telefonu si ověřuje přístupové údaje.
Lokální služby jsou plně dostupné.
VPN jsem nastavil takto jak je ukázáno v návodu na https://www.youtube.com/watch?v=b9_xWM-S4mw&t=130s
Přišlo mi to jako nejsnažší varianta ze všech a kroky jsem snad i trochu pochopil.
Co musím ještě přidat? Routování nebo NAT?
Nejsem moc síťař.
Díky za rady.
Martin
-
Ahoj,
v definici Ikev2 je sekce mode-config nebo tak neco a tam pridavas site/routy, ktere maji jit pres vpn.
Pokud tam pridas routu: 0.0.0.0/0 klientovi timto reknes, ze veskery provoz necht jede pres VPN
Samozrejme musis mit povoleny firewall - chain Forward a musis mit nastavny NAT
IKEv2 se mi libi, ale.....docela dost jsem se naprcal s tim, kdyz jsem chtel certifikaty po roce vymenit u zakazniku a na widlich to byl vazne opruz.....a nakonec to dopadlo tak, ze jsem tam rozjel Wiregurad a usetril jsem si hodne casu a nervu ;-)
Podpora Wireguardu je super, appky jsou jak pro Widle, Linux, Android, iOS, takze je to vazne v klidu.... kdyby cokoliv, klidne napis, ale ja bych uz do IKEv2 nesel
Mej se
Mijos
-
souhlas, proc si to zbytecne komplikovat kdyz je tu wireguard, tedy od ROS7
Ahoj,
v definici Ikev2 je sekce mode-config nebo tak neco a tam pridavas site/routy, ktere maji jit pres vpn.
Pokud tam pridas routu: 0.0.0.0/0 klientovi timto reknes, ze veskery provoz necht jede pres VPN
Samozrejme musis mit povoleny firewall - chain Forward a musis mit nastavny NAT
IKEv2 se mi libi, ale.....docela dost jsem se naprcal s tim, kdyz jsem chtel certifikaty po roce vymenit u zakazniku a na widlich to byl vazne opruz.....a nakonec to dopadlo tak, ze jsem tam rozjel Wiregurad a usetril jsem si hodne casu a nervu ;-)
Podpora Wireguardu je super, appky jsou jak pro Widle, Linux, Android, iOS, takze je to vazne v klidu.... kdyby cokoliv, klidne napis, ale ja bych uz do IKEv2 nesel
Mej se
Mijos
-
Ahoj,
díky, do wireguard se mi moc nechce, obecně nemám rád nesystémové klienty. A nechci přejít na ROS7, protože se určitě něco rozbije.
V IPsec je Mode configs, který mám a je tam v "Split include:" uedeno 0.0.0.0/0
V IP Firewall Filteres Rules vidím, že pakety od klienta přicházejí na, ale pak už nejdou do Internetu. Někdy mizí.
A v logu vypadají jako ty spávné s dotazy do Internetu.
Mám i
NAT pro Src. Address 100.100.100.0/24 což je VPN pool na masquerade, ale sem už přijdou max jednotky paketů, to určitě není správně.
Jako by mezi Firewall a NAT pakety mizely.
Nějaké další nápady?
Díky
Martin
-
Taka blba otazka: a klient vie, ze VPN je default gateway, alebo poctivo routuje split VPN?
-
Ahoj,
klient je Android telefon, nemám představu jak poznat co dělá.
Ale situace je taková:
1. VPN se spojí
2. klient dostane adresu z vpn pool např. 100.100.100.191
3. klient může přistupovat na stroje v lokální síti např https://192.168.1.16/ kde běží web server
4. klient může přistupovat na stroje v lokální síti i pomocí DNS, např: http://server/ ukazující na stroj v bodu 3 funguje
--------
Klient nemůže vůbec na web:
Klient nemůže na např https://www.root.cz/
Klient nemůže ani na https://91.213.160.188/ což je to opět root
v těchto případech chyba:
This site cant be reached.
To mě vede k názoru, že se pakety někte v routeru zahazují, ale nemůžu přijít na to kde.
VPN běžící na routeru ale funguje.
Každý nápad vítám.
Díky
Martin
-
Poslední řádek má být DNS běžící v lokální síti. DNS evidentně funguje, překládá adresy pro lokální sít.
Stejnou DNS používají i ostatní počítače v síti a těm funguje vše, lokální sít i internet.
Funguje i L2TP/IPsec VPN, která běží současně pro ty klienty co to ještě umí.
-
nemám to na mikrotiku, ale bude to podobné:
-A POSTROUTING -s 10.0.X.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT
-A POSTROUTING -s 10.0.X.0/24 -o eth0 -j MASQUERADE
-
Poslední řádek má být DNS běžící v lokální síti. DNS evidentně funguje, překládá adresy pro lokální sít.
Stejnou DNS používají i ostatní počítače v síti a těm funguje vše, lokální sít i internet.
Funguje i L2TP/IPsec VPN, která běží současně pro ty klienty co to ještě umí.
Ked to ide na L2TP a nejde na IKEv2, pozrel by som este prislusnu ipsec policy (src-address/dst-address) a profil (ma nat-traversal=yes?)
-
Video návod vypadá OK. Vypadá jak "přepis" ukázkové cfg z https://wiki.mikrotik.com/wiki/Manual:IP/IPsec#Road_Warrior_setup_using_IKEv2_with_RSA_authentication
Chybí v něm detail typu, aby nedocházelo k NATování spojení navazovaných z LAN směrem v VPN klientům ( https://wiki.mikrotik.com/wiki/Manual:IP/IPsec#NAT_and_Fasttrack_Bypass ), ale pro spojení iniciovaná od VPN klienta do LAN/WAN to není potřeba.
Že v NAT maškarádě od VPN klienta vidíš v počítadle jen pár paketů, tak to je OK, protože se ti započítá jen prnví paket každého spojení jdoucího ven a protože ti nedojde odpoveď správně zpět, tak tam toho moc nebude.
Pokud je cfg opravdu správně (na ROS7.10, v režimi IPsec Xauth PSK mi to proti nějakému historickému Android telefonu jede na první pokus OK, ještě neumí IKEv2), tak bych nevylučoval problém v tom ROS6. Starší ROSy (obecně linux kernely) měly problém se situací, kdy jeden stroj zároveň ukončoval IPsec tunel a dělá NAT nad daty v tom tunelu (v podstatě neprobíhalo úplně správně kolečko popsané v https://wiki.mikrotik.com/wiki/Manual:Packet_Flow#IPsec_Encryption/Decryption ). V případě L2TP/IPsec VPN vše jede OK, protože tok dat je úplně jiný.
( Ve videonávodu se mi nelíbí to použití 100.100.100.x pro VPN klienty, to je segment pro operátory a třeba O2 ho používá a může to udělat zbytečný konflikt. Pokud máš v LAN defaultní mikrotikové 192.168.88.0/24, tak bych na VPN klienty použil třeba 192.168.89.0/24. )
-
Díky za rady,
NAT Traversal je zapnutý
s postrouting pravidly nevím co si počít, zkusil jsem je dat do Mangle , ale tam nelze nastavit MASQUERADE.
Asi to prostě nevyřeším, to mě dost mrzí, když se mi už povedlo se přes tu VPN i přihlásit.
Udělal jsem log pro to NAT pravidlo pro VPN a jsou tam pakety (asi 4 po sestavení VPN) jen pro lokální sít a nic pro internet.
Takže to co patří do internet tu se tam vůbec nedostane.
Mám to na ROS6.49.8
Je klidně možné, že je to problém v RouterOS.
Alespoň mi funguje přístup na lokální stroje, teda až na služby co se ověřují do internetu na klientu.
To je pro mně použitelné i takto.
Ale pokud ještě někoho něco napadne, tak sem s tím.
Díky
Martin
-
A co takhle jit k veci ...
ip ro ls je to co potrebujes = vypis rout (z klienta i mikrotika). Teprve pak nasleduje cokoli dalsiho.
Dalsi vec je, jestli chces, aby klient lez na internet pres tu vpn nebo naprimo.
-
Díky,
cílem je client do internetu přes VPN
Aktuálně připojený klient nemá přístup na internet všechn provoz jede přes VPN, kde se ten do Internetu "někdy ztratí".
Routy vypadají takto:
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADS 0.0.0.0/0 pppoe-out1 1
1 ADC 10.0.0.0/24 10.0.0.2 ether1-gateway 0
2 ADC 89.24.145.107/32 46.13.84.248 pppoe-out1 0
3 ADC 100.100.100.0/24 100.100.100.1 ike2-bridge 0
4 ADC 192.168.1.0/24 192.168.1.1 bridge-local 0
5 ADC 192.168.2.0/24 192.168.2.1 bridge-separate 0
Přijde mi to OK,
bridge-local i bridge-separate mají oba přístup do internetu, ale ne mezi sebou. Ten bridge-separate je pro hosty na wifi.
Martin
-
A co klient ... pokud chces provoz pres vpn, musi mit defaultroutu namirenou do vpn.
Na provoz se muzes mrknout trebas tak https://www.i4wifi.cz/cs/faq/238-analyza-a-ladeni-siti-pres-mikrotik , ale nejdriv si over tu routu na klientovi.
Dalsi v poradi je firewall/nat.
Apropos, na telefonu trebas termux (to je takovej virtualni tucnak, do kteryho si muzes dat vsechny nastroje ktere treba).
-
Díky,
telefon routu asi má
na forward pravidle v Filter Rules pro spojení VNP vidím
lokální příchozí provoz od klienta např:
ikev2-forward- forward: in:bridge-local out:bridge-local, src-mac 68:4a:e9:89:21:14, proto TCP (SYN), 100.100.100.199:42206->192.168.1.16:853, len 64
a ten funguje včetně odpovědí klientovi
a také vidím odchozí provoz do Internetu
ikev2-forward- forward: in:bridge-local out:pppoe-out1, src-mac 68:4a:e9:89:21:14, proto TCP (ACK), 100.100.100.199:55700->142.250.27.188:5228, NAT (100.100.100.199:55700->verejnaIP:55700)->142.250.27.188:5228, len 52
a ten nefunguje, zřejmě klient nikdy nedostane odpověď ?? (verejnaIP nahrazuje adresu)
To je asi podstata mého problému.
v Connection jsou pak dvě navázaná spojení
jedno na
142.250.27.188 established ale jen 9/20 paket
a obě po timeoutu zmizí.
Díky
Martin
-
co si to usnadnit a prejit na L2TP/IPsec ?
integrovany klient je snad vsude, wokna, macos, ios, android, linux
-
...
a ten nefunguje, zřejmě klient nikdy nedostane odpověď ?? (verejnaIP nahrazuje adresu)
...
Na provoz se divej na rozhrani do netu, pokud ho najdes tam, tak ti funguje routovani. A je ten odchozi provoz vybalenej z toho ipsecu? To bys videl trebas v tom wiresharku (pokud v oznaceni protokolu uvidis ESP je to zasifrovany).
-
Ahoj,
po delší době jsem se k problému vrátil a děkuji mijosek, že to svým starým postem vlastně vyřešil.
Takže pro Android se musí v IPSec nastavit Mode Configs nastavit opravdu Split include: 0.0.0.0/24
Ale musí tam být jen jeden Split include: 0.0.0.0/24, opravdu nestačí takto celou síť přidat. Musí se původní nastavení pro pouze lokální síť smazat.
Díky všem za snahu.
Vyřešeno.