Connecting to Access Server with Linux
Client software choice
Az OpenVPN Access Serverhez való csatlakozáshoz Linuxról egy ügyfélprogram szükséges. Ez rögzíti az OpenVPN-alagúton keresztül küldeni kívánt forgalmat, titkosítja és továbbítja az OpenVPN-kiszolgálónak. És persze fordítva, a visszaérkező forgalom visszafejtéséhez.
Linux csomagok megvitatása
OpenVPN hozzáférési kiszolgáló | openvpn-as |
OpenVPN 3 Linux kliens | openvpn3 |
OpenVPN open source | openvpn |
OpenVPN 3 Linux kliens
Az OpenVPN 3 Linux projekt egy új kliens, amely az OpenVPN 3 Core Libraryre épül. Ez a kliens a hivatalos OpenVPN Linux kliens program. Az OpenVPN 3 for Linux webhelyünkön áttekintést talál a funkciókról, gyakran ismételt kérdéseket és az openvpn3 csomag telepítésére vonatkozó utasításokat.
Az ott található utasítások követése után a kliens telepítéséhez szüksége lesz egy kapcsolati profilra. Ez egy olyan fájl, amelyet az OpenVPN Access Server telepítése generál az Ön adott felhasználói fiókjához. Ez tartalmazza a szükséges tanúsítványokat és a kapcsolat beállításait. Menjen az Access Server kliens webes felületére (a főcímre, nem a /admin részre). Jelentkezzen be a felhasználói hitelesítő adatokkal. Megjelenik a letölthető fájlok listája. Válassza a felhasználó által zárolt profilt vagy az automatikus bejelentkezési profilt, és elküldi a client.ovpn fájlt. Mentsd el ezt a fájlt a Linux operációs rendszeredre.
Mihelyt áthelyezted a fájlt a Linux rendszeredre, importálhatod.
openvpn3 config-import --config ${client.ovpn}
Új VPN munkamenetet indíthatsz:
openvpn3 session-start --config ${client.ovpn}
Folyamatban lévő VPN munkamenetet kezelhetsz:
openvpn3 sessions-list
És így tovább. További részletek itt találhatók: OpenVPN3Linux.
OpenVPN nyílt forráskódú OpenVPN CLI program
A nyílt forráskódú projekt kliensprogramja is képes csatlakozni az Access Serverhez. A csomag a legtöbb disztribúcióban elérhető, és egyszerűen openvpn néven ismert. Támogatja az egyidejűleg több OpenVPN-kiszolgálóhoz való kapcsolódás lehetőségét, és tartalmaz egy olyan szolgáltatáskomponenst, amely képes automatikusan és némán elindítani az /etc/openvpn mappában talált automatikus bejelentkezési profilokat, még a felhasználó bejelentkezése előtt. Ez a szolgáltatáskomponens beállítható úgy, hogy automatikusan elinduljon a rendszerindításkor a Linux-disztribúcióban elérhető eszközökkel, ha támogatott. Ubuntu és Debian esetén az openvpn csomag telepítésekor az openvpn csomag automatikusan úgy van beállítva, hogy induláskor elinduljon.
Az OpenVPN kliens telepítéséhez Linuxon sok esetben elég csak azt a verziót használni, amelyik magának a Linux disztribúciónak a szoftvertárában található. Ha elavult szoftverek használata esetén kapcsolódási problémákba ütközik, az az OpenVPN régebbi verzióiban a magasabb TLS-verziók támogatásának esetleges hiányából adódhat. Kövesse a nyílt forráskódú openvpn közösségi wikiben található utasításokat, ha az OpenVPN klienst szeretné telepíteni a Linux rendszerére.
A telepítés után szüksége lesz egy kapcsolati profilra. Ez egy olyan fájl, amelyet az OpenVPN Access Server telepítése generál az Ön adott felhasználói fiókjához. Ez tartalmazza a szükséges tanúsítványokat és a kapcsolat beállításait. Menjen az Access Server kliens webes felületére (a főcímre, nem a /admin részre). Jelentkezzen be a felhasználói hitelesítő adatokkal. Megjelenik a letölthető fájlok listája. Válassza a felhasználó által zárolt profilt vagy az automatikus bejelentkezési profilt, és a rendszer elküldi Önnek a client.ovpn fájlt. Ezt a fájlt mentsd el valahova a Linux operációs rendszeredre. Az OpenVPN Access Server támogatja a szerverrel zárolt, a felhasználóval zárolt és az automatikus bejelentkezési profilokat, de az OpenVPN parancssori kliens csak a felhasználóval zárolt vagy az automatikus bejelentkezési profilokkal tud csatlakozni.
Feltételezzük, hogy a kapcsolatot vagy a parancssoron keresztül root felhasználóként, vagy a szolgáltatás démonon keresztül fogja elindítani. Ha azt szeretné, hogy a jogosultsággal nem rendelkező felhasználók is tudjanak kapcsolatot létesíteni, nézze meg a közösségi wikit, ahol további információkat talál a megvalósításról. Itt most a legegyszerűbb megvalósításra fogunk koncentrálni; futtassuk a kapcsolatot közvetlenül root felhasználóként, vagy a szolgáltatás démonon keresztül.
Kapcsolat indítása automatikus bejelentkezési profillal manuálisan:
openvpn --config client.ovpn
Kapcsolat indítása felhasználóval zárolt profillal manuálisan:
openvpn --config client.ovpn --auth-user-pass
Ha Google Authenticator vagy más extra faktoros hitelesítést használ, adja hozzá az auth-retry paramétert:
openvpn --config client.ovpn --auth-user-pass --auth-retry interact
Az automatikus bejelentkezési kapcsolat indításához a szolgáltatás-démonon keresztül helyezze a kliens.ovpn állományt az /etc/openvpn/ állományba, és nevezze át a fájlt. A fájlkiterjesztésnek .conf végződéssel kell végződnie. Győződjön meg róla, hogy a szolgáltatás démon engedélyezve van az újraindítás utáni futtatásra, majd egyszerűen indítsa újra a rendszert. Az automatikus bejelentkezés típusú profilt automatikusan felveszi, és a kapcsolat magától elindul. Ezt az ifconfig parancs kimenetének ellenőrzésével ellenőrizheti; a listában látnia kell a tun0 hálózati adaptert.
A parancssori kliensből hiányzik az egyik legfontosabb funkció, a VPN-kiszolgáló által tolt DNS-kiszolgálók automatikus implementálásának képessége. Ez lehetséges, de ehhez telepíteni kell egy DNS-kezelő programot, például a resolvconf vagy az openresolv programot, és előfordulhat, hogy ütközik az operációs rendszerben meglévő hálózatkezelő szoftverekkel. Az ötlet itt azonban az, hogy egy olyan szkriptet használ, amely akkor fut, amikor a kapcsolat létrejön, és amikor megszűnik, és amely a resolvconf vagy az openresolv segítségével végrehajtja a DNS-kiszolgálókat az Ön számára. Az ok, amiért ez a kliens nem képes ezt teljesen egyedül kezelni, elsősorban az, hogy egy olyan operációs rendszerben, mint a Windows, a Macintosh, az Android vagy az iOS, már van egy bevált, egységes módszer a DNS-kezelés kezelésére. Ezért könnyű számunkra egy olyan szoftverklienst létrehozni ezekhez az operációs rendszerekhez, amely már tudja, hogyan kell kezelni a DNS-t. A Linux azonban nagyon sokféle változatban elérhető, és a DNS-kiszolgálók megvalósításának különböző programjait és módszereit is támogatja, ezért ésszerű volt a beépített DNS-támogatást kihagyni az OpenVPN programból, és helyette – ahol lehetséges – egy olyan szkriptet biztosítani, amely a DNS megvalósítását kezeli. Egy ilyen szkriptet akár saját magunk is írhatunk, hogy elvégezze azokat a feladatokat, amelyek az egyedi helyzetünkben a DNS-kiszolgálók megvalósításához szükségesek.
Szerencsére például az Ubuntun és a Debian rendszereken létezik az openvpn csomaghoz tartozó /etc/openvpn/update-resolv-conf szkript, amely kezeli a DNS megvalósítását ezeken az operációs rendszereken. Csak aktiválnia kell ezek használatát az alábbi utasításokat követve:
Nyissa meg a client.ovpn fájlt egy szövegszerkesztő programban:
nano client.ovpn
A legalsó sorban egyszerűen hozzáadja ezeket a sorokat:
script-security 2up /etc/openvpn/update-resolv-confdown /etc/openvpn/update-resolv-conf
Az első sor engedélyezi a külső szkriptek használatát a DNS implementációs feladatok kezelésére. A fel és le sorok arra szolgálnak, hogy a VPN-kiszolgáló által tolt DNS-kiszolgálókat implementáljuk, amikor a kapcsolat létrejön, és utána visszacsináljuk, amikor a kapcsolat megszűnik.
Ubuntu hálózatkezelő program
A GUI-n keresztül is van lehetőség csatlakozni a Gnome hálózatkezelő plugin openvpn bővítményének használatával. De ezt jelenleg kicsit trükkös beállítani. Ott van például az a téves feltételezés, hogy minden VPN képes lesz átirányítani az internetforgalmat, és a régebbi verziók esetleg nem értik az .ovpn fájlformátumot, ami miatt az abba beágyazott tanúsítványt külön fájlba kell szétbontani. És valószínűleg bele kell ásnia magát a beállításokba, hogy a VPN-kiszolgálón keresztül haladó internetes forgalom alapértelmezett útvonala ne legyen mindig alapértelmezés szerint engedélyezve, különösen olyan kiszolgálók esetében, ahol csak néhány belső erőforráshoz ad hozzáférést, és nem az egész internethez. A GUI komponens használatának előnye azonban az, hogy Linuxon az asztali környezetből indíthatja/leállíthatja a kapcsolatot.