Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno MikroTik - VPN Client pro určité lokální IP

Zdravím, rád bych se zeptal, jestli lze v routerOS dosáhnout vzorové situace.

Mám 5 počítačů ve vnitřní síti. Venku mám pět VPN serverů, do kterých chci připojit počítače z lokální sítě. Na každý server chytit jeden pc z vnitřní sítě. PC1->VPN1,PC2->VP2,... Lze nastavit, aby pro určité IP adresy v lokální síti (konkrétních pět počítačů) byla použita routa pěti VPN klientů, které nakonfiguruju v routeru? Na interface to tuším lze, ale jde i přímo na IP nebo je to totální blbost?

Díky za každý nápad.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
edit: a už vůbec nehovořím o tom, že jsi "opomněl" přiložit routovací tabulku toho VPN boxu. Zapomín…
mmfmoc 02.01.2014 13:22
mmfmoc
zase jsi zkysnul u firewallu, ale problém máš v routingu. http://pc.poradna.net/a/view/308346-jak-d…
touchwood 02.01.2014 13:32
touchwood
Směrovací tabulka toho boxu je Adresát Brána Maska Přízn Metrik Odkaz Užt Rozhraní default 1-37.xxx…
mmfmoc 02.01.2014 13:58
mmfmoc
no vidíš. 1. Box nemá vůbec routu pro síť 192.168.10.0/24 2. Mikrotik má jen routu pro desítkovou s…
touchwood 02.01.2014 16:47
touchwood
Selektivní routu mohu vytvořit pomocí mangle pravidla a mark routingu? A na boxu mám nastavit gw pr…
mmfmoc 02.01.2014 18:50
mmfmoc
ad PBR: Policy_Base_Routing ad routing: to záleží, jak chceš, aby co kam šlo. Aktuálně (tak jak to…
touchwood 02.01.2014 20:02
touchwood
Už jsem v tom úplně ztracený. Když čtu ten návod na wiki - nestačilo by tedy jen směrovat pomocí PBR…
mmfmoc 02.01.2014 20:25
mmfmoc
jasně, nasměrovat si můžeš cokoli. ;-) (přiznám se, že jsem se už ztratil, co vlastně chceš dosáhnou…
touchwood 02.01.2014 21:10
touchwood
Asi bude lepší to zkusit tedy popsat ještě jednou. Zkusím to i lépe nakreslit. Kašlu na L2TP a udělá…
mmfmoc 02.01.2014 22:17
mmfmoc
pokud jsem dobře četl ten mikrotik, tak ano, MTik máš IMHO správně. Ale! Ve VPS stále nevidím správ…
touchwood 03.01.2014 08:54
touchwood
Nic jiného jsem neměnil, jen jsem přidal routy do tabulky na VPS: í default 1-37.xxxxx.net 0.0.0.0…
mmfmoc 03.01.2014 14:54
mmfmoc
Jenom takovy napad. Je vubec PPtP VPN schopna prenaset libovolne pakety libovolnych siti? Neni to ne…
JR_Ewing 03.01.2014 15:19
JR_Ewing
traceroute 46.xx.yy.99 skončí u 192.168.0.2, dál je request timed out. traceroute 10.0.99.10 neprojd…
mmfmoc 03.01.2014 15:32
mmfmoc
Tak wireshark na mtiku na eth0: když pingnu 46.xx.yy.99, pakety se src 192.168.0.111 jdou jen tam, r…
mmfmoc 03.01.2014 18:19
mmfmoc
já bych šel ověřenou cestou OpenVPN. http://wiki.mikrotik.com/wiki/OpenVPN#Why_to_use_O penVPN_.3F
touchwood 03.01.2014 18:46
touchwood
No, upřímně, pro pokus bych se úplně vyprdnul na VPN a zkusil to přes GRE tunel, ten sice není zabez…
JR_Ewing 03.01.2014 18:54
JR_Ewing
To bude právě problém. Na jednom konci veřejná adresa není. O2 je už nějaký čas nedává ke každé linc…
mmfmoc 03.01.2014 23:57
mmfmoc
Fuuu, tak konečně úspěch. Běhá to! Prohnal jsem to L2TP tunelem. Ještě jsem měl problém s DNS - ms-…
mmfmoc 04.01.2014 01:16
mmfmoc
Tak té otázce moc nerozumím, snad je na tobě, jaké DNS servery bude používat jaký server. Podle toho…
JR_Ewing 04.01.2014 19:16
JR_Ewing
Jde o to, že bez DNS překladu v MTiku mi jde ping z 192.168.0.111 přes tunel a VPN box jen ip adresy… nový
mmfmoc 04.01.2014 19:35
mmfmoc
Není problém mít v DHCP přidělený DNS server, který je až za tunelem. Případně ho ručně nastavit v s… nový
JR_Ewing 04.01.2014 21:28
JR_Ewing
Tohle já vím, tady opět ale narážíme na to, že část klientů ve vnitřní síti má gateway klasicky přes… poslední
mmfmoc 05.01.2014 00:12
mmfmoc

edit: a už vůbec nehovořím o tom, že jsi "opomněl" přiložit routovací tabulku toho VPN boxu. Zapomínáš, že defaultní routy, tak jak ti je sestaví systém pro místní subnety a výchozí bránu naprosto nestačí!

default via 46.xx.yy.1 dev eth0
46.xx.yy.0/24 dev eth0 proto kernel scope link src 46.xx.yy.99
192.168.10.10 dev ppp0 proto kernel scope link src 192.168.10.1

IP tables
:PREROUTING ACCEPT [47:4105]
:INPUT ACCEPT [15:1879]
:OUTPUT ACCEPT [12:739]
:POSTROUTING ACCEPT [12:739]
-A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
COMMIT

Se současným nastavením to chápu tak, že se provoz z 192.168.0.111 na mém mikrotiku 192.168.0.2 překlopí pomocí src-nat na 192.168.10.10. V routovací tabulce je pro tuto adresu natavena jako gateway L2TP tunel. Po průchodu tunelem se kvůli maškarádě na vpn boxu překlopí na 192.168.10.1 a díky routě projde přes 46.xx.yy.99, potažmo přes 46.xx.yy.1 ven do internetu. Pro provoz který přijde zpět na 46.xx.yy.99 je to opačné. Mýlím se snad? :-) Nejspíše ano, ale netuším ve které části.

