Připojení k OpenVPN přes klienta

TKL

Re:Připojení k OpenVPN přes klienta
« Odpověď #30 kdy: 12. 06. 2018, 21:58:11 »
Pokud je OpenVPN nakonfigurována s TUN rozhraním, chcete se dostat na IP 192.168.1.100, ne na 10.8.0.1.
U tunelu adresy 10.8.0.x slouží jen k jeho navázání. Na WRT potřebujete jen routu do sítě 192.168.1.0 přes TUN.
Kdybyste místo OpenVPN použil raději IPsec a tunel navazoval už s Mikrotikem, bylo by to celé mnohem jednodušší.


TKL

Re:Připojení k OpenVPN přes klienta
« Odpověď #31 kdy: 12. 06. 2018, 22:01:30 »
Mimochodem, hodně vám pomůže traceroute.

Karlosek

Re:Připojení k OpenVPN přes klienta
« Odpověď #32 kdy: 12. 06. 2018, 23:21:11 »
Vy pořád chcete konfigurovat VPN klienta, ale on má tunel. Mícháte jabka s hruškami a ještě jen v teoretické rovině. Já jsem napsal funkční, čistý a v praxi ověřený postup.
Tim končím svou účast v této nyní již zbytečné debatě.
Tak jsem udělal z jablek a hrušek praktický kompot a funguje skvěle.
Server openvpn na TUN. Klient nainstalovaný sice v lokální síti, ale zakázaná komunikace z KVM, kde běží jakoby ten hloupý PC přes NAT. Také bez VPN nic nepingnu, s VPN bez problémů až na server na ip vpn, je tam maškaráda automaticky na virtuálním rozhraní. Takže otázka:
Proč mi to funguje? Já běžně přistupuji na server přes jeho VPN adresu při TUN rozhraní. Pokud nechci dál do jeho LAN a to nechci.

darebacikzprace

Re:Připojení k OpenVPN přes klienta
« Odpověď #33 kdy: 13. 06. 2018, 11:34:52 »
Pokud je OpenVPN nakonfigurována s TUN rozhraním, chcete se dostat na IP 192.168.1.100, ne na 10.8.0.1.
U tunelu adresy 10.8.0.x slouží jen k jeho navázání. Na WRT potřebujete jen routu do sítě 192.168.1.0 přes TUN.
Kdybyste místo OpenVPN použil raději IPsec a tunel navazoval už s Mikrotikem, bylo by to celé mnohem jednodušší.
No da sa povedat, ze ano. Ja to beriem tak, ze 192.168.1.100 je vlastne 10.8.0.1 (z pohladu hlupeho stroja), cize ANO potrebujem sa dostat na 192.168.1.100.
Ak by som bol v LAN sieti, kde je OpenVPN server a chcel by som komunikovat z 192.168.1.100, tak samozrejme pouzijem jeho realnu IP adresu. Ale kedze hlupy stroj je za horami za dolami, tak musim k tomu stroju pristupovat cez 10.8.0.1.
Uz sa opakujem. Ale ako to mam poriesit, potrebujem vytvorit v openwrt medzi lan a tun, alebo routu, alebo ... ?

TKL

Re:Připojení k OpenVPN přes klienta
« Odpověď #34 kdy: 13. 06. 2018, 12:14:03 »
Pokud je OpenVPN nakonfigurována s TUN rozhraním, chcete se dostat na IP 192.168.1.100, ne na 10.8.0.1.
U tunelu adresy 10.8.0.x slouží jen k jeho navázání. Na WRT potřebujete jen routu do sítě 192.168.1.0 přes TUN.
Kdybyste místo OpenVPN použil raději IPsec a tunel navazoval už s Mikrotikem, bylo by to celé mnohem jednodušší.
No da sa povedat, ze ano. Ja to beriem tak, ze 192.168.1.100 je vlastne 10.8.0.1 (z pohladu hlupeho stroja), cize ANO potrebujem sa dostat na 192.168.1.100.
Ak by som bol v LAN sieti, kde je OpenVPN server a chcel by som komunikovat z 192.168.1.100, tak samozrejme pouzijem jeho realnu IP adresu. Ale kedze hlupy stroj je za horami za dolami, tak musim k tomu stroju pristupovat cez 10.8.0.1.
Uz sa opakujem. Ale ako to mam poriesit, potrebujem vytvorit v openwrt medzi lan a tun, alebo routu, alebo ... ?

