2019. november 20., szerda

Gyorskeresés

SoftEtherVPN ZyXEL NAS-okra, avagy érd el a szolgáltatásaid bárhonnan!

Írta: | Kulcsszavak: ZyXEL . NAS . NSA325v2 . NSA320 . NAS520 . NAS540 . NAS326 . FFp . 0.7 . Fonz Fun Plug . ARM . SoftEtherVPN

[ ÚJ BEJEGYZÉS ]

Köszöntelek kedves erre tévedt látogató! :)

A most következő leírásom ismételten ismeretterjesztő/tutorial jellegűre tervezem, s abban a hitben íródik, hogy sokaknak hasznára válhat a NAS távoli elérése kapcsán. Ugyanis a távoli elérés egy igen gyakran megjelenő téma a NAS-ok topikjában. Van pár megoldás, mint például az FTP(S), az SFTP, az sshfs, illetve a webDAV... Viszont ezek közül a legtöbb telepítése vagy hosszadalmas volt, vagy nem elég biztonságos, vagy éppen nem volt tökéletes a konkrét elképzelések kiszolgálására.

A fentieket mérlegelve egyértelműnek tűnt számomra, hogy talán a legoptimálisabb és egyben leguniverzálisabb megoldás a VPN irányában keresgélni megoldás után. Nos, ezzel kapcsolatban régóta küzdenek a NAS hekkerek, mivel egy nagy hátránya a ZyXEL NAS-oknak, hogy a gyártó valamilyen ismeretlen okból ellehetetlenítette az olyan modulok, mint például az iptables, illetve a bridge betöltését. Így hiába csinálunk openVPN szervert rajta, pont a NAS-t nem fogjuk tudni elérni (csak abban az esetben, ha tudjuk a MAC címét, s a kliensen belepiszkálunk az ARP cachebe, de ezt már leírni is macerás :D). Sokáig egyáltalán nem volt megoldás erre a problémára, egészen addig, míg egy igen nagy tudású, külföldi NAS hekker - nicknév szerint barmalej2 - elő nem állt egy okos kerülő megoldással, mégpedig, hogy az openVPN-t proxy ARP segítségével állította be. Akit érdekel, írt egy részletes leírást a beállításáról, ami itt olvasható. Ám ennek a megoldásnak van pár hátulütője, mint például a DHCP tartomány átállítása a belső hálózaton, vagy, hogy elsőre picit bonyolultnak tűnhet...

Sokat kutattam alternatíva után, míg végül rátaláltam a SoftEtherVPN projektre, melyet egy japán egyetem fejleszt. A különlegessége, hogy viszonylag egyszerűen, GUI-n keresztül is konfigurálható, illetve nagyon sok VPN típust támogat és szolgál ki. Mellette rengeteg funkcióval rendelkezik, mint például a dinamikus DNS generálás és frissítés a VPN szerverhez. :) Itt is ugyanúgy megjelent a NAS elérési probléma, melyet már rég sikerült orvosolnom, viszont csak pár hónapja jutottam el odáig, hogy ténylegesen tudjak tákolni belőle egy működőképes csomagot. A következőkben egy alap VPN szerver konfig kezdeti lépéseit terveztem bemutatni. Mert, bár a felhasználóbarát GUI-nak köszönhetően magától értetődő a beállítási procedúra, mégis jobbnak láttam bemutatni a folyamatot. Pláne egy kis trükk okán, melyet kénytelenek leszünk majd alkalmazni. Vágjunk is bele!

Nos, feltételezem, hogy FFp már van fönt, illetve root SSH van és uwsiteloaderrel a br2 és mrdini repók hozzá vannak adva a slacker listához. Ha ezek mind adottak, kezdjük a telepítést magával a slackerrel:

slacker -UuiA br2:{libiconv,ncurses,openssl,openssh,readline,uClibc,uClibc-solibs,zlib} mrdini:softethervpn

Slapt-gettel is lehet már telepíteni, a slapt-get -i softethervpn paranccsal. Ám ennél a csomagnál biztosabb a jó öreg slacker tool-t használni!

A parancsnak fel kell hoznia egy ablakot, kijelölve a felsorolt (és még nem telepített/frissíthető) csomagokkal. Meg kell nézni, hogy az openssh ott van-e a listában, s amennyiben igen, úgy a leokézást követően egy rebootot kell adni a NAS-nak, egyéb esetben az SSH-ra a következő üjraindításig nem lehet majd belépni a NAS-ra SSH-n!

Ezután adjuk ki az sh /ffp/start/softethervpn.sh start parancsot, mely elindítja - a még konfigurálatlan - szerverünket.

Ha ez kész, akkor tulajdonképpen a NAS oldali beállításokkal meg is vagyunk! :) A következő lépéssorozathoz szükségünk lesz az innen beszerezhető VPN Server Managerre, illetve a VPN Client-re is (utóbbi nem kötelező, csak ha ezzel szeretnénk majd csatlakozni az SEVpn saját kliensével is, nem pedig L2TP-vel, vagy akár openVPN-nel etc).

Nyissuk meg a frissen beszerzett Server Manager programot, majd hozzunk létre egy "New Setting"-et! A neve lehet bármi, a lényeg, hogy a "Host name" legyen a NAS-unk IP címe, a port pedig nem az alapértelmezett 443, hanem 5555 legyen. A password mezőt hagyjuk üresen, mivel még nincsen semmi beállítva. Azt majd pár lépés múlva fogja kérni a szerver. :) A többi beállítás maradhat teljesen alapon.

Ezután mehet az ok és a "Connect". Illetve most fogja bekérni az adminisztrációs jelszót, mely a továbbiakban a szerver menedzseléséhez fog nekünk kelleni. Így érdemes erős jelszót választani, illetve megjegyezni.

Jelszóváltás után a következő ablakban válasszuk a "Remote Access VPN Server" checkboxot, majd lépjünk tovább. Rá fog kérdezni, hogy biztosan akarjuk-e ezt a lépést. Hát, nem egészen ezt akarjuk, de mivel nincsen megfelelőbb automatikus beállítás, így nyomjunk igen-t! :D A továbbiakban majd még finomhangolunk!

A Hub nevét ismételten Rád bízom, nem lényeges. Viszont érdemes az angol ABC betűiből válogatni, illetve rövidet kitalálni.

A következő ablakban válasszuk a "Connect via Proxy Server..."-t és OK-zzunk (hacsak nem akarsz proxy szervert, de az szerintem már overkill kategória otthonra).

Majd mehet az Exit az ablaknak.

A következő ablakunk majd az L2TP és EtherIP engedélyezésére kérdez rá, melynek engedélyezése csakis Rajtad áll. Később bármikor kapcsolható mindegyik.

Az Azure-t én nem kapcsoltam be (következő lépés), mivel otthonra feleslegesnek vélem, de természetesen bármikor eltérhettek a leírástól, mivel ez csupán javaslat/információ jellegű.

A következő ablakban tudjuk létrehozni az első VPN felhasználóink. Ez is személyes preferencia, melynek testreszabását teljes mértékben Rád szabom. Minden engedélyezett VPN szolgáltatáson keresztül elérhetőek lesznek ezek a userek.

Aztán mehet a "close". Fontos, hogy bridge-t NE állítsunk be abban az ablakban. Mivel - ahogy arra a bevezetőben utaltam - sajnos nem működik megfelelően ezeken a NASokon.

Ennyi volt az inicializálási varázsló! Viszont nekünk még - ahogy említettem - pár beállítást eszközölnünk kell a megfelelő működés érdekében. Ha minden igaz, akkor a szerverünk főmenüje fogad most a képernyőn. Itt válasszuk ki a frissen alkotott Virtual Hub-unk a listából, majd menjünk a "Manage Virtual Hub"-ra. Ezen belül a "Virtual Hub Properties"-re, majd az "Edit Virtual Hub Extended Option List" gombra. A listában keressük ki a "DisableKernelModeSecureNAT" opciót. Valahogy így kell kinéznie eredetileg:

A "DisableKernelModeSecureNAT"-ot, illetve az őt követő egy értéket kell nulláról egyre változtatni, tehát a végeredménynek így kell kinéznie (a DisableUserModeSecureNAT maradjon nullán!):

Majd mehet a Save és az Ok. Túl is vagyunk a legösszetettebb részen, az egész folyamat során. :)

A következő ablakban megint következhet egy Ok. A lényeg, hogy visszajussunk a Hub-unk management oldalára, ahol válasszuk a "Virtual NAT and Virtual DHCP Server (SecureNAT)" gombot! Nyomjunk az "Enable SecureNAT"-ra, majd válaszoljunk okéval a felugró ablakra!

A "SecureNAT Configuration" alatt tudjuk beállítani, hogy milyen IP tartományt osszon a szerver a klienseknek, illetve néhány egyéb fontos router beállítást is tudunk állítani. Szintén, ha szeretnél állítani rajta, bátran. Egyébként nincs rá szükség.

Most következhet az Ok és az Exit, Exit trió!

És kész is lenne a szerver konfigja, innentől működni fog! Már csak az automatikus indulásra kell jogot adni:

chmod +x /ffp/start/softethervpn.sh

Innentől kezdve a kliensek csatlakozhatnak akár L2TP-n, vagy openVPN-en is, vagy az engedélyezett protokollokon.

OpenVPN-nél például tud generálni konfigot is a szerver, ami nagyon kényelmessé teszi a csatlakozási folyamatot. Ehhez a szerverünk main konfigurációs ablakára kell navigálni (amennyiben nem ott lennénk), majd katt az "OpenVPN / MS-SSTP Setting" gombra. Itt van egy "Generate a sample"... gomb, amivel le lehet tölteni egy konfigot a szerverhez. Ez teljes mértékben kompatibilis az OpenVPN kliensprogrammal. A felhasználóneveket/jelszavakat nem tartalmazza, arra a kliens csatlakozáskor kérdez rá. Viszont a szerver kulcsát tartalmazza, ami egy igen értékes infó. Éppen ezért erre nagyon vigyázni kell, ne kerüljön ismeretlen kezekbe! Illetve az így létrejött zipből a remote_access_l3.ovpn végű konfigra van szükség.

Illetve, hogy kívülről is elérhetőek legyenek a VPN szerverek, forwardolni kell L2TP esetében az 500-as UDP és 4500-as portokat, OpenVPN esetében pedig a 1194-es portot (hacsak nem írtad át egyedire). Nem kötelező mindent forwardolni, nekem is csak az OpenVPN van kiengedve, a többit csak tesztelésre használtam. Egyébként ha nem vagy biztos benne, hogy melyik porton fut egy-egy VPN szerver, az lsof -i | grep vpnserver parancs segíthet kilistázni az összes SoftEtherVPN szerver által lefoglalt portot.

Köszönöm hogy elolvastad és sok siker kívánok a beállításhoz!

PS: Kommenteket szívesen várok itt, a NAS topikjában.

  • Nem lehet hozzászólni
Copyright © 2000-2019 PROHARDVER Informatikai Kft.