Samozřejmě bych se rád dostal do hlubšího náhledu na věc, bohužel však z manuálů nic moc nevyčtu. Čím tedy začít? Nějaká hodnotná literatura? :-)

zase jsi zkysnul u firewallu, ale problém máš v routingu.

http://pc.poradna.net/a/view/308346-jak-diagnostik ujeme-a-resime-problemy-se-sitovymi-pripojenimi-di l-ii-routing-smerovani

Rád bych tu routovací tabulku viděl, a to na obou koncích. podle mě tvá teorie neodpovídá realitě, protože se maškaráduje úplně někde jinde, než si myslíš. ideální bude když to namaluješ a vyznačíš natování, protože pak většinou zjistíš, kde máš problém.

Směrovací tabulka toho boxu je

Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
default         1-37.xxxxxx.net 0.0.0.0         UG    0      0        0 eth0
localnet        *               255.255.255.0   U     0      0        0 eth0
192.168.10.10   *               255.255.255.255 UH    0      0        0 ppp0

a na mikrotiku je to

Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
 0 ADS  0.0.0.0/0                          88.xxx.yyy.44             1
 1 ADC  88.xxx.yyy.44/32   85.xx.y.155     ADSL                      0
 2 ADC  192.168.0.0/24     192.168.0.2     LAN_PORTS                 0
 3 ADC  192.168.10.1/32    192.168.10.10   L2TP_xxxxxxxxx.net        0

// edit: Je to trochu změť, ale při vložení příspěvku to vymaže to mezery..

musíš to dát do "code" :-)(touchwood)

no vidíš.

