OpenVPN je fajn, ale má i své limity a nevýhody.
1, OpenVPN jede vždy přes server, přestože jinak by na sebe klienti třeba i viděli přímo. Tohle umí řešit můj oblíbený Tinc. Jde OpenVPN nakonfigurovat tak, aby automaticky vytvářel optimální mesh? Pokud ano, prosím o návod, Tinc bych opustil, taky má své mouchy.
2, wifi v hotelech, letištích, kavárnách, nemocnicích kromě omezení portů často pouští pouze některé protokoly. Jde vytvořit tunel pomocí http nebo i dns a teprve v tomto tunelu třeba otevřít VPN. Opět, pokud má někdo osvědčený nástroj, tak sem s ním. Fungovalo třeba yourfreedom nebo googlí g-bridge. Nebo na vlastním webserveru http://http-tunnel.sourceforge.net - ale tam bohužel umřel vývoj.
ad 1) nevím, nikdy jsem to neřešil, ale popravdě nezkoumal jsem fíčury posledních verze OpenVPN. Bral jsem to vždy tak, že pokud jsou klienti v (domácí) LAN, není moc důvodů tunelovat komunikaci přes VPN.
ad 2) tohle mám udělané tak, že jsou na serveru spuštěné dva OpenVPN démony, jeden běží na nativním UDP portu a druhý pak přes TCP na 443, konfigurace je stejná včetně certifikátů s rozdílem ve VPN subnetu, zbytek chování doladěn pravidly v Iptables resp. PF.
Klienti mají pak vygenerovány dva konfigurační soubory pro každý typ připojení.
Pokud to šlape přes UDP, je to efektivnější a s lepší latencí, když tohle neprojde kvůli omezení v jeho síti, připojí se klient alternativně přes TCP.
Jinak samozřejmě to jde nechat i jen přes TCP, pokud tuhle dualitu nastavení nechceš řešit a VPN má být primárně dostupná odkudkoliv.
Jde tam nastavit i přesměrování na reálný https server, který běží na tomtéž serveru jako OpenVPN, ale to beru spíš jako takovou nouzovku. Https server se spustí na jiném portu a když openvpn server zjistí, že komunikace na 443 není "jeho", tak ji přesměruje.
Ahoj,
zkuste se mrknout na Softether. Ten tunel se tváří jako HTTPS. Tak jestli je to ono.
https://www.softether.org/1-features/1._Ultimate_Powerful_VPN_Connectivity
Zároveň to umí i VPN over DNS a VPN over ICMP.
nahrada za http-tunnel by mohlo byt treba toto https://github.com/mhzed/wstunnel
akurat ze 2048bitovy kluc nie je 2x tak bezpecnejsi ako 1024 ... Faktorizovat 2048 trva o 2^32 dlhsie. Ak by si dnes dokazal faktorizovat 1024bit kluc za 1 sekundu, na 2048 budes potrebovat 136 rokov (na rovnakom zeleze). To skor sa najde nejaky breach, ale tam v principe bude jedno aky dlhy kluc mas.
Pokud chcete provozovat OpenVPN server v Docker containeru, tak už je to připravené tady:
https://hub.docker.com/r/kylemanna/openvpn/
https://github.com/kylemanna/docker-openvpn
Už to nějakou dobu používám a funguje to dobře... Navíc se dá pomocí restart policies zajistit, že vám container najede i po restartu serveru:
http://docs.docker.com/engine/reference/run/#restart-policies-restart
Myslim, ze SSH muze forwardovat pouze TCP porty. A nekdy potrebujes UDP. Taky muzes narazit, kdyz nejake zarizeni nasloucha na nejakem portu a mas tyhle zarizeni ve vzdalene siti dve a aplikace na PC natvrdo predpoklada tento port a nedovoluje nastavit jiny. Port na prvni zarizeni prostrcis. Ale na druhe zarizeni si uz musis u sebe vymyslet nejakou dalsi ip adresu..., proste VPN je VPN.
Na druhou stranu u VPN musis resit nejake routovani, coz nas laiky dokaze potrapit.
Tak googlim a doplnuji si vzdelani. O SOCKS zatim vim jen to, ze to byva podporovano ve webovych prohlizecich. A koukam na tsocks a jestli dobre hledam, tak to neumi udp. Navic mi to opet prijde jako "narovnavak na ohejbak". (?) (Samozrejme, pokud mu to funguje a staci mu to, tak neni co resit.)
Zvládá i virtuální ethernet, psalo se o i tady na Rootu před čtyřmi lety:
http://www.root.cz/clanky/stavime-tunely-v-openssh/
Tak jak je to popsáno v článku by to jelo jako PTP spojení, ale v manpage pro sshd_config je popsáno i přepnutí z výchozího stavu do emulace ethernetu (direktiva Tunnel).
Stacilo hladat. Step-by-step navod ako rozbehat opvpn je uz dlhe roky na https://openvpn.net/index.php/open-source/documentation/howto.html#pki
Dnes uverejneny je len prelozeny original + pridane veci o <ca><cert><key>
Asi jsem se nejasně vyjádřil:
Mám serveer, mám klienta, klíče atd. a klient se automaticky připojí, dostane dynamickou IP a jeho CN se zapíše do známých hostů, takže se na něj dostanu bez znalosti IP. Až sem se to dá vyčíst v návodu.
No a teď potřebuji lokální síť na straně klienta připojit také, ale nějak automaticky, bez nutnosti konfigurovat server. A také nějak automaticky přenést všechny hostnames do hosts na serveru. Zatím jen vím o možnosti každý počítač v lokální síti se připojuje jako samostatný klient a to jaksi není ono - spojení je totiž gprs.
Na pripojenie k domacej sieti pouzivam router Asus RT-N66U a RT-AC68U. Openvpn server na tychto routroch vygeneruje nastavovaci subor - max par kB.
V Androide ho jednoducho nacitam do openvpn klienta, upravim nastavenie routovania a uz to fici.
Hladal som az sa mi spotilo celo ako to takto urobit na linuxe alebo Windows ale nenasiel.
Vie niekto poradit? Dakujem
na windowse mas v baliku OpenVPN GUI. Konfigurak hodis do Program Files\OpenVPN\config\ a nazves ho ABCD.ovpn. Po spusteni GUI v http://www.viewtvabroad.com/support/openvpnwin-guide-01.png das "Connect". Akurat ikonka je uz trochu ina (flat dizajn... co uz, pokrok je nezastavitelny).
GUI navyse nacita aj viac kofigurakov, takze je mozne ovladat viac ovpn spojeni naraz.
Zial unahlil som sa. Pokial zadam 10.8.0.1 tak sa vo webovom prehliadaci dostanem na stranku routra. Ale to je tak vsetko, ziadna moznost pripojit sa na zdielane disky, TAP adapter nema IP adresu a je bez pripojenia.
Vygooglil som, ze sa moze jednat o bug vo windows 10. Uz som na vsetkych pocitacoch migroval na 10-ky takze nemam moznost overit, ci pod win 7 to ide.
Trošku se zpožděním, ale přispěl bych svou troškou do mlýna a třeba to někomu pomůže - připravil jsem návody, jak automatizovaně rozjet IKEv2 a L2TP VPN na VPS u Amazonu, Digital Ocean a dalších:
https://lynt.cz/blog/ikev2-vpn-v-cloudu-snadno-a-rychle
https://lynt.cz/blog/l2tp-vpn-v-aws-snadno-a-rychle