Už fakt nevím, jak to napsat, abyste to pochopil...
Ne, vy nechcete přistupovat na adresu 10.8.0.1, vy chcete přistupovat na adresu 192.168.1.100. Právě ten tunel vám toto umožňuje. To je to míchání jablek s hruškami, o kterém jsem psal. Vy nemáte klasickou bridgovanou VPN, kdy vzniká síť se samostatným IP rozsahem, který přiděluje VPN. Vy máte tunel, tzn. propojujete dvě vzdálené sítě. Tudíž chcete přistupovat na reálnou LAN IP adresu toho vzdáleného serveru. Na ty z rozsahu 10.8.0.X zapomeňte, ty slouží jen k navázání tunelu. Kdybyste tunel začínal už na Mikrotiku a použil IPsec, tak ho navazujete dokonce na veřejných IP adresách, ale taky byste přistupoval na LAN adresu. Proto jsem psal: pokud máte OpenVPN nakonfigurovánu na TUN rozhraní, které je ROUTOVANÉ, tak musíte přistupovat na tu 192.168.1.100 a aby to fungovalo, je třeba podle toho nastavit na serveru firewall.


TKL

Re:Připojení k OpenVPN přes klienta
« Odpověď #35 kdy: 13. 06. 2018, 12:18:57 »
Vy pořád chcete konfigurovat VPN klienta, ale on má tunel. Mícháte jabka s hruškami a ještě jen v teoretické rovině. Já jsem napsal funkční, čistý a v praxi ověřený postup.
Tim končím svou účast v této nyní již zbytečné debatě.
Tak jsem udělal z jablek a hrušek praktický kompot a funguje skvěle.
Server openvpn na TUN. Klient nainstalovaný sice v lokální síti, ale zakázaná komunikace z KVM, kde běží jakoby ten hloupý PC přes NAT. Také bez VPN nic nepingnu, s VPN bez problémů až na server na ip vpn, je tam maškaráda automaticky na virtuálním rozhraní. Takže otázka:
Proč mi to funguje? Já běžně přistupuji na server přes jeho VPN adresu při TUN rozhraní. Pokud nechci dál do jeho LAN a to nechci.

Ale já jsem přece nikdy netvrdil, že vám to nebude fungovat. Na světě určitě existuje spousta lidí, kteří se dokáží poškrábat levou nohou za pravým uchem a připadá jim to jako skvělý nápad. Klidně se plácejte po rameni, jak jste to vymyslel, ale to budete dělat jen do chvíle, kdy se to začne chovat nepředvídatelně, nebo kdy k tomu přijdete po 5 letech (vy, nebo nedejbože někdo jiný) a budete se divit, proč to funguje tak divně napůl a ne tak, jak by člověk z logiky věci předpokládal. Ne nadarmo máme nějaké best practices, aby se věci dělay tak, jak mají, místo aby se bastlily.

uf

Re:Připojení k OpenVPN přes klienta
« Odpověď #36 kdy: 13. 06. 2018, 12:22:41 »
Bože, to je furt dokola.

Hloupý stroj zná jen svou adresu 192.168.80.100/24 a bránu 192.168.80.1, kterou má použít pro cokoliv mimo svou síť. To asi funguje.

Adresa 192.168.80.1 patří WRT a WRT je připojeno mj. k síti 10.8.0.0/24. WRT musí umět a mít povolený forwarding (aspoň) mezi sítěmi 192.168.80.0/24 a 10.8.0.0/24. To snad taky funguje.

Takže pravděpodobně funguje i putování paketu z hloupého stroje (192.168.80.100) do serveru VPN (10.8.0.1) (přes WRT 192.168.80.1 a 10.8.0.140). Řeší se problém s navrácením odpovědi, komunikace bez zpátečního paketu vypadá jako kompletně nefunkční. Řešení se nabízejí 2:
1) Do WRT přidáš maškarádu pro pakety směřující do VPN.
2) Do serveru VPN přidáš směrování paketů 192.168.80.0/24 přes bránu 10.8.0.140.

TKL

Re:Připojení k OpenVPN přes klienta
« Odpověď #37 kdy: 13. 06. 2018, 12:35:44 »
https://wiki.mikrotik.com/wiki/Manual:IP/IPsec#Site_to_Site_IPsec_tunnel

Princip je naprosto stejný, u vás ty VPN adresy 10.8.0.X jen nahrazují veřejné IP adresy a jinak vás nemusí zajímat.

Karlosek