1. Box nemá vůbec routu pro síť 192.168.10.0/24
2. Mikrotik má jen routu pro desítkovou síť, ale zbytek routuje rovnou do inetu (tj. chybí ti buď policy routing, nebo selektivní routa nebo default routa do VPN)

Selektivní routu mohu vytvořit pomocí mangle pravidla a mark routingu?

A na boxu mám nastavit gw pro 192.168.10.0/24 na 1-37.xxxxx.net, že?

// edit: na boxu jsem tedy vytvořil routu pro desítkový subnet

Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
default         1-37.xxxxx.net  0.0.0.0         UG    0      0        0 eth0
localnet        *               255.255.255.0   U     0      0        0 eth0
192.168.10.0    *               255.255.255.0   U     0      0        0 ppp1
192.168.10.10   *               255.255.255.255 UH    0      0        0 ppp1

ad PBR:
Policy_Base_Routing

ad routing: to záleží, jak chceš, aby co kam šlo. Aktuálně (tak jak to máš nastaveno) bude fungovat pouze směr MTik -> 192.168.10.0/24 a ještě blbě, protože to máš blbě nastavené na druhé straně (tam musíš nasměrovat obě sítě 192.168.10.0/24 a 192.168.1.0/24 do tunelu. Pokud to nechceš řešit dál, budeš muset na serveru v internetu použít obousměrný NAT 1:1

Už jsem v tom úplně ztracený. Když čtu ten návod na wiki - nestačilo by tedy jen směrovat pomocí PBR všechen trafik do tunelu? Tak jako to dělají v tom návodu, jen s tím rozdílem, že nebudu posílat jen pakety obsahující něco, ale všechny, které mají zdrojovou adresu 192.168.0.111? Potom by stačila na tom boxu obyč. maškaráda, ne?

// edit: všechen trafik z 192.168.0.111 jsem měl na mysli. Z ostatních klientů by šel normálně defaultní routou směrem k poskytovateli.

Asi bude lepší to zkusit tedy popsat ještě jednou. Zkusím to i lépe nakreslit. Kašlu na L2TP a udělám to jednoduše přes PPTP.
Takhle je to teď
[current.jpg]
A takhle to chci
[desired.jpg]

Začínám s nastavením na prvním obrázku.
Routovací tabulka v mikrotiku

 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
0 ADS  dst-address=0.0.0.0/0 gateway=88.xxx.yyy.44 gateway-status=88.xxx.yyy.44 reachable via  ADSL distance=1 scope=30 target-scope=10 
1 ADC  dst-address=88.xxx.yyy.44/32 pref-src=85.xx.y.155 gateway=ADSL gateway-status=ADSL reachable distance=0 scope=10 
2 ADC  dst-address=192.168.0.0/24 pref-src=192.168.0.2 gateway=LAN_PORTS gateway-status=LAN_PORTS reachable distance=0 scope=10 

NAT

0   chain=srcnat action=masquerade src-address=192.168.0.0/24

================================================== ==============

Tak a teď jak docílit druhého obrázku. Tedy aby všechen trafik z client1 putovat přes VPS, tedy přes PPtP tunel.

Pomocí PBR mě napadá jednoduché řešení a to tedy:
Vytvořím klienta PPtP

5  X  name="PPTP_plsikover.hukot.net" type="pptp-out" 

Addresses

 0   address=192.168.0.2/24 network=192.168.0.0 interface=LAN_PORTS actual-interface=LAN_PORTS 
 1 D address=85.xx.y.155/32 network=88.103.200.44 interface=ADSL actual-interface=ADSL 
 2 D address=10.0.99.10/32 network=46.xx.yy.99 interface=PPTP_xxxx.yyyy.net actual-interface=PPTP_xxxx.yyyy.net

Vytvořím mangle pravidlo na mikrotiku takto

 0   chain=prerouting action=mark-routing new-routing-mark=VPN_Tunnel passthrough=yes src-address=192.168.0.111

Přidám statickou routu takto

0   S  dst-address=0.0.0.0/0 gateway=PPTP_xxxx.yyyy.net gateway-status=PPTP_xxxx.yyyy.net reachable distance=1 scope=30 target-scope=10 routing-mark=VPN_Tunnel 
1 ADS  dst-address=0.0.0.0/0 gateway=88.xxx.yyy.44 gateway-status=88.xxx.yyy.44 reachable via  ADSL distance=1 scope=30 target-scope=10 
2 ADC  dst-address=88.xxx.yyy.44/32 pref-src=85.xx.y.155 gateway=ADSL gateway-status=ADSL reachable distance=0 scope=10 
3 ADC  dst-address=192.168.0.0/24 pref-src=192.168.0.2 gateway=LAN_PORTS gateway-status=LAN_PORTS reachable distance=0 scope=10

Tohle samo o sobě by mi dle mého mělo routovat veškerý trafik ze 192.168.0.111 do tunelu.

Na druhé straně (tedy na VPS, potažmo PPtP serveru) nastavím maškarádu a ipv4.forward. Mělo by to jet. Nebo je tam potřeba přidávat také statická routa?
Aktuální routovací tabulka na VPS

Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
default         1-37.xxxxx.net  0.0.0.0         UG    0      0        0 eth0
10.0.99.10      *               255.255.255.255 UH    0      0        0 ppp0
localnet        *               255.255.255.0   U     0      0        0 eth0

iptables

-A POSTROUTING -o eth0 -j MASQUERADE

=================================================

Tak, snad jsem teď poskytnul dostatek informací, abychom to dotáhli do nějakého konce :-)

