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. Szia: toxin, összes látogatás tegnapig: 61 104, weblapod életkora: 413,8 nap. Autokiléptetés: 39:40 x 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: nextwave@citromail.hu 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 = /etc/ssl # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept database = $dir/index.txt # database index file. #unique_subject = no # Set to 'no' to allow creation of # several ctificates with same subject. new_certs_dir = $dir/certs # default place for new certs. certificate = $dir/ca.crt # The CA certificate serial = $dir/serial # The current serial number crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $dir/.rand # private random number file... [ req_distinguished_name ] countryname = Country Name (2 letter code) countryname_default = HU countryname_min = 2 countryname_max = 2 stateorprovincename stateorprovincename_default localityname localityname_default = State or Province Name (full name) = Pest-megye = Locality Name (eg, city) = Budapest 0.organizationName = Organization Name (eg, company) # 0.organizationName_default = céged neve # 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 = Common Name (eg, YOUR name, A te neved) commonname_max = 64 emailaddress = Email Address (Email címed) emailaddress_max = 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:~# cd /etc/ssl root@openwrt:~# touch index.txt root@openwrt:~# touch serial root@openwrt:~# 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 -t nat -A prerouting_rule -i $WAN -p udp --dport 11194 -j ACCEPT iptables -A input_rule -i $WAN -p udp --dport 11194 -j ACCEPT iptables -A forwarding_rule -i tap+ -o br-lan -j ACCEPT iptables -A forwarding_rule -i br-lan -o tap+ -j ACCEPT iptables -A input_rule -i tap+ -j ACCEPT iptables -A output_rule -o tap -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