Netværk, WAN teknik Introduktion til VPN WAN kredsløb Viborg A Odense B Roskilde
Indhold Forudsætninger... 3 Introduktion til VPN... 3 VPN tunnel... 3 Site-to-site VPN tunnel... 4 Site-to-site VPN tunnel princip... 4 Konfiguration af hosts... 4 Konfiguration af gateways... 5 Indre og ydre pakker... 6 Overførsel af trafik gennem tunnelen... 6 Kryptering i VPN tunnel... 6 Klient VPN tunnel... 7 Konfiguration af VPN server og VPN klienter... 8 Konfiguration af VPN server... 8 Konfiguration af VPN klienter... 9 Opkobling af VPN klient... 9 Sikkerhed... 10 VPN tunneling protokoller... 11 Side 2 af 11
Forudsætninger Kendskab til forudgående afsnit i WAN teknik nødvendigt Introduktion til VPN Et VPN eller Virtual Private Network er en netværksforbindelse som anvendes af organisationer som ønsker en privat WAN-løsning i et eksisterende delt netværk. tet er et eksempel på et eksisterende delt netværk, hvor det er muligt at lave en VPN forbindelse mellem to lokationer. tet Figur 1 illustration af en VPN WAN forbindelse gennem tet VPN tunnel En VPN tunnel er indpakning af data pakker i en tunneling protokol der har ansvaret for transport af data gennem det delte netværk. Tunnelen vist i Figur 2 er et site-to-site VPN tunnel der er oprettet gennem tet. Formålet med dette er at anvende tet som en WAN forbindelse i dette tilfælde mellem hovedkontor og en afdeling. Fordelen ved at anvende tet til at sammenkoble geografisk adskilte lokationer med et VPN er primært økonomi, da det er billigere at bruge tet end at leje en dedikeret WAN forbindelse som for eksempel MPLS1 eller VPLS2 tet Figur 2 - VPN tunnel overordnet princip 1 2 MPLS Multi Protocol Label Switching er en WAN tjeneste der kan lejes fra WAN udbydere VPLS Virtual Private LAN Service er en WAN tjeneste der kan lejes fra WAN udbydere Side 3 af 11
Site-to-site VPN tunnel Site-to-site VPN tunneler er punkt-til-punkt forbindelser mellem to lokationer. Hvis der er mere end to lokationer er det nødvendigt at lave en delvis eller fuld matrix partial eller full mesh. I Figur 3 er der vist et eksempel på en fuld matrix af site-to-site VPN tunneler gennem tet. Hver lokation benytter den sammen forbindelse til alle VPN tunneler. Frederisksund Hillerød Roskilde Kalundborg Næstved Holbæk Figur 3 - Eksempel på fuld matrix af site-to-site VPN tunneler Site-to-site VPN tunnel princip En tunnel er opbygget ved at anvende en tunneling protokol. I eksemplet vist i Figur 4 ønsker en virksomhed at koble to lokationer sammen på den billigst mulige måde. Virksomhedens mål er at kunne sende trafik mellem netværket 172.16.0.0/16 i Viborg og netværket 172.17.0.0/16 på Frederiksberg. Virksomheden anskaffer forbindelser i begge lokationer eller bruger dem de har til at lave tunnelen igennem. I begge lokationer anvender virksomheden en gateway G1 og G2 med tunneling protokol software installeret. Begge gateways bliver tildelt offentlige IP adresser af udbyderen, når de tilsluttes til tet. I eksemplet 8.2.3 i Viborg og 72.5.6.7 på Frederiksberg. Frederiksberg Viborg Host 2 Host 1 8.2.3 72.5.6.7 7.7 9.9 172.17.0.0716 172.16.0.0/16 Figur 4 - Eksempel på site-to-site VPN tunnel mellem Viborg og Frederiksberg Konfiguration af hosts Hosts skal konfigureres til at sende trafik til den anden ende af tunnelen til den lokale gateway. Se eksempel i Figur 5. Side 4 af 11
Host 1 i Viborg konfigureres til at anvende G1 172.16. som default gateway. Host 1 vil derfor sende alle pakker der ikke er lokale på 172.16.0.0/16 til G1, herunder trafik til Frederiksberg 172.17.0.0/16. Host 2 på Frederiksberg konfigureres til at anvende G2 172.17. som default gateway. Host 2 vil derfor sende alle pakker der ikke er lokale på 172.17.0.0/16 til G2, herunder trafik til Viborg 172.16.0.0/16. Konfiguration af gateways For at tunnelen kan oprettes skal begge gateways konfigureres. Gateway G1 skal konfigureres til at videresende trafik til Frederiksberg 172.17.0.0/16 til G2 s offentlige IP adresse 72.5.6.7 o Trafik til andre IP adresser end 172.16.0.0/16 og 172.17.0.0/16 sendes til tet Gateway G2 skal konfigureres til at videresende trafik til Viborg 172.16.0.0/16 til G1 s offentlige IP adresse 8.2.3 o Trafik til andre IP adresser end 172.16.0.0/16 og 172.17.0.0/16 sendes til tet Konfiguration af Host 1 IP adresse...: 172.16.7.7 Subnet mask...: 255.255.0.0 Default Gateway: 172.16. Viborg Konfiguration af Host 2 IP adresse...: 172.17.9.9 Subnet mask...: 255.255.0.0 Default Gateway: 172.17. Frederiksberg Host 1 Host 2 8.2.3 72.5.6.7 7.7 9.9 172.16.0.0/16 172.17.0.0716 Konfiguration af G1 IP adresse : 172.16. Subnet mask: 255.255.0.0 Trafik til.: 172.17.0.0/16 send til 72.5.6.7 Konfiguration af G2 IP adresse : 172.17. Subnet mask: 255.255.0.0 Trafik til.: 172.16.0.0/16 send til 8.2.3 Figur 5 - Tegning med delvis konfiguration af hosts og gateways Side 5 af 11
Indre og ydre pakker Når en pakke transporteres i en anden pakke kaldes den transporterede pakke den indre pakke og den pakke der transporterer den ydre pakke. Se Figur 6. Indre pakke 172.16.7.7 172.17.9.9 8.2.3 72.5.6.7 Ydre pakke Overførsel af trafik gennem tunnelen Transporten af data gennem tunnelen foregår ved at tunneling på gatewayen pakker den originale IP pakke ind i en ny IP pakke, som vist i Figur 7. Figur 6 - Indre og ydre pakke softwaren De private IP netværk 172.16.0.0/16 og 172.17.0.0/16 er ulovlige på tet, hvor kun offentlige IP adresser videresendes. Viborg 172.16.7.7 172.17.9.9 8.2.3 Pakke der forlader G1 72.5.6.7 Frederiksberg Host 1 Host 2 8.2.3 72.5.6.7 7.7 9.9 172.16.7.7 172.17.9.9 172.16.0.0/16 172.17.0.0716 172.16.7.7 172.17.9.9 172.16.7.7 172.17.9.9 Pakke der folader Host 1 Figur 7 - Eksempel på transport af pakke gennem tunnel 172.16.7.7 172.17.9.9 Pakke modtaget af Host 2 1. Host 1 ønsker at sende en IP pakke til 172.17.9.9 på Frederiksberg og sender den til G1 2. G1 ser IP pakken skal til 172.17.0.0/16 netværket og pakker den originale pakke ind i en ny IP pakke med offentlige til og fra adresser fra 8.2.3 til 72.5.6.7 3. tet router pakken fra Viborg til G2 på Frederiksberg. (72.5.6.7) 4. G2 pakker den indre pakke ud og videresender den til modtageren 172.17.9.9 Pakken har passeret tunnelen mellem G1 og G2 uændret tilsyneladende gennem en tunnel fra G1 i Viborg til G2 på Frederiksberg. Kryptering i VPN tunnel For at øge sikkerheden vil man ofte vælge at kryptere dataene i tunnelen mellem de to gateways. Dette kræver at der er installeret og konfigureret krypteringssoftware på begge gateways. Det grundlæggende princip i kryptering er vist i Figur 8 hvor Bob krypterer den hemmelige meddelelse med krypteringsnøglen XYZ12345 og sender den igennem tet til Alice. Alice dekrypterer Bobs meddelelse da hun også kender den hemmelige nøgle XYZ12345. Bob Kære Alice Konto 445542 Pin kode 2345 Venlig hilsen Bob XYZ12345 Kryptering med hemmelig nøgle 0x,fAkwle#kfwj ef9kssdksjed fs98,w2jksejd Fbq3s<dkjhbY wuh329+8ihf GO.uGwe)fkjF we923>9qh8 Usikkert netværk (tet) 0x,fAkwle#kfwj ef9kssdksjed fs98,w2jksejd Fbq3s<dkjhbY wuh329+8ihf GO.uGwe)fkjF we923>9qh8 XYZ12345 Dekryptering med hemmelig nøgle Alice Kære Alice Konto 445542 Pin kode 2345 Venlig hilsen Bob Figur 8 - Kryptering af data med hemmelig nøgle Side 6 af 11
Med anvendelse af kryptering i en site-to-site VPN krypteres hele den indre pakke. Fordelen ved at kryptere hele den indre pakke er at eventuelle personer der prøver at samle informationer om kommunikationen mellem Viborg og Frederiksberg ikke kan se 1. ene i den indre pakke er krypteret. ( er skjult) 2. IP adressen på afsenderen i Viborg er krypteret. (Identitet på afsender skjult) 3. IP adressen på modtageren på Frederiksberg er krypteret. (Identitet på modtager skjult) Viborg 0x,fAkwle#kfwjef9kSsd ksjedfs98,w2jksejdfb 8.2.3 Pakke der forlader G1 72.5.6.7 Frederiksberg Host 1 Host 2 8.2.3 72.5.6.7 7.7 9.9 172.16.7.7 172.17.9.9 172.16.0.0/16 172.17.0.0716 172.16.7.7 172.17.9.9 172.16.7.7 172.17.9.9 Pakke der folader Host 1 Figur 9 - Den indre pakke er krypteret med den hemmelige nøgle 172.16.7.7 172.17.9.9 Klient VPN tunnel Klient VPN benyttes ofte af organisationer som ønsker medarbejdere der ikke fysisk er i organisationen, kan lave en forbindelse til organisationens netværk via tet. Se eksempel i Figur 10. Klient VPN tunnel opkoblinger benyttes ofte som hjemmearbejdspladser eller til rejsende medarbejdere, således de kan koble op på det interne netværk i organisationen. Pakke modtaget af Host 2 Figur 10 - Klient VPN opkoblinger via tet Side 7 af 11
Det grundlæggende scenarie i en klient VPN opkobling er en klient tilkoblet tet se Figur 11 som ønsker adgang til organisationens interne ressourcer, i dette tilfælde den interne filserver med IP adressen 192.168.1.10. Interne klienter Filserver Firewall og VPN server 8.2.3 72.5.6.7 VPN klient 101 102 10 1 192.168.1.0/24 Figur 11 - Klient tilsluttet tet før opkobling af VPN forbindelse Konfiguration af VPN server og VPN klienter VPN serveren og VPN klienterne skal konfigureres Konfiguration af VPN server En VPN server kan være direkte tilsluttet tet som i eksemplet i Figur 11 eller være beskyttet bag en firewall. VPN serveren skal være tilgængelig fra tet for at VPN klienterne kan koble op. Hvis VPN serveren er beskyttet bag en firewall er det nødvendigt at konfigurere firewallen til at tillade trafik fra VPN klienterne til VPN serveren. En VPN server bliver typisk konfigureret med en pulje af IP adresser som den kan tildele VPN klienter når de kobler op. I eksemplet i Figur 12 er puljen fra 192.168.1.50 til og med 192.168.1.99. Herudover har VPN serveren typisk en database over brugere og deres passwords. Interne klienter Filserver Firewall og VPN server 8.2.3 72.5.6.7 VPN klient 101 102 10 1 192.168.1.0/24 Konfiguration af VPN server IP adresse : 8.2.3 (Ekstern) IP adresse : 192.168.1.1 (Intern) Subnet mask: 255.255.255.0 IP pulje.: 192.168.1.50 til 192.168.1.99 Bruger 1..: Hans password.: XYZ123 Bruger 2.: Pia password.: ABC456... Konfiguration af VPN klient IP adresse.: 72.5.6.7 (DHCP tildelt) VPN server.: 8.2.3 Bruger...: Hans password.: XYZ123 Figur 12 - Konfiguration af VPN server og VPN klienter Side 8 af 11
Konfiguration af VPN klienter VPN klienterne er typisk konfigureret med IP adressen eller host navnet på VPN serveren. Host navnet kunne for eksempel være VPN.DOMÆNE.DK som VPN klienten via DNS kunne resolve omsætte til en IP adresse. Herudover kan VPN klienten være konfigureret med et brugernavn og et password. Opkobling af VPN klient Når VPN klienten kobler op til VPN serveren vil VPN serveren tildele VPN klienten en IP adresse fra IP puljen. I eksempel i Figur 13 bliver klienten tildelt IP adressen 192.168.1.50 som den bruger som en virtuel IP adresse. En virtuel IP adresse har ikke sit eget fysiske netværkskort. Ved at anvende den virtuelle IP adresse er VPN klienten tilsyneladende koblet til netværket 192.168.1.0/24. VPN klienten har samme funktionalitet som de interne klienter i hovedkontoret. 192.168.1.10 192.168.1.50 Filserver Interne klienter 8.2.3 Firewall og VPN server 72.5.6.7 192.168.1.10 192.168.1.50 Pakke der forlader VPN klient 8.2.3 72.5.6.7 VPN klient 101 102 10 1 192.168.1.0/24 192.168.1.10 192.168.1.50 Konfiguration af VPN server IP adresse : 8.2.3 (Ekstern) IP adresse : 192.168.1.1 (Intern) Virtuel IP.: 192.168.1.50 (Intern) Subnet mask: 255.255.255.0 IP pulje.: 192.168.1.50 til 192.168.1.99 Bruger 1..: Hans password.: XYZ123 Bruger 2.: Pia password.: ABC456... Konfiguration af VPN klient IP adresse.: 72.5.6.7 (DHCP tildelt) Virtuel IP.: 192.168.1.50 VPN server.: 8.2.3 Bruger...: Hans password.: XYZ123 Figur 13 - Pakke fra VPN klient til filserver igennem tunnelen VPN serveren har samtidigt med at den tildelte IP adressen 192.168.1.50 til VPN klienten oprettet en virtuel IP adresse på sit interne netværkskort som i eksemplet har to IP adresser 192.168.1.1 og 192.168.1.50. Filserveren som i Figur 13 får en pakke fra VPN klienten ser filserveren som afsender af pakken fra IP adresse 192.168.1.50. Når filserveren returner pakker til afsenderen vil den sende pakken til 192.168.1.50, som er VPN serveren internt. VPN serveren vil herefter som vist i Figur 14 videresende pakken i tunnelen til VPN klienten. Side 9 af 11
192.168.1.10 192.168.1.50 Filserver Interne klienter Firewall og VPN server 192.168.1.10 192.168.1.50 8.2.3 72.5.6.7 Pakke der forlader VPN klient 8.2.3 72.5.6.7 VPN klient 101 102 10 1 192.168.1.0/24 192.168.1.50 192.168.1.10 Konfiguration af VPN server IP adresse : 8.2.3 (Ekstern) IP adresse : 192.168.1.1 (Intern) Virtuel IP.: 192.168.1.50 (Intern) Subnet mask: 255.255.255.0 IP pulje.: 192.168.1.50 til 192.168.1.99 Bruger 1..: Hans password.: XYZ123 Bruger 2.: Pia password.: ABC456... Konfiguration af VPN klient IP adresse.: 72.5.6.7 (DHCP tildelt) Virtuel IP.: 192.168.1.50 VPN server.: 8.2.3 Bruger...: Hans password.: XYZ123 Figur 14 - Pakke fra filserver til VPN klient Sikkerhed Oftest vil en VPN server/klient løsning blive kombineret med kryptering efter samme princip som i afsnittet Kryptering i VPN tunnel. Side 10 af 11
VPN tunneling protokoller Der findes adskillige VPN tunneling protokoller, hver med deres fordele og ulemper. Protokol Betydning Kan kryptere data L2TP Layer 2 Tunneling Protocol Nej PPTP Point-to-Point Tunneling Protocol Nej/ja GRE Generic Routing Encapsulation Nej IPSec Protocol Security Ja SSL/TLS Secure Sockets Layer/Tranport Ja Side 11 af 11