Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Darkhunter 24. 03. 2020, 17:30:04
-
Ahoj,
mám problém s OpenVPN.
VPNka nám funguje v pořádku už delší dobu, ale nefunguje s Windows.
Doposud jsme neměli moc lidí, co by používali Windows, tak jsem to neřešil, ale bohužel nastala situace, kdy to musím řešit. Už jsem dost googlil, ale nic nepomohlo.
Když se Windows client připojí do VPN, tak přestane jim fungovat internet a funguje jen traffic do VPNky.
Když jsem to řešil naposledy, tak nějak vůbec nefungoval routing, ale nevěděl jsem, co s tím dělat, protože ve Windows se nevyznám...
Tady je config:
client
nobind
dev tun
remote-cert-tls server
remote ****** **** udp
route 192.168.0.200 255.255.255.255
<key>
</key>
<cert>
</cert>
<ca>
</ca>
key-direction 1
<tls-auth>
</tls-auth>
tls-cipher TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
cipher AES-256-GCM
auth SHA512
auth-user-pass
auth-nocache
comp-lzo
reneg-sec 0
-
Jak vypada routovaci tabulka? Otevri na Windows command-line a napis:
route print
-
Už si k sobě do virtuálky instaluju windows, abych na to mohl kouknout. Dám vědět, až se mi to podaří.
-
Z configu klienta dat prec riadok "route...".
Na serveri doplnit do configu servera:
push "route 192.168.0.200 255.255.255.255"
teda ak vazne chcete routovat /32... preco nie /24? Fakt iba na ten jeden pocitac? A to verite klientovi, ze sa sam obmedzi?
-
No zkoušel jsem to přes push a push mi nefungoval, tak jsem to musel přidat do klientova configu.
Ano, chci routovat jen ten jeden server, ale nemám problém s celou sítí. Pak tam byl ale problém, že když měl někdo třeba router v networku 192.168.0.0/24, tak se lokálně nikam nedostal. Chci to přesunout na jiný rozsah, ale zatím nebyl čas...
-
Smazal jsem tu route z toho configu a je to pořád stejné...
Jinak tady je paste route print(poprvé s route v configu a podruhé bez): https://dpaste.org/j7vX
-
starší verze openVPN pokud nebyli spuštěny s právy Administratora nepřidali routy!
Určitě nasadit poslední verzi.
-
Mám nejnovější OpenVPN Connect a spustil jsem to jako admin a stejný problém.
Zjistil jsem, že problém je v DNS. Nastavil jsem tedy DNS obou adaptéru - jak ethernetu tak TAP adaptéru na googlí DNS a stejně DNSko nefunguje. Respektive po nastavení to fungovalo asi 5 sekund a už to zase nejede...
-
stalo by zato zmínit na čem beží openVPN
já to dělám tak, že si na openVPN serveru udělám extra IP pool a extra DHCP server kterým kliošovi naserviruju vše(IP, DNS, domain) a jen routu dam do configu klienta.
Pak mohu skrze tunnel používat firemní hostname všech stanic.
-
No, běží v kontejneru na Linux hostovi (ArchLinux).
Nám to takto funguje správně na MacOS a na Linuxu a nejspíš i na telefonech. Chci to přehodit na jinej rozsah, aby si tam lidi nemuseli manuálně vepisovat do route configu, když chtějí přístup i na jinej server, ale zatím na to nebyl čas.
-
urcitě bych na těch funkčních i nefunkčních klientech zkusil nslookup ať se ukáže, jaké DNS překládá názvy
to co popisujete je jakoby šel celej traffic do tunnelu, ale klient neví kde je DNS a kam požadavek poslat
-
Toto servíruju Windows klientům (vlastně všem klientům) a pokud vím, chodí mi všecko co chci:
push "route 192.168.0.0 255.255.0.0"
push "ip-win32 dynamic"
push "dhcp-option DNS 192.168.1.2"
push "dhcp-option DNS 192.168.3.4"
push "dhcp-option WINS 192.168.5.6"
push "dhcp-option NBT 8"
push "dhcp-option DOMAIN soukr.unas.cz"
Výše uvedený výstřižek je z konfigurace serverové strany. BTW i já jedu "device tun".
Chování "všechen provoz do tunelu" se na klientu dá vyvolat zaklínadlem redirect-gateway
Toto patří do konfigu na klientu, nebo to můžete pushnout. Naopak pokud Vám server toto pushuje a Vy nechcete, dá se toho zbavit protizaklínadlem pull-filter ignore redirect-gateway
Odkazy: 1 (https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway) a 2 (https://forums.openvpn.net/viewtopic.php?t=27689) .
Souhlasím se Zajdanem, že by se taky mohlo jednat o situaci, kdy si pushnete DNS server, ale tento z klienta reálně není dostupný... BTW ale to si budu hodně cintat pentli u křišťálové koule: co když se např. windowsový DNS resolver ptá z UDP portu >1024 (na port 53), zatímco resolvery v UNIXu a Linuxu se ptají z 53 na 53? Krát nějaký filtr na VPN access firewallu. (/konec halucinace) Možná bych vedle nslookupu doporučil ještě tcpdump nebo wireshark.
Dost mě mrzelo, že poslední verze, která uměla "disconnect on suspend", byla 2.3.18, která do Win10 už moc dobře nepasuje. Novější verze se chovají tak, že při zaklapnutí a otevření noťase se VPN rovnou chytí znovu a jede dál, nezeptá se na login a heslo. Lze to napravit "naplánovanou úlohou" která startuje na event 507 ze zdroje "Kernel-Power" a jejím obsahem je taskkill /F /IM openvpn.exe
V příloze screenshot nejvýživnější části konfigurace. Nezapomeňte ještě v tabu "podmínky" odstranit fajfku z boxu "Spustit úlohu pouze při připojení k napájení" ;-)
-
Smazal jsem tu route z toho configu a je to pořád stejné...
Jinak tady je paste route print(poprvé s route v configu a podruhé bez): https://dpaste.org/j7vX
Co je interface 1a ? To vidím prvně... :-O
-
Tak problém byl v tom, že jsem na serveru měl:
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
Sice mi to přijde divné, ale vyřešilo se to tím, že nepushuju žádné DNS servery...