[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: openvpn



Witaj Tadeusz,

W Twoim liście datowanym 29 września 2005 (15:05:38) można przeczytać:

TP> Czy moglby mnie ktos poprowadzic za reke ???
TP> mam eth0 wyjscie na zewnatrz 
TP> i eth1 siec wewnetrzna.
TP> Chce ustawic openvpn na bridgu 
TP> by miec dostep do otoczenia sieciowego.
TP> Z tego co zauwazylem bridge przejmuje karte sieciowa.
TP> Jak to zrobic ???

lap w zalaczniku txt i piekny opis napewno sobie poradzisz



-- 
Pozdrowienia,
 bieniu gras


1. sciagamy zrodla openvpn'a z  http://openvpn.sourceforge.net/



2. instalujemy pakiet openssl

	# apt-get install libssl-dev

	# apt-get install openssl

3. instalacja sterownika TUN/TAP, tutaj instalujemy tylko TUN

	rekonpilujemy jadro z opcja:

		Network device support  --->
			<*> Universal TUN/TAP device driver support

	nastepnie instalujemy TUN'a

	# rm -f /dev/net/tun
	# mkdir /dev/net
	# mknod /dev/net/tun c 10 200

4. Instalujemy biblioteke wlaczajaca kompresje w tunelu

	sciagamy biblioteke lzo ze strony http://www.oberhumer.com/opensource/lzo/download/
	lub sciagamy z ftp://pwr.wroc.pl

	# tar xzvf lzo-1.08.tar.gz
	# ./configure
	# make
	# make install

5. Instalujemy openvpn

	# tar xzvf openvpn-1.6.0.tar.gz

	konfigurujemy obsluge z lzo 

	# ./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib --enable-pthread
	# make 
	# make install

6. Konfiguracja OpenVPN przy u¿yciu wspó³dzielonego klucza (najprostsze rozwiazanie)


brama VPN:
	IP_ZEW		192.168.10.252
	IP_WEW		192.168.11.1
	IP_VPN		192.168.3.1
	IP_HOST_LAN	192.168.11.2

klient VPN:
	IP_ZEW		192.168.10.249
	IP_WEW		192.168.12.1
	IP_VPN		192.168.3.2
	IP_HOST_LAN	192.168.12.2

    a) Generujemy wspó³dzielony klucz

	generujemy klucz i umieszczamy go po obu stronach tunelu (na bramie i u klineta/ów).

		# openvpn --genkey --secret secret.key

    b) tworzymy plik startujacy vpn'a

	# touch /root/vpn
	# chmod 700 /root/vpn
		
		z zawartoscia

			#!/bin/bash
			openvpn --config /etc/openvpn/gw-openvpn.cfg &

    c) tworzymy plik z konfiguracja routingu po uruchomieniu tunelu

	DLA BRAMY VPN:

		# touch /etc/openvpn/if-up.sh
		# chmod 700 /etc/openvpn/if-up.sh

		z zawartoscia

			#!/bin/sh
			route add -net 192.168.12.0 netmask 255.255.255.0 gw 192.168.3.2

	DLA KLIENTA VPN:

		# touch /etc/openvpn/if-up.sh
		# chmod 700 /etc/openvpn/if-up.sh

		z zawartoscia

			#!/bin/sh
			route add -net 192.168.11.0 netmask 255.255.255.0 gw 192.168.3.1


    b) Przygotowujemy konfiga np. w /etc/openvpn/config-router

	Przyk³adowa klasa IP 192.168.3.0/24 dla potrzeb tunelu mo¿e byæ oczywi?cie inna. 
	Je?li po drugiej stronie istnieje sieæ o takiej puli adresowej to z ca³¹ pewno?ci¹ 
	musisz wykorzystaæ inn¹ pulê na potrzeby tunelu. 

	    # przyk³adowa konfiguracja przy u¿yciu klucza wspó³dzielonego
	    # plik konfiguracyjny po stronie bramy VPN
	    # Brak warto?ci remote oznacza, ¿e dopuszczamy ka¿dy IP po drugiej stronie
	    dev tun
	    tun-mtu 1500
	    remote 192.168.10.249 // faktyczny IP klienta VPN !
	    port 5000
	    # ifconfig virtual_local_ip virtual_remote_ip
	    ifconfig 192.168.3.1 192.168.3.2
	    up /etc/openvpn/if-up.sh
	    user nobody
	    group nogroup
	    comp-lzo
	    verb 3
	    secret /etc/openvpn/secret.key
	    auth MD5
	    cipher DES-CBC
	      
	      ; ping 15
	      ; ping-restart 45
	      ; ping-timer-rem
	      ; persist-tun
	      ; persist-key
	    

     c) Po stronie klienta plik wygl¹da nastêpuj¹co: 

	    dev tun
	    tun-mtu 1500
	    remote 192.168.10.252  // faktyczny IP bramy VPN !
	    port 5000
	    # ifconfig local_ip remote_ip
	    ifconfig 192.168.3.2 192.168.3.1    // uwaga - odwrotnie ni¿ po stronie Bramy !
	    up /etc/openvpn/if-up.sh
	    user nobody
	    group nogroup
	    comp-lzo
	    verb 3
	    secret /etc/openvpn/secret.key
	    auth MD5
	    cipher DES-CBC 
  
	      ; ping 15
	      ; ping-restart 45
	      ; ping-timer-rem
	      ; persist-tun
	      ; persist-key
	    
	      	   
	Oczywi?cie dostêp do pliku klucza powinien mieæ tylko root. Opcje 'ping' s¹ u¿ywane 
	w celu sprawdzenia czy 'druga strona' jeszcze "¿yje" - przydatne w przypadku gdy klient 
	czêsto ³¹czy siê na chwilê i roz³¹cza (laptopowcy).


    d) uruchomienie tunelu

	po obu stronach odpalamy

		# /root/vpn

	na kliencie powinno wyskoczyc ponizsze logi

