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 &

Odpowiedź listem elektroniczym