Re:Připojení k OpenVPN přes klienta
« Odpověď #38 kdy: 13. 06. 2018, 17:54:13 »
Ale já jsem přece nikdy netvrdil, že vám to nebude fungovat. Na světě určitě existuje spousta lidí, kteří se dokáží poškrábat levou nohou za pravým uchem a připadá jim to jako skvělý nápad. Klidně se plácejte po rameni, jak jste to vymyslel, ale to budete dělat jen do chvíle, kdy se to začne chovat nepředvídatelně, nebo kdy k tomu přijdete po 5 letech (vy, nebo nedejbože někdo jiný) a budete se divit, proč to funguje tak divně napůl a ne tak, jak by člověk z logiky věci předpokládal. Ne nadarmo máme nějaké best practices, aby se věci dělay tak, jak mají, místo aby se bastlily.
Ale radíte někomu, kdo si ve volném čase hraje a zkouší něco nového. Nejste ve firmě, kde to musí běžet na první našlápnutí bez chyby. Já když něco zkouším, mám obrovskou radost, když to začne fungovat a pak na to vymýšlím best practice. Sice jste tu perfektně popsal rozdíl mezi TUN/TAP a dal příklady na ipsec a shorewall, ale jaksi mu to moc nepomohlo. Já dám příklad na iptables a openvpn.

Takže na serveru musí být toto:
dle best-praktice
Kód: [Vybrat]
push "route $rozsah_lan_serveru maska" - to řeší přístup na reálnou IP serveru. Na klientu pak bude v konfigu
Kód: [Vybrat]
pullNa server ještě možná
Kód: [Vybrat]
topology subnet, ale mě to funguje i na default
Pak na serveru v iptables (záleží na výchozích politikách) povolit nejlépe vše (INPUT z eth a tun, OUTPUT, FORWARD tun a eth) to není dle best practices, ale důležité je to rozběhat. Ideálně dát pravidla jako první. To je na serveru vše, tak to mám já a přistupuju i do LAN za serverem.
Na klientu je potřeba jen v konfigu pull (viz výše), v iptables jen nat, tam máte politiky na accept
Kód: [Vybrat]
iptables -t nat -A POSTROUTING -o $VPN -j MASQUERADEPokud toto nebude fungovat budeme hledat dál. Tohle řeší jak přístup na server pod LAN adresou, tak směrování na obou stranách.
No a nebo se na to vyprdněte, přejděte na ipsec a shorewall, nebo si najměte odborníka, který "tomu rozumí". Je to tak správně?

TKL

Re:Připojení k OpenVPN přes klienta
« Odpověď #39 kdy: 13. 06. 2018, 19:09:28 »
Já jsem popsal obecný postup, jak zprovoznit to, co tazatel požaduje, jestli provoz šifruje IPsec nebo OpenVPN nehraje roli. Snažil jsem se vysvětlit, jak tunel, který si postavil, funguje. Že musí přistupovat na vzdálenou LAN IP a bude to fungovat jak potřebuje. On to měl od začátku téměř správně, jen k tomu přistupoval logikou client to server místo site to site. Nefunguje mu to asi proto, že ten můj postup ani nevyzkoušel.
Jinak já vám neberu váš entuziasmus, testovat si to každý může jak je mu libo, ale když někomu chci pomoci, nebudu mu přece radit řešení, o kterém sám nejsem přesvědčen nebo vím, že funguje jen na půl. Víc k tomu nemám co dodat. 

Re:Připojení k OpenVPN přes klienta
« Odpověď #40 kdy: 17. 06. 2018, 11:20:28 »
Vysledok sa dostavil a davam sem postup:
Samozrejme openvpn a openssl musi byt nainstalovane a nastaveny openvpn klient
Kód: [Vybrat]
opkg update
opkg install openvpn-openssl
Nerobil som to cez terminal, ale v luci
Kód: [Vybrat]
network -- interfaces -- add new interface
Kód: [Vybrat]
Name of the new interface - tun0
Protocol of the new interface - static address
Cover the following interface - Ethernet Adapter: "tun0"
submit
Hlavna konfiguracia pre interface tun0
v General setup
Kód: [Vybrat]
IPv4 adress 10.8.0.140
Netmask 255.255.255.0
Na ostatnych kartach sa nemusi uz nic nastavovat
Kód: [Vybrat]
save and applyFirewall
Kód: [Vybrat]
network -- firewall -- add
Name tun0
input, output, forward som nastavil na accept
Masquerading -- yes
Covered networks -- tun0
a v casti  Inter-Zone Forwarding
Kód: [Vybrat]
Allow forward to destination zones:  lan
Allow forward from source zones: lan
save apply
Po tychto nastaveniach bezi vsetko tak ako som chcel.
Na openvpn servery sa nic nemusi nastavovat.
Dakujem vsetkym zucastnenim za podporu a cenne rady