serwer1:/etc/openvpn# /root/vpn
serwer1:/etc/openvpn# Tue Dec 21 14:28:49 2004 0[0]: OpenVPN 1.6.0 i686-pc-linux-gnu [SSL] [LZO] [PTHREAD] built on Dec 15 2004
Tue Dec 21 14:28:49 2004 1[0]: Static Encrypt: Cipher 'DES-CBC' initialized with 64 bit key
Tue Dec 21 14:28:49 2004 2[0]: Static Encrypt: Using 128 bit message hash 'MD5' for HMAC authentication
Tue Dec 21 14:28:49 2004 3[0]: Static Decrypt: Cipher 'DES-CBC' initialized with 64 bit key
Tue Dec 21 14:28:49 2004 4[0]: Static Decrypt: Using 128 bit message hash 'MD5' for HMAC authentication
Tue Dec 21 14:28:49 2004 5[0]: LZO compression initialized
Tue Dec 21 14:28:49 2004 6[0]: TUN/TAP device tun0 opened
Tue Dec 21 14:28:49 2004 7[0]: /sbin/ifconfig tun0 192.168.3.2 pointopoint 192.168.3.1 mtu 1500
Tue Dec 21 14:28:49 2004 8[0]: /etc/openvpn/if-up.sh tun0 1500 1541 192.168.3.2 192.168.3.1 init
Tue Dec 21 14:28:49 2004 9[0]: Data Channel MTU parms [ L:1541 D:1541 EF:41 EB:19 ET:0 EL:0 ]
Tue Dec 21 14:28:49 2004 10[0]: Local Options hash (VER=V3): 'bc7aeee7'
Tue Dec 21 14:28:49 2004 11[0]: Expected Remote Options hash (VER=V3): '762e92e5'
Tue Dec 21 14:28:49 2004 12[0]: GID set to nogroup
Tue Dec 21 14:28:49 2004 13[0]: UID set to nobody
Tue Dec 21 14:28:49 2004 14[0]: PTHREAD support initialized
Tue Dec 21 14:28:49 2004 15[0]: UDPv4 link local (bound): [undef]:5000
Tue Dec 21 14:28:49 2004 16[0]: UDPv4 link remote: 192.168.10.252:5000
Tue Dec 21 14:28:54 2004 17[0]: Peer Connection Initiated with 192.168.10.252:5000


    e) uruchomienie tunelu ogolny sposob (tego nie trzeba)

	Jako pierwsze sprawd?, czy klient potrafi "pingn¹æ" internetowe (zewnêtrzne) IP bramy z któr¹ ma siê ³¹czyæ. 
	Je?li nie potrafi, dalej nawet nie próbuj do czasu a¿ nie bêdzie poprawnej komunikacji przed tunelem
	uruchomienie jest banalnie proste:


		# ping IP_bramy_VPN
		# ping IP_user

	Zaladowac sterownik tun, chyba ze jest wkompilowany na stale w jadro

		# modprobe tun

	Wlaczyc forwarding

		# echo 1 > /proc/sys/net/ipv4/ip_forward

	W trybie routera 'dev tun' zestawiony kana³ dzia³a jak normalny router. 
	Zestawiane jest po³¹czenie punkt-punkt (na wirtualnych interfejsach tun) 
	i w celu dostêpu do zdalnej sieci nale¿y ustawiæ odpowiednio trasê routingu: 

		# route add siec_firmowa MASKA gw ip_virtualne_bramy_vpn

	Uruchamiamy tunel VPN

		(na bramie) # openvpn --config /etc/openvpn/gw-openvpn.cfg &
		(na userze) # openvpn --config /etc/openvpn/user-openvpn.cfg &

	Po stronie windowsa albo j.w. z lini komend, albo prawym klawiszem myszy kliknij na pliku konfiguracyjnym 
	i z menu wybierz 'Start OpenVPN on this config file'
	Obserwuj komunikaty, czêstym b³êdem jest literówka w ?cie¿ce do certyfikatów. Je?li tunel siê postawi 
	powinno siê daæ pingn¹æ przeciwn¹ stronê, czyli po stronie Windowsa powinno daæ siê 
	pingn¹æ IP 10.3.0.1 - je?li tak, to wszystko dzia³a OK ! ¯eby teraz móc dostaæ siê do komputerów w 
	sieci wewnêtrznej po drugiej stronie bramy VPN trzeba dodaæ trase routingu. Zak³adaj¹c, ¿e sieæ firmowa 
	to pula 192.168.11.0/24 nale¿y wpisaæ:

		; sk³adnia unixowa
		 # route add -net 192.168.11.0 netmask 255.255.255.0 gw 10.3.0.1
		
		; sk³adnia windowsowa
		 # route add 192.168.11.0 mask 255.255.255.0 10.3.0.1
	    
	Po wpisaniu powy¿szego powinno daæ siê pingowaæ komputery w sieci wewnêtrznej firmy (np. 192.168.11.5)
	¯eby przy ka¿dym zestawianiu tunela nie wpisywaæ rêcznie routingu da siê dodaæ to polecenie do samego konfiga

	