pokud jsem dobře četl ten mikrotik, tak ano, MTik máš IMHO správně.

Ale! Ve VPS stále nevidím správnou routovací tabulku, síť 10.0.99.0/24 má routu pouze pro hosta (UH), nikoli pro síť (UG), takže bys tam měl mít i něco jako

ip route add 192.168.0.0/24 dev ppp0
ip route add 10.0.99.0/24 dev ppp0

Musíš si představit, že jsi paket co dorazil na VPS z inetu. NAT jej zprocesuje, ale kam jej router v jádře pošle dál, když NAT říká, že jej má odeslat na IP 192.168.0.111? ;-)

Nic jiného jsem neměnil, jen jsem přidal routy do tabulky na VPS:

í
default         1-37.xxxxx.net  0.0.0.0         UG    0      0        0 eth0
10.0.99.0       *               255.255.255.0   U     0      0        0 ppp0
10.0.99.10      *               255.255.255.255 UH    0      0        0 ppp0
localnet        *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 ppp0

Stejně to nejede, když pingnu třeba na na 46.xx.yy.99, tak je vidět, že někam ven jde trafik (na grafu rozhraní PPTP v mikrotiku), ale nic se nevrací. Stejně tak, když pingnu třeba google. Směrem tam to projde, ale nic se nevrátí. Přitom bych řekl, že ty routy už jsou teď správně.

Jinak díky za správné navedení, přesně něco takového bych potřeboval. Nějakou literaturu, kde to takhle polopaticky vysvětlujou: kdy se změní adresát na jakého, kdy se paket koho ptá kam se má odeslat atd. atd. Prostě celá cesta sítí, ale polopaticky.

Jenom takovy napad. Je vubec PPtP VPN schopna prenaset libovolne pakety libovolnych siti? Neni to neco jako policy based VPN u IPSecu, kde je presne definovane, jaky provoz muze tou VPN prochazet?

traceroute 46.xx.yy.99 skončí u 192.168.0.2, dál je request timed out.
traceroute 10.0.99.10 neprojde vůbec 192.168.0.2 a skončí na druhém řádku 10.0.99.10

Tracing route to 10.0.99.10 over a maximum of 30 hops

  1     *     30 ms     *     10.0.99.10
  2    96 ms  68 ms    50 ms  10.0.99.10

Trace complete.

Wireshark zkusím, uvidím, co vyhodí.

//edit: tracert posílám z 192.168.0.111

