EZT AZ OLDALT NEM FOGJUK INGYENESEN ÜZEMELTETNI! Ha szeretnéd megtartani oldalad, rendeld meg bármely értéknövelt szolgáltatásunkat az Értéknövelt oldalon, ha ezt nem teszed meg oldalad hamarosan töröljük. x
Szia: toxin, összes látogatás tegnapig: 61 104 , weblapod életkora: 413,8 nap. Autokiléptetés: 39:40
Címoldal
Új oldal
Oldalak
Kinézet
Modulok
Kiegészítők
Beállítások
Siker titka
Segítség
Értéknövelt
Egyebek
Kilépés
OpenWrt on Linksys WRT160NL OpenWrt telepítési útmutató Elérhetőség Letöltések Gyakran Ismételt Kérdések
Tesztelve (browser support):
A VPN-ről, mint funkcióról röviden:
Vissza a tartalomhoz
Adott 2 vagy több gép az interneten, amik egy helyi alhálózat előnyeit szeretnék használni úgy, hogy közben más ne férjen hozzá a közöttük zajló adatforgalomhoz. Lehet ez http, ftp, samba, mail stb. adatforgalom, a használat szempontjából lényegtelen. A megoldás: valamilyen VPN (Virtual Private Network, Virtuális Magánhálózat) szoftver segítségével kell hálózatot létrehoznod a hálózat topológiája (kialakítása) alapján. Ez a kialakítás a kapcsolatok elrendezése, és a gépek száma szerint lehet: gép - gép (host - host) gép - net (host - net) net - net Az alábbi ábrán ezt a kialakítást követve létrehozhatsz egy hálózatot, amiben mindhárom topológia szerepel. (keresd meg!) A használt szoftver az OpenWrt által is felkínált OpenVPN. Cél: az ábra szerinti elrendezésben a WRT160NL lesz az OpenVPN szerver, és az alhálózatok kliensei valamint az egyéni gép 1 virtuális alhálózatban látszódjanak VPN kliensként.
Értékeld az oldalt
Belépés E-mail:
[email protected] Jelszó: Regisztráció Elfelejtett jelszó BELÉPEK
A megvalósítás, részletesebben: Jó lenne, ha a virtuális magánhálózatunk adatforgalma titkosítva lenne, és csak az általunk a hálózatba fölvett kliensek férnének az OpenVPN szerveren futó egyéb szolgáltatásokhoz. Nézzük, mi szükséges mindehhez TLS/SSL esetén: OpenVPN csomag - A virtuális magánhálózat megvalósításához Luci openvpn csomagja, ha kattintgatva szeretnél konfigurálni openssl csomag a kapcsolódási, titkosítási kulcsok létrehozásához kulcsok generálása a szerver és a kliensek számára konfigurációs állomány létrehozása, igényeidnek megfelelően tűzfalbeállítások módosítása a routeren, hogy a vpn működjön El is kell indítani. :) (automatikusan, áramszünet után is!) kliensoldali beállításokat elvégezni A szerveroldali telepítés OpenWrt-n: root@OpenWrt:~# opkg update root@OpenWrt:~# opkg install luci-app-openvpn openvpn openssl-util
Az openssl-util csomag konfigurációs állománya igen fontos jelentőségű lesz esetünkben: ebben állíthatjuk be, milyen adatokat tartalmazzanak a készítendő kulcsaink. Melyik állomány legyen a kulcsokat számláló állomány, és melyik állomány szerepeljen adatbázisként az elkészült kulcsok neveinek, sorszámának tárolására. A fájl /etc/ssl/openssl.cnf néven elérhető. Nézzük mik azok , amiken lehet, és érdemes változtatni benne a későbbi munkánk megkönnyítéséhez: [CA_default ] szakaszban a készülő kulcsok elérési útját én rövidítettem, ill. a [reg_distinguished_name] szakaszban kitöltöttem az ország, megye, város, cégnév adatokat. Így azoknál elég lesz a kulcskészítés interaktív részében entert nyomni (más linux disztribeknél a "vars" állományban beállítható opciók). [ CA_default ] dir certs crl_dir database #unique_subject
= = = = =
/etc/ssl $dir/certs $dir/crl $dir/index.txt no
new_certs_dir
= $dir/certs
certificate serial crlnumber
= $dir/ca.crt = $dir/serial = $dir/crlnumber
crl private_key RANDFILE
= $dir/crl.pem = $dir/ca.key = $dir/.rand
# # # # # # #
Where everything is kept Where the issued certs are kept Where the issued crl are kept database index file. Set to 'no' to allow creation of several ctificates with same subject. default place for new certs.
# # # # # # #
The CA certificate The current serial number the current crl number must be commented out to leave a V1 CRL The current CRL The private key private random number file
....... [ req_distinguished_name ] countryName countryName_default countryName_min countryName_max
= = = =
stateOrProvinceName stateOrProvinceName_default
= State or Province Name (full name) = Pest-megye
localityName localityName_default
= Locality Name (eg, city) = Budapest
0.organizationName # 0.organizationName_default
= Organization Name (eg, company) = céged neve
Country Name (2 letter code) HU 2 2
# we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = 2. céged neve organizationalUnitName organizationalUnitName_default
= Organizational Unit Name (eg, section) = szervezeti egység
commonName commonName_max
= Common Name (eg, YOUR name, A te neved) = 64
emailAddress emailAddress_max
= Email Address (Email címed) = 64
Alapesetben nem létezik még a serial nevű állomány (alapértéke "01"), ami a kulcsokat számlálja, és az adatbázisként használt index.txt állomány sem, aminek üresnek kell lennie a kulcsok létrehozása előtt. Hozzuk létre ezeket: root@OpenWrt:~# root@OpenWrt:~# root@OpenWrt:~# root@OpenWrt:~#
cd /etc/ssl touch index.txt touch serial echo 01 >serial
Ezután el kell készítenünk a szerver és a kliensek azonosításához szükséges kulcsokat. CA hitelesítő kulcs: root@OpenWrt:~# openssl req -nodes -new -x509 -keyout ca.key -out ca.crt -days 3650
Itt interaktív módon megkérdi az ország, megye, város, cégnév, szervezeti egység, Név, email adataidat. Ha az openssl.cnf állományban kitöltötted ezeket, elég enterezni, ill. a nevedet és email címedet megadnod. Létrejön a ca.key és ca.crt állomány. TLS hitelesítő kulcs: root@OpenWrt:~# openvpn --genkey --secret ta.key
Nem kérdez semmit, létrejön a ta.key állomány. Szerver kulcsok: root@OpenWrt:~# openssl req -nodes -new -keyout server.key -out server.csr
Ugyanúgy, mint a CA key esetében, csak enterezned kell az ország stb. adatait, beírnod a nevet, email-t. Az "A challenge password:" kérdésre megadhatsz jelszót is, ekkor csak ennek ismeretében tudnak a kliensek csatlakozni. Enterrel átlépheted. Létrejön a server.key és server.csr állomány. root@OpenWrt:~# openssl ca -out server.crt -in server.csr
2 "y"-nal válaszolva alá kell írni a szerver certifikációs állományt, server.crt néven jön létre. Már csak a Diffie - Hellman kulcs hiányzik a szerverhez (amíg ez elkészül, elmehetsz kávézni. :) Nem kérdez semmit, és sokáig tart. ) root@OpenWrt:~# openssl dhparam -out dh1024.pem 1024
Létrejön a dh1024.pem állomány. Ezzel a szerverkulcsok elkészültek, következnek a kliensek kulcsai. Mindegyiknél ugyanúgy enterezned kell, Név, email kitöltve értelemszerűen. clientX helyére client1, client2 stb.
kerül, ahány klienst föl akarsz venni, annyiszor megismétlendő a művelet. A 2. parancsnál szintén 2 "y"-nal alá kell írnod a certifikációs állományt. Létrejön client1.key, client1.csr, client1.crt állomány. (és ahányat még készítesz. :) ) root@OpenWrt:~# openssl req -nodes -new -keyout clientX.key -out clientX.csr root@OpenWrt:~# openssl ca -out clientX.crt -in clientX.csr
A kliensek a kulcsukban megadott névvel látszódnak a bejelentkezéskor, ezáltal a szerver oldalon a logfájlban szépen követhető, ki, mikor lépett be stb. A kulcsgyártás után el kell készítenünk a szerver és a kliensek konfigurációs állományát. A szerver konfig, ami 2 féle módon elkészíthető, mindkettő működik: Hagyományos, minden linuxon alkalmazott formátum: # /etc/openvpn/server.ovpn port 1194 proto udp dev tap ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key tls-auth /etc/openvpn/keys/ta.key 0 dh /etc/openvpn/keys/dh1024.pem comp-lzo server 10.20.30.0 255.255.255.0 keepalive 10 120 persist-key persist-tun mute 20 verb 3 client-to-client push "dhcp-options DNS 10.20.30.1"
Ha ezt a módszert választod, a szerver kézzel elindítható/leállítható az alábbi parancsokkal: root@OpenWrt:~# openvpn --config /etc/openvpn/server.ovpn & root@OpenWrt:~# killall -9 openvpn
Az áramszünet utáni indításhoz indítószkriptet kell készítenünk ebben az esetben. A másik, Luci webinterfész által is támogatott formátum ugyanazokkal az opciókkal: # /etc/config/openvpn config 'openvpn' 'openvpn_server' option 'enable' '1' option 'port' '1194' option 'proto' 'udp' option 'dev' 'tap' option 'ca' '/etc/openvpn/keys/ca.crt' option 'cert' '/etc/openvpn/keys/server.crt' option 'key' '/etc/openvpn/keys/server.key' option 'tls_auth' '/etc/openvpn/keys/ta.key 0' #szervernél 0 kell option 'dh' '/etc/openvpn/keys/dh1024.pem' option 'comp_lzo' '1' option 'server' '10.20.30.0 255.255.255.0' option 'keepalive' '10 120' option 'persist_key' '1' option 'persist_tun' '1' option 'mute' '20' option 'verb' '3' option 'client_to_client' '1' list 'push' 'dhcp-option DNS 10.20.30.1'
Képekben a Luci OpenVPN beállításai (a képek nagyíthatóak):
Ha ezt a konfigot választod, a szerver elindításához, és az áramszünet utáni bekapcsolásához ki kell adnod az alábbi parancsokat (vagy az initszkripteknél bekattintod az openvpn-t): root@OpenWrt:~# /etc/init.d/openvpn enable root@OpenWrt:~# /etc/init.d/openvpn start
A sikeres indítás jele, ha az "ifconfig" parancs kimenetében a hálózati kártyák között megjelent a "tap0" interfész, a fenti konfig szerint 10.20.30.1 ip címmel, és pingelhető. Tűzfalbeállítások (OpenWrt openvpn wiki alapján): Luci webfelületen bekattintod a tűzfalbeállítások traffic redirection részénél a beállított portot:
Ennek hatására a /etc/config/firewall fájlba bekerül a következő szakasz: (ha nem Luci alól konfigolod, ezt írd bele. "include" szakasz elvileg benne van, ha mégsem, szintén beleírandó) # /etc/config/firewall config 'include' option 'path' '/etc/firewall.user' config 'redirect' option 'src' 'wan' option 'proto' 'udp' option 'src_dport' '1194' option 'dest_port' '1194' option '_name' 'OpenVPN'
Az include szakaszban szereplő /etc/firewall.user fájlba a következőket írd: # /etc/firewall.user iptables iptables iptables iptables iptables iptables
-t nat -A prerouting_rule -i $WAN -p -A input_rule -i $WAN -p -A forwarding_rule -i tap+ -o br-lan -A forwarding_rule -i br-lan -o tap+ -A input_rule -i tap+ -j ACCEPT -A output_rule -o tap -j ACCEPT
udp --dport 11194 -j ACCEPT udp --dport 11194 -j ACCEPT -j ACCEPT -j ACCEPT
A beállítások érvényesítéséhez újra kell indítanod a tűzfalat, vagy a routert. Kliens oldali beállítás: A kulcsok már készen vannak, ha a fentiek szerint jártál el, már csak a kliens konfigot kell megírni (saját belső háló és az egyéni gép esetén), ill. az ellenoldali hálózatban a routert beállítani (ha a router a tűzfal), hogy engedje át az openvpn csomagokat. Az ellenoldali router beállításait nem részletezném, mert a legritkább esetben szokott OpenWrt kompatibilis lenni, és mindegyiknél máshol vannak a beállítandó opciók. Általában a NAT, DMZ beállításokat kell birizgálni. :) Windows kliens esetén le kell töltened az OpenVPN gui névre hallgató alkalmazást, a legfrissebbet innen töltheted le: http://openvpn.net/release/openvpn-2.1.1-install.exe Mac OS X esetén szintén létezik gui implementáció (stabil verzió): http://tunnelblick.googlecode.com/files/Tunnelblick_3.0.dmg Linux kliens esetén fel kell telepítened az adott disztrib openvpn csomagját. Debian alapú rendszereken root-ként: apt-get install openvpn Nézzük a kliens konfigokat: Windows: # "C:\Program Files\OpenVPN\config\client.ovpn" client remote registered_name.dyndns.org 1194 # vagy fix ip-t is megadhatsz, ha van proto udp dev tap resolv-retry infinite nobind ca "C:\\Program Files\\OpenVPN\\config\\keys\\ca.crt" # az elérési utat cert "C:\\Program Files\\OpenVPN\\config\\keys\\client1.crt" # helyesen add meg key "C:\\Program Files\\OpenVPN\\config\\keys\\client1.key" tls-auth "C:\\Program Files\\OpenVPN\\config\\keys\\ta.key" 1 # kliensnél "1" kell ping-exit 10 persist-tun persist-key comp-lzo pull verb 3 route-gateway 10.20.30.1 route-delay 2 float
Linux, Unix:
# /etc/openvpn/client.ovpn client remote registered_name.dyndns.org 1194 proto udp dev tap resolv-retry infinite nobind ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/client1.crt key /etc/openvpn/keys/client1.key tls-auth /etc/openvpn/keys/ta.key 1 ping-exit 10 persist-tun persist-key comp-lzo pull verb 3 route-gateway 10.20.30.1 route-delay 2 float
# # # #
az elérési utat helyesen add meg a keys mappát létre kell hoznod ha ezt a konfigot használod! kliensnél "1" kell
Csatlakozni win alatt az értesítési területen megjelenő OpenVPN GUI kisalkalmazás "Connect" menüpontját választva tudsz. A sikeres csatlakozás jele a "Connected".
Linux alatt terminálban/konzolban kiadod az "openvpn --config /etc/openvpn/client.ovpn &" parancsot, ugyanúgy mint a szerveren. A sikeres indulás jele itt is az ifconfig kimenetben megjelenő tap0 hálózati interfész megjelenése, pingelhetősége. Ahhoz, hogy a kliensek mindkét alhálózatban Samba-val is lássák egymást, ki kell egészíteni a fenti config esetén a Samba konfigurációs állomány [global] szakaszában az interfaces részt, majd újraindítani a Sambat: # /etc/samba/smb.conf.template interfaces = 127.0.0.0/8 10.20.30.0/24 192.168.1.0/24 192.168.10.0/24 # a 3 lan ip címe root@OpenWrt:~# /etc/init.d/samba restart
Ha jól dolgoztál, akkor a 2 lan gépei azonos munkacsoport esetén egy 3., virtuális TLS/SSL authentikációval, titkosított adatátvitellel rendelkező alhálózatban látják egymást. Mint az alábbi képen is látható, a qemu hálózatban megjelent a WRT160NL router, és a hozzá kapcsolódó gépem (a Linksys hálózatában pedig a qemu lan gépei):
A leírásban szereplő konfigokban szereplő vpn ip címek beállításait természetesen változtathatod csakúgy, mint a használt portot, protokollt stb. A leírás csak virtuális qemu hálózaton lett tesztelve, anyagi, fizikai stb. korlátok miatt. A használathoz sok sikert neked is.
vissza a címoldalra
Oldal szerkesztése
Menüben nem jelenik meg
toxin.lapunk.hu címoldalára • Lap tetejére • Oldaltérkép
Powered by lapunk.hu
0,048 mp