7. Konfiguracja OpenVPN przy u¿yciu certyfilatów SSL/TLS


   a) POJECIA w rozwi¹zaniu opartym o certyfikaty

	1 - wystawca certyfikatu (CA), posiada swój:
		cakey.pem			-	klucz prywatny 				
		cacert.pem			-	certyfikat wystawiony przez siebie	

	2 - Brama VPN - posiada swój:
		gwkey.pem_bezhasla		-	klucz prywatny
		gwreq.pem			-	wniosek o wydanie certyfikatu
		gwcert.pem			-	wydany przez CA certyfikat
	
	3 - User - posiada :
		userkey.pem			-	klucz prywatny
		userreq.pem			-	wniosek o wydanie certyfikatu
		usercert.pem			-	podpisany przez CA certyfikat


	czê?ci¹ wspóln¹ dla obu stron tunelu bêdzie certyfikat wystawcy (CA_cert), 
	dzieki niemu tworzone sa certyfikaty bramy i userów (na podstawie uprzednio przygotowanych wniosków) 


   b) Konfiguracja pliku /etc/ssl/openssl.cnf

	Nale¿y podaæ w³a?ciwy katalog dla zmiennej dir. Ja za³o¿y³em sobie katalog /keys i tam OpenSSL przygotowuje
	mi wszystkie pliki: 

		# mkdir /root/keys

	    [ CA_default ]

	UWAGA !!! 
		nie powinno byc kropki !!! przed /root/keys

 nie tak    dir             = ./root/keys            # Where everything is kept

	    dir             = /root/keys                 # 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.
	    new_certs_dir   = $dir/newcerts         # default place for new certs.

	    certificate     = $dir/cacert.pem       # The CA certificate
	    serial          = $dir/serial           # The current serial number
	    crl             = $dir/crl.pem          # The current CRL
	    private_key     = $dir/private/cakey.pem# The private key
	    RANDFILE        = $dir/private/.rand    # private random number file
	

	Ustawiamy waznosc certyfikatu na 10 lat

		default_days    = 3650                  # how long to certify for

	Ustawiamy domyslne zmienne regionu

		[ req_distinguished_name ]
	    	countryName                     = Country Name (2 letter code)
	    	countryName_default             = PL      
	    	stateOrProvinceName             = State or Province Name (full name)
	    	stateOrProvinceName_default     = Poland
	    	localityName                    = Locality Name (eg, city)
	    	localityName_default            = Wroclaw

	Wa¿nym jest ¿eby? za³o¿y³ katalog i stworzyl pliki:

		# mkdir /root/keys
		# mkdir /root/keys/crl
		# mkdir /root/keys/private
		# mkdir /root/keys/certs
		# mkdir /root/keys/newcerts

		# touch /root/keys/index.txt
	    	# echo 00 > /root/keys/serial


   c) Tworzenie kluczy o?rodka certyfikacyjnego (wystawca certyfikatu) 


	na tym etapie tworzone sa :

	- klucz publiczny osrodka certyfikacyjnego	- cacert.pem
	- klucz prywatny osrodka certyfikacyjnego	- private/cakey.pem (kluczem prywatnym podpisujemy certyfikaty)


	przechodzimy do katalogu /root/keys/

		# cd /root/keys/

	generujemy klucz prywatny wystawcy certyfikatu cakey.pem

		# openssl genrsa -des3 -out private/cakey.pem 1024

			Podajemy haslo dostepu
			Enter PEM pass phrase: xxxxxx
			Country Name (2 letter code) [AU]:pl
			State or Province Name (full name) [Some-State]:dolnoslaskie
			Locality Name (eg, city) []:wroclaw
			Organization Name (eg, company) [Internet Widgits Pty Ltd]:wadex
			Organizational Unit Name (eg, section) []:wadex
			Common Name (eg, YOUR name) []:x
			Email Address []:			

	generujemy certyfikat wystawcy - czyli certyfikat Root CA wazny na 10 lat

		# openssl req -new -x509 -days 3650 -key private/cakey.pem -out cacert.pem

		Jako has³o podajemy nasze hase³ko klucza prywatnego Root CA
		Enter PEM pass phrase: xxxxxx
			Country Name (2 letter code) [AU]:pl
			State or Province Name (full name) [Some-State]:dolnoslaskie
			Locality Name (eg, city) []:wroclaw
			Organization Name (eg, company) [Internet Widgits Pty Ltd]:wadex
			Organizational Unit Name (eg, section) []:wadex
			Common Name (eg, YOUR name) []:x
			Email Address []:	


	
	UWAGA !!!
		po wygenerowaniu ustawiamy prawa do klucza prywatnego cakey.pem na 600
	
		# chmod 400 /root/keys/private/cakey.pem
		# chmod 400 /root/keys/cacert.pem


   d) Tworzymy klucz i certyfikat dla bramy VPN

	1) generujemy klucz prywatny bramy VPN

		# openssl genrsa -des3 -out private/gwkey.pem 1024

		Problem z has³em dla klucza bramy polega na tym, ¿e przed ka¿dym zestawieniem tunela trzeba 
		bêdzie podaæ has³o (po stronie bramy !, a nie da siê go pobraæ z pliku, przynajmniej nie 
		widzê takiej opcji). Je?li chcesz unikn¹æ pytania, to mo¿esz ?ci¹gn¹æ has³o z klucza. 
		Zrobimy to jednak na samym koñcu 

	2) Dalej tworzymy wniosek (do Root CA) o wydanie nam certyfikatu: 

		# openssl req -new -key private/gwkey.pem -out gwreq.pem

		Potwierdzamy has³em klucza prywatnego BRAMY 
		W pytaniu o 'Common Name' mo¿esz podaæ nazwê firmy albo inn¹ swoj¹ nazwê. 
		Bêdzie tam te¿ pytanie o jakie? dodatkowe atrybuty -- zostawiamy puste.

	3) Teraz jako Root CA wydajemy bramie certyfikat: 

	    	# openssl ca -notext -in gwreq.pem -out gwcert.pem
	
		{tutaj podajemy has³o klucza prywatnego Root CA - te pierwsze has³o w ogóle)


	Z wa¿nych plików mamy ju¿: 

	private/cakey.pem - klucz prywatny wystawcy (Root CA) 
	private/gwkey.pem - klucz prywatny bramy (ten bez hasla) 
	cacert.pem - certyfikat wystawcy certyfikatu - bêdzie potrzebny w konfigu OpenVPN-a - po obu stronach tunela 
	gwcert.pem - certyfikat bramy vpn - bêdzie potrzebny w konfigu po stronie bramy VPN 

	Czyli brakuje nam jeszcze klucza prywatnego usera i podpisanego dla niego (przez CA) 
	certyfikatu (krótko userkey.pem i usercert.pem).

   e) Tworzymy klucz i certyfikat dla zdalnego uzytkownika

	1) generujemy klucz prywatny zdalnego uzytkownika

		# openssl genrsa -des3 -out private/userkey.pem 1024

	2) Dalej tworzymy wniosek (do Root CA) o wydanie nam certyfikatu: 

		# openssl req -new -key private/userkey.pem -out userreq.pem
	    	(teraz nale¿y podaæ has³o klucza prywatnego usera - te powy¿sze)

	3) Teraz jako Root CA wydajemy zdalnemu uzytkownikowi certyfikat: 

	    	# openssl ca -notext -in userreq.pem -out usercert.pem

	(teraz nale¿y podaæ oczywi?cie has³o klucza wystawcy CA - czyli to pierwsze hase³ko w ogóle)
	Mo¿na rozwa¿yæ opcjê skrócenia czasu wa¿no?ci kluczy userów do np. kilku miesiêcy 
	(ustawia to prze³¹cznik enddate przy podpisie przez CA - format YYMMDDHHMMSSZ)
	
   f) Sciagniecie hasla z klucza bramy

	Teraz mo¿emy ?ci¹gn¹æ has³o z klucza bramy: 

		# openssl rsa -in private/gwkey.pem -out private/gwkey.pem_bezhasla

		oczywi?cie operacja siê uda tylko pod warunkiem podania poprawnego has³a dla gwkey.pem


   g) zgromadzone certyfikaty :

	cakey.pem , cacert.pem , gwkey.pem , gwcert.pem , userkey.pem , usercert.pem

	Pliki *req.pem (wnioski) mo¿esz skasowaæ - nie s¹ ju¿ potrzebne

   h) Przed przyst¹pieniem do edycji konfiga musimy wygenerowaæ jeszcze jeden plik (Diffie Hellman parameters) 

	# openssl dhparam -out dh1024.pem 1024


   i) Przygotowujemy pliki konfiguracyjne

	Maj¹c ju¿ wszystkie pliki kluczy kopiujemy do jednego podkatalogu np. /etc/openvpn/certs/ 
	i przystêpujemy do edycji konfiga

	1) plik konfiguracyjny serwera (bramy VPN)

	       # przyk³adowa konfiguracja przy u¿yciu certyfikatów. Zwróc uwagê
	       # odró¿nienie klienta i serwera.
	       # plik konfiguracyjny serwera (bramy VPN)
	       dev tun
	       tun-mtu 1500
	       ifconfig 10.3.0.1 10.3.0.2

	       ; port 5000

		user nobody
		group nogroup

	       comp-lzo

		  ; ping 15

		  ; ping 15
		  ; ping-restart 45
		  ; ping-timer-rem
		  ; persist-tun
		  ; persist-key

		verb 4
		tls-server
		dh /etc/openvpn/certs/dh1024.pem
		
		# certyfikat wystawcy (CA)
		ca /etc/openvpn/certs/cacert.pem

		# certyfikat bramy
		cert /etc/openvpn/certs/gwcert.pem

		# klucz prywatny bramy 
		key /etc/openvpn/certs/gwkey.pem
		# lub /etc/openvpn/certs/gwkey.pem_bezhasla
		;eof



	2) plik konfiguracyjny usera

		
		remote IP_SERWERA_VPN   # faktyczne "zewnêtrzne" IP Internetowe Bramy VPN
		port 5000
		dev tun
		tun-mtu 1500
		ifconfig 10.3.0.2 10.3.0.1

		tls-client

		 Certificate Authority file
		 ca c:\progra~1\openvpn\config\cacert.pem
		
		 # Our certificate/public key
		 cert c:\progra~1\openvpn\config\usercert.pem
		
		 # Our private key
		 key c:\progra~1\openvpn\config\userkey.pem
		
		 ; ping-restart 60
		 ; ping-timer-rem
		 ; persist-tun
		 ; persist-key
		 ; resolv-retry 86400
		
		# # keep-alive ping
		ping 10
		
		# # enable LZO compression
		comp-lzo
		verb 4
		; eof

   j) Uruchamiamy tunel VPN

		(na bramie) # openvpn --config /etc/openvpn/gw-openvpn.cfg &
		(na userze) # openvpn --config /etc/openvpn/user-openvpn.cfg &

	Po stronie windowsa albo j.w. z lini komend, albo prawym klawiszem myszy kliknij na pliku konfiguracyjnym 
	i z menu wybierz 'Start OpenVPN on this config file'
	Obserwuj komunikaty, czêstym b³êdem jest literówka w ?cie¿ce do certyfikatów. Je?li tunel siê postawi 
	powinno siê daæ pingn¹æ przeciwn¹ stronê, czyli po stronie Windowsa powinno daæ siê 
	pingn¹æ IP 10.3.0.1 - je?li tak, to wszystko dzia³a OK ! ¯eby teraz móc dostaæ siê do komputerów w 
	sieci wewnêtrznej po drugiej stronie bramy VPN trzeba dodaæ trase routingu. Zak³adaj¹c, ¿e sieæ firmowa 
	to pula 192.168.11.0/24 nale¿y wpisaæ:

		; sk³adnia unixowa
		 # route add -net 192.168.11.0 netmask 255.255.255.0 gw 10.3.0.1
		
		; sk³adnia windowsowa
		 # route add 192.168.11.0 mask 255.255.255.0 10.3.0.1
	    
	Po wpisaniu powy¿szego powinno daæ siê pingowaæ komputery w sieci wewnêtrznej firmy (np. 192.168.11.5)
	¯eby przy ka¿dym zestawianiu tunela nie wpisywaæ rêcznie routingu da siê dodaæ to polecenie do samego konfiga


   k) 


