Konfigurimi i VPN në Linux

## Hyrje 
Kur rrjetet e vogla duhet qe te shtrihen ne një distance si psh jashtë një godine ose zone dhe për këtë do te duhet një data link i sigurte, lind nevoja e krijimit te një Virtual Private Network (VPN) për te përftuar një data stream te enkriptuar midis firewallit te njërit rrjet me tjetrin.  VPN është vërtet e përshtatshme sepse mund tju referohesh serverave remote jo me adresën IP te tyre publike por me adresën reale IP private.  Kjo eviton problemet ne konfigurimet e NAT si psh one to many.

Ky paragraf do te shpjegoje konfigurimin e një linku VPN permanent site-to-site ose tunel duke përdorur Openswan, një nga paketat me popullore për VPN ne Linux.

## VPN Vështrim i përgjithshëm 
Me poshtë jepen disa pika qe rekomandohen te ndiqen ne krijimin e një SOHO (Small Office Home Office) Linux VPN.

* Protokolli IPSec (IP Secure) mbi te cilën mbështeten VPN-te nuk toleron qe data packets ti nënshtrohen network address translation.  Nqs një firewall ka NAT te aplikuar, duhet qe ai te çaktivizohet për paketat qe do te përshkojnë VPN.
* Rrjetet ne fundet e  tunelit VPN duhet te përdorin range adresash IP te ndryshme.  Shume kompani ne rrjetet e tyre operojnë me 192.168.0.x ose 192.168.1.x.  Duhet qe te ricaktohen adresat IP ne mënyre qe mos ndodhin mbivendosje.

## Një skenar i mundshëm 
Figura me poshtë ilustron topologjinë e një VPN midis 2 SOHO.  Jepet skenari : 
* Dy anët e rrejtit kërkojnë një VPN ne mënyre qe komunikimi i tyre te ndodhe pa friken e eavesdropping
* Administratoret e rrjetit ne te dy anët janë ne dijeni qe lidhja VPN site-to-site permanente kërkon adresa IP fikse dhe kështu nuk mund te përdoret konfigurimi DHCP nga ISP e cdo rrjeti.  Adresat IP nuk mbivendosen ne këtë rast.
* Metoda për shkëmbimin e celesave te enkriptuar qe do te përdoret është RSA. 
* Ana 1 përdor adresën private 172.168.1.0 /24 dhe ka një pajisje VPN/firewall ne Linux me një adrese IP te jashtme 97.158.253.25.
* Ana 1 përdor adresën private 10.0.0.0 /24 dhe ka një pajisje VPN/firewall ne Linux me një adrese IP te jashtme 6.25.232.1.

## Downloadimi dhe Instalimi i Paketës Openswan 
Kjo pakete mund te downloadohet ne adresën www.openswan.org.  Siti ka instruksione për instalimin e produktit ne Fedora dhe versione te tjera te Linux.  Por qe te downloadohet kjo pakete duhet qe te posedohen tool-se për ipsec te instaluara ne sistem.  Emrat janë te ngjashëm me openswan-2.1.4-1.fc2.i386.rpm

## Si te startohet Openswan 
Mund te konfigurohet Openswan qe te startohet kur sistemi booton duke përdorur komandën : 

 [root@bigboy tmp]# chkconfig ipsec on

Gjithashtu mund te startohet, stopohet dhe ristartohet Openswan pas bootimit me ane te :

 [root@bigboy tmp]# service ipsec start
 [root@bigboy tmp]# service ipsec stop
 [root@bigboy tmp]# service ipsec restart

Sa here qe behet një ndryshim ne file ipsec.conf duhet qe procesi ipsec te ristartohet.

Menjëherë pas instalimit te Openswan shtypet komanda ipsec verify.  Kjo duhet te japë një status [OK] për shumicën e checkimeve : 
 [root@vpn2 tmp]# ipsec verify
 Checking your system to see if IPsec got installed and started correctly
 Version check and ipsec on-path                      [OK]
 Linux Openswan U2.2.0/K2.6.8-1.521 (native)
 Checking for IPsec support in kernel                 [OK]
 Checking for RSA private key (/etc/ipsec.secrets)    [OK]
 Checking that pluto is running                       [OK]
 Two or more interfaces found, checking IP forwarding [OK]
 Checking NAT and MASQUERADEing                      [N/A]
 Checking for 'ip' command                            [OK]
 Checking for 'iptables' command                      [OK]
 Checking for 'setkey' command for native IPsec stack support [OK]
 [root@vpn2 tmp]#

## Si te rregullohen eroret e statusit 
Eroret me te zakonshme janë ato te forwarding dhe opportunistic encryption.

## IP forwarding 
Çdo pajisje ne Linux ne VPN duhet te ketë një routing ose një IP forwarding te aktivizuar.  Për ta aktivizuar atë duhet qe ne file /etc/sysctl.conf te shtohet një ip-forward.

 #
 # File: /etc/sysctl.conf
 #
 #---------------------------------------------------------
 # Enable routing (IP forwarding)
 #---------------------------------------------------------
 # net/ipv4/ip_forward = 1

Tani përdoret komanda sysctl –p per ta aktivizuar.
 [root@bigboy tmp]# sysctl -p
 ...
 ...
 net.ipv4.ip_forward = 1
 [root@bigboy tmp]#

## Opportunistic Encryption DNS Checks 
Karakteristika e Openswan : opportunistic encryption DNS check, lejon gateway-n qe te enkriptojne trafikun e tyre, edhe nëse 2 administratoret nuk kane pasur me pare një kontaktim dhe sistemi nuk ka ndonjë informacion mbi tjetrin.  Baza e kësaj është qe te gjitha lidhjet me serverin mbas pajisjes VPN te bëhen automatikisht te enkriptuara duke përdorur IPSec ne te njëjtën mënyre qe trafiku HTTP behet HTTPS.

Kjo karakteristike duhet te çaktivizohet ne default ne file-n e konfigurimit.

## Bibliografia dhe Referimet 
1. http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch21_:_Configuring_Linux_Mail_Servers 

2. http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables 

3. http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server 

4. http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch35_:_Configuring_Linux_VPNs 

5. http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch26_:_Linux_Software_RAID 

6. https://web.archive.org/web/20101115150512/http://www.worldstart.com/tips/tips.php/1085

7. http://www.cisco.com/en/US/products/sw/netmgtsw/index.html

8. http://www.cisco.com/en/US/products/hw/routers/index.html 

9. http://www.cisco.com/en/US/products/hw/vpndevc/index.html

10. http://www.cisco.com/en/US/products/hw/switches/index.html

11. http://www.cisco.com/en/US/products/ps6498/prod_bulletin0900aecd803ffd79.html

12. http://www.cisco.com/en/US/docs/app_ntwk_services/data_center_app_services/css11500series/v7.20/release/note/R720_x.html

13. https://web.archive.org/web/20110719215957/http://h18004.www1.hp.com/products/quickspecs/12572_na/12572_na.html

14. https://web.archive.org/web/20090528211826/http://newsroom.cisco.com/dlls/2006/prod_021306b.html

15. http://www.cisco.com/en/US/products/ps6120/index.html

16. http://www.provantage.com/cisco-systems-ips-4240-k9~7CSCI07M.htm