OpenVPN szerver telepítése, konfigurálása Microsoft Windows 10 operációs rendszeren

OpenVPN szerver telepítése, konfigurálása Microsoft Windows 10 operációs rendszeren
OpenVPN szerver telepítése, konfigurálása Microsoft Windows 10 operációs rendszeren

Egy teljesen alaptelepítésen, beállításon fogunk végig menni. Tanúsítványokat itt is generálni fogok, de nem a Windows rendszeren. Igaz, ott is lehet, de nekem egyszerűbb ez linux alatt. Ami tanúsítvány generálásnál itt + fájl lesz az a dh2048.pem, semmi másban nem különbözik a MikroTik – RouterOS fórumban leírtaktól. Meg persze itt nem a Router fog mindent kezelni, a hálózati eszközön csak az OpenVPN portot fogjuk kiengedni, a többit már a Microsoft Windows 10 rendszerre telepített OpenVPN szerver fogja ellátni.

előkészületek

  • a Microsoft Windows 10 gépen Fix elérést [IP] kell állítanunk a belső hálózaton
  • meg kell oldanunk az elérést külső hálózatról Fix IP, vagy DynDNS szolgáltatással
  • a router beállításokban engedélyeznünk kell a 1194-es alapértelmezett OpenVPN portot [Port forwarding]
  • a Microsoft Windows 10 gépen a Windows tűzfal beállításaiban is engedélyeznünk kell a 1194-es alapértelmezett OpenVPN portot

Természetesen célszerű a 1194-es alapértelmezett OpenVPN portot megváltoztatni, valami más egyedi portra. Ebben az esetben a szerver és a kliens opvn konfigurációs fájlban kell módosítanunk a portokat, meg persze a Windows 10 tűzfal beállításaiban és a router beállításaiban is.

1. szerver tanúsítványok, kulcsok generálása

ca.crt
server.crt
server.key
dh2048.pem


terminal

sudo apt-get install openvpn easy-rsa
cd /etc/openvpn/
sudo mkdir easy-rsa
sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
sudo su [root]
sudo nano vars

export KEY_COUNTRY="HU"
export KEY_PROVINCE="P"
export KEY_CITY="Budapest"
export KEY_ORG="ITFroccs"
export KEY_EMAIL="me@itfroccs.com"

source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh


generált szerver tanúsítványok, kulcsok másolása a Microsoft Windows 10 OpenVPN szerver gépre

  • ca.crt
  • server.crt
  • server.key
  • dh2048.pem

a szerveren hozzunk létre a config mappán belül egy ccd mappát, amiben egy client1, clent2, client3 konfigurációs fájlokban adjuk meg az alábbi adatokat

client1

client1 tartalma:

ifconfig-push 10.8.0.91 255.255.255.0
push „route 192.168.1.0 255.255.255.0”

client2

clent2 tartalma:

ifconfig-push 10.8.0.92 255.255.255.0
push „route 192.168.1.0 255.255.255.0”

client3

client3 tartalma:

ifconfig-push 10.8.0.93 255.255.255.0
push „route 192.168.1.0 255.255.255.0”

2. kliens tanúsítványok, kulcsok generálása

célszerű annyi klienst generálni, amennyien a VPN hálózatra csatlakozni fognak

ca.crt
client1.crt
client1.key

ca.crt
client2.crt
client2.key

ca.crt
client3.crt
client3.key


terminal

sudo su [root]
cd /etc/openvpn/easy-rsa/
source ./vars
./build-key client


generált kliens tanúsítványok, kulcsok másolása a Microsoft Windows 10 OpenVPN kliens gépekre

 


3. szerver OpenVPN konfigurációs fájl elkészítése

server.ovpn
server.ovpn tartalma:

port 1194
;dev tap
dev tun
proto udp
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
topology „subnet”
push „topology subnet”
server 10.8.0.0 255.255.255.0
client-config-dir ccd
;ifconfig-pool-persist ipp.txt
;push „route 192.168.0.0 255.255.255.0”
keepalive 10 120
comp-lzo
max-clients 3
persist-key
persist-tun
verb 3

a létrehozott server.ovpn konfigurációt másoljuk fel a Microsoft Windows 10 OpenVPN szerver gépre

4. kliensek OpenVPN konfigurációs fájlok elkészítése

client1.ovpn
client2.ovpn
client3.ovpn

client1.ovpn tartalma:

client
;dev tap
dev tun
proto udp
remote [Fix IP, vagy DynDNS] 1194
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
keepalive 10 60

client2.ovpn tartalma:

client
;dev tap
dev tun
proto udp
remote [Fix IP, vagy DynDNS] 1194
persist-key
persist-tun
ca ca.crt
cert client2.crt
key client2.key
comp-lzo
verb 3
keepalive 10 60

client3.ovpn tartalma:

client
;dev tap
dev tun
proto udp
remote [Fix IP, vagy DynDNS] 1194
persist-key
persist-tun
ca ca.crt
cert client3.crt
key client3.key
comp-lzo
verb 3
keepalive 10 60

a létrehozott client1.ovpn konfigurációt másoljuk fel a Microsoft Windows 10 OpenVPN első kliens gépre, a client2.ovpn a másodikra és így tovább

5. OpenVPN szerver telepítése, beállítása Windows 10 operációs rendszeren

 

6. OpenVPN kliens telepítése, beállítása Windows 10 operációs rendszeren


Egy érdekes említésre való eset. Beüzemeltem egy ilyen OpenVPN szerverként funkcionáló Windows 10-es gépet. A Windows 10-es gépen egy XAMPP-ot futtattak, de a csatlakozott OpenVPN kliensek nem érték el a böngészőn keresztül a XAMPP környezet által futtatott rendszert. Ennek az oka pedig az volt, hogy a Windows 10 az OpenVPN TAP adapterét Nyilvános-Hálózatként kezelte és a Windows tűzfalon csak a Magán-Hálózaton volt engedélyezve az Apache kiszolgáló elérése.


OpenVPN