8. VPN + IPX


	a) uaktywnic modul do jadra


		 Networking options  --->
			<*> 802.1d Ethernet Bridging

		Network device support  --->
			<*> Universal TUN/TAP device driver support
			<*> Ethertap network tap (OBSOLETE)

	
	b) zainstalowac pakiet pakiet bridge-utils

		# apt-get install bridge-utils

9. Uruchomienie VPN + IPX z wykorzystaniem klucza sekretnego

	a) tworzymy skrypt uruchomieniowy dla bramy VPN

		# touch ./ipx

	   z zawartoscia :
		tworzymy most i dodaæ do niego interfejsy tap0 i eth1 , gdzie eth1 
		to karta ³¹cz¹ca bramê VPN z sieci¹ wewnêtrzn¹ LAN firmy

		#!/bin/bash
		openvpn --mktun --dev tap0
		ifconfig eth1 0
		brctl addbr br0
		brctl addif br0 eth1
		brctl addif br0 tap0
		ifconfig tap0 0.0.0.0 promisc up
		ifconfig eth1 0.0.0.0 promisc up
		ifconfig br0 192.168.12.1 netmask 255.255.255.0 broadcast 192.168.12.255
		/usr/local/sbin/openvpn --config /etc/openvpn/gw-ipx.cfg &

	   
	   tworzymy plik konfiguracyjny gw-ipx.cfg :

		# touch gw-ipx.cfg

	   z zawartoscia :

		dev tap0
		port 5000
		tun-mtu 1500
		tun-mtu-extra 64
		remote 192.168.10.249
		user nobody
		group nogroup
		comp-lzo
		secret /etc/openvpn/secret.key
		cipher DES-CBC
		ping-restart 60
		ping 10
		verb 3

	b) tworzymy skrypt uruchomieniowy dla klienta VPN

		wszystko tak samo jak dla bramy, tyle ze zmieniamy IP:

		z 192.168.12.1 na 192.168.12.2
		z 192.168.10.249 na 192.168.10.252



	c) G³ówna ró¿nica z TUN na TAP w pliku konfiguracyjnym to :

		nazwa interfejsu - tap zamiast tun 
		brak adresów lokalnego i zdalnego wirtualnego interfejsu tap,
		jest tylko adres sieci (klasa adresowa tak jak w wewn¹trz firmy) 
		po stronie klienta (Windows) konfig wygl¹da dok³adnie tak samo, tyle ¿e trzeba podaæ jeszcze 
			adres IP bramy VPN
		(ten internetowy - faktyczny IP z czym sie ma ³¹czyæ): 
    		remote xx.yy.qqq.zz 
		I tyle , w przypadku bridgowania nie trzeba (z za³o¿enia) ustawiaæ ¿adnych tras routingu - jeste?my
			przecie¿ wewn¹trz sieci firmowej :)