Další zájímavá věc je, že nepingnu ani z VPS na 10.0.99.10, takže už tomu vůbec nerozumím. Přeci, když je klient připojený a má IP 10.0.99.10, tak na něj musím z boxu pingnout.

Tak wireshark na mtiku na eth0: když pingnu 46.xx.yy.99, pakety se src 192.168.0.111 jdou jen tam, reply žádná.

Nikoho už nic nenapadá? Už jsem na tom strávil tolik času, že by mě dost otrávilo, kdybych to stejně nerozchodil :-(

Jenom takovy napad. Je vubec PPtP VPN schopna prenaset libovolne pakety libovolnych siti? Neni to neco jako policy based VPN u IPSecu, kde je presne definovane, jaky provoz muze tou VPN prochazet?

Tak mohl bych to tam protlačit přes L2TP, jen si nejsem jist, jestli to není víc problémů než užitku.

No, upřímně, pro pokus bych se úplně vyprdnul na VPN a zkusil to přes GRE tunel, ten sice není zabezpečený (otázkou je, jestli je to vůbec potřeba), ale na 100% bude fungovat a nebude vůbec nic omezovat. Podmínkou je ovšem veřejná adresa na obou koncích.

Fuuu, tak konečně úspěch. Běhá to!

Prohnal jsem to L2TP tunelem. Ještě jsem měl problém s DNS - ms-dns mám nastavené v konfiguráku xl2tpd na boxu správně - nevím, proč jich tunel nevyužívá. Nebo možná tunel ano, ale 192.168.0.111 ne. Což je vlastně logické. Vyřešil jsem to povolením DNS serveru na MTiku.

Zítra sepíšu komplet návod, jak jsem to nastavil, aby to běhalo, kdyby to někdo v budoucnu potřeboval. Díky za rady pánové, nakonec mě přeci jen dovedly k cíli.

PS: Kdyby někdo věděl, jak na Mtiku nastavit, aby 192.168.0.111 používal DNS servery, jako tunel, klidně ještě nějakou radu. Myslím, že by bylo čistší řešení používat DNS servery VPN boxu.

Tak té otázce moc nerozumím, snad je na tobě, jaké DNS servery bude používat jaký server. Podle toho, jaké tam nastavíš.

Jde o to, že bez DNS překladu v MTiku mi jde ping z 192.168.0.111 přes tunel a VPN box jen ip adresy, třeba 173.194.113.66 pro google. Když dám ping google.com, nenajde ho.

Podle mě je to způsobeno proto, protože dostal IP adresu od DHCP serveru, který si bere informace od DNS z ADSL linky, tedy DNS servery O2. Nicméně, protože gateway pro 192.168.0.111 je nastavena do tunelu, vůbec se k těm DNS O2 nedostane.

Samozřejmě bych mohl přímo na stanici 192.168.0.111 nastavit natvrdo DNS servery VPN boxu, ale to už by zase bylo v systému. Já to chci mít všechno na jednom místě v MTiku, abych nemusel neustále měnit nastavení pro každou stanici zvlášť při jakékoliv nepatrné změně.

L2TP klient na MTiku má DNS správně, tedy VPN Boxu, nicméně nevím, jak docílit, aby tyto DNS měl automaticky i 192.168.0.111. Pokud to vůbec lze.

Není problém mít v DHCP přidělený DNS server, který je až za tunelem. Případně ho ručně nastavit v serveru, jak linux, tak windows toto umožňují (tedy IP z DHCP, ale DNS fixně).

Tohle já vím, tady opět ale narážíme na to, že část klientů ve vnitřní síti má gateway klasicky přes O2.

ad2: To také vím a jak jsem psal, nechci to dělat systémově. Jistě, několik pc takto nastavit lze, ale jestli se mi projekt rozjede, nehodlám na několika desítkách systémů měnit DNS.

Nejjednodušší tedy bude asi nechat dělat MTik DNS server.

Zpět do poradny Odpovědět na původní otázku Nahoru