11 HOZZÁSZÓLÁS

  1. Nagyon tetszenek a tutoriálok.
    Lenne egy olyan kérdésem, hogy ezt az OpenVPN leírást hogyan tudnám egy Azure-ban található Windows 10 virtuális gépnél alkalmazni?

    • Szia, nagyon köszönjük! OpenVPN leírás szerint, ha van jogunk telepíteni és a megfelelő portokat is tudjuk nyitni, akkor ugyan az a menet, mintha bárhol egy Windows 10-es gépre telepítenénk. Ezt a szolgáltatótól kell megkérdezni, hogy van erre lehetőség, vagy nincs. De úgy tudom az Azure VPN csomagot is kínál a szolgáltatásaiban.

      Üdv, Tomi

  2. Koszonom a leírást!
    Ha win10 helyett win2012 serverre telepítjük az openvpv szervert,tartományi (win10es) gép otthonról ugyanúgy tud bejelentkezni,ugyanazokat a megosztasokat látja csak,amiket a munkahelyi belső tartományi hálózatban,és mindezt biztonságosan?
    Koszonom a választ!

    • Szia, ugyan azt fogja látni és nem lesz joga máshoz, hiszen az openvpn kliens nem oszt ki jogosultságokat, csak elérhetővé teszi a hálózatot a user részére.
      Arra kell figyelni, hogy ilyen esetben nem mindig működik a névfeloldás csatolt hálózati meghajtók esetében. Szóval célszerű ip címekkel csatolni a meghajtókat a kliens gépre.
      (vagy írhatod a windows host fájlt is, de az eléggé problémás, mondjuk rendszergazdája válogatja)
      Biztonságosnak mennyire mondható az függ a jelenlegi rendszertől is, de ha openvpn szervert teszel egy win2012 szerverre, akkor a tűzfalon kell konfigurálnod mit érhet el még aki becsatlakozik kliensként. De ez attól is függ, hogy a win2012 beépített tűzfala van használva, vagy sem.

      Üdv, Tomi

  3. Szia Tomi! Próbálom reprodukálni amit csináltál. A kliens kapcsolódásához egy sorral bővíteni kellett a kliens konfig file-t (remote-cert-tls server), így már szépen kapcsolódik. De nekem nem működik a kliens felől a szerver mögötti LAN (192.168.x.x) elérése. Azt figyeltem még meg, hogy a CCD mappában lévő kliens konfig file-ban lévő utasítások nem hajtódnak végre: a kliens nem azt az IP-t kapja és a kliens route táblájába nem kerül be a szerver LAN hálózatára mutató sor. Ha jól tudom ez a route szükséges a szerver mögötti LAN eléréshez. Mi lehet nálam a hiba?
    üdv, laszlo

    • Szia, akkor ellenőrizd, hogy az openvpn config állományban jó az elérési útvonal a CCD mappában lévő fájlhoz. Majd ellenőrizd, hogy jó a CCD mappában lévő fájl tartalma, majd azt, hogy az openvpn config neve azonos a CCD mappában lévő fájl nevével. Végül indítsd rendszergazdaként az OpenVPN kliens programot, lehet, hogy jogosultság probléma lesz.
      Üdv, Tomi

  4. Szia Tamás!

    Én is végigcsináltam az általad leírtakat, mi több, még működött is, gond nélkül tudok kapcsolódni. A probléma ott van, hogy a kliensről meg tudom pingelni a tap32-es hálókártyát, de azon kívül semmit nem látok. Tudnál valami tanácsot adni, hogy mit nézzek még meg? (Végső elkeseredésemben már a tűzfalakat is lekapcsoltam, de változást nem hozott. Ha a kliens fájlban másik IP-t állítok be a kliensnek, azt szépen fel is veszi. Az lehet gond, hogy a hálózatom 192.168.0.x-ra van állítva? A program egyébként panaszkodik is erre, bár én nem teljesen értem, hogy ez miért gond. A kliensem egyébként egy win10-es laptop, ami mobil hotspoton/mobilneten keresztül kapcsolódik az internetre. Remélem ez nem gond, bár korábbi tapasztalataim alapján ez a konfiguráció működött, igaz azt nem én konfiguráltam.

    • Szia, ott valami konfigurációs probléma lesz! Azt kell ellenőrizni. A CCD mappa és a config fájlban. A push route mire van állítva, amiben az Ip címet módositod?

      • Ez van benne:

        ifconfig-push 10.8.0.91 255.255.255.0
        push „route 192.168.0.0 255.255.255.0”

        Az első sor működik, mert, ha módosítom az ip címet, akkor a módosítottat veszi fel a kliens.

  5. Szia Tomi!
    Köszi a leírást, hasznos volt látni a beállításokat, illetve a gyors debuggolást 🙂

    Sikeresen beállítottam én is a VPN-t, és a szerveren hostolt weboldalt és openssh szervert is el tudom érni VPN-en keresztül a private VPN-es IP címeken át. Viszont a kliensekről nem érem el az internetet, hiába van a beálíltások között a szerveren a `push „redirect-gateway def1 bypass-dhcp”`. DNS-ről gondoskodtam, és azt hiszem, ezt követve, a NAT is megoldott: https://forums.openvpn.net/viewtopic.php?t=20765#p57873
    Mégsem működik. Valami tanácsod volna további debuggolásra, netalán a probléma megoldására? (A szerveren is van tűzfal, simplewall, és be van álíltva a 1194-es port beengedése, és ugye a szerver gép http kiszolgálását és openssh-ját is tudom használni.)

    Ugyanakkor PiVPN szervert beállítottam már sikeresen, úgyhogy valahol a Windows körül van a gond.

HOZZÁSZÓLOK A CIKKHEZ

Please enter your comment!
Please enter your name here