10. Uruchomienie VPN + IPX z uzyciem certyfikatow SSL/TLS

a) tworzymy skrypt uruchomieniowy dla bramy VPN

		# touch ./ipx

	   z zawartoscia :
		tworzymy most i dodaæ do niego interfejsy tap0 i eth1 , gdzie eth1 
		to karta ³¹cz¹ca bramê VPN z sieci¹ wewnêtrzn¹ LAN firmy

		#!/bin/bash
		openvpn --mktun --dev tap0
		ifconfig eth1 0
		brctl addbr br0
		brctl addif br0 eth1
		brctl addif br0 tap0
		ifconfig tap0 0.0.0.0 promisc up
		ifconfig eth1 0.0.0.0 promisc up
		ifconfig br0 192.168.12.1 netmask 255.255.255.0 broadcast 192.168.12.255
		/usr/local/sbin/openvpn --config /etc/openvpn/gw-ipx.cfg &

	   
	   tworzymy plik konfiguracyjny gw-ipx.cfg :

		# touch gw-ipx.cfg

	   z zawartoscia :

		dev tap0
		port 5000
		tun-mtu 1500
		tun-mtu-extra 64
		remote 192.168.10.249
		user nobody
		group nogroup
		comp-lzo
		
		auth MD5
		cipher DES-CBC
		ping-restart 60
		ping 10
		verb 3

		tls-server
		dh /etc/openvpn/certs/dh1024.pem
		ca /etc/openvpn/certs/cacert.pem
		cert /etc/openvpn/certs/gwcert.pem
		key /etc/openvpn/certs/gwkey-gh.pem

		log /var/log/openvpn.log

	b) tworzymy skrypt uruchomieniowy dla klienta VPN

		wszystko tak samo jak dla bramy, tyle ze zmieniamy 

		tls-client
		dh /etc/openvpn/certs/dh1024.pem
		ca /etc/openvpn/certs/cacert.pem
		cert /etc/openvpn/certs/usercert.pem
		key /etc/openvpn/certs/userkey-gh.pem

		IP:
		z 192.168.12.1 na 192.168.12.2
		z 192.168.10.249 na 192.168.10.252

	c) tworzymy skrypt przeladowujacy program openvpn

		# touch ./ipxr

	   z zawartoscia

		#!/bin/bash
		/usr/local/sbin/openvpn --config /etc/openvpn/gw-ipx.cfg &

Reply to: