tun
(for IP-nivå tunneler) og tap
(for Ethernet-nivå tunneler) -grensesnitt er støttet. I praksis, skal tun
-grensesnitt oftest brukes unntatt når VPN-klienter er ment til å bli integrert i tjenerens lokale nettverk ved hjelp av en Ethernet-bro.
pki/ca.crt
) vil bli lagret på alle maskiner (både tjener og klienter) som /etc/ssl/certs/Falcot_CA.crt
. Tjenerens sertifikat er bare installert på tjeneren (pki/issued/vpn.falcot.com.crt
går til /etc/ssl/certs/vpn.falcot.com.crt
, og pki/private/vpn.falcot.com.key
går til /etc/ssl/private/vpn.falcot.com.key
med begrensede tillatelser slik at bare administratoren kan lese den), med de tilsvarende Diffie-Hellman-parametrene (pki/dh.pem
) installert til /etc/openvpn/dh.pem
. Klientsertifikater er installert på den tilsvarende VPN-klienten på en tilsvarende måte.
/etc/openvpn/*.conf
. Å sette opp en VPN-tjener er derfor et spørsmål om å lagre en tilsvarende oppsettsfil i denne katalogen. Et godt utgangspunkt er /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
, som leder til en temmelig vanlig oppsatt tjener. Selvfølgelig må noen parametere tilpasses: ca
, cert
, key
og dh
må beskrive de valgte stedene (henholdsvis /etc/ssl/certs/Falcot_CA.crt
, /etc/ssl/vpn.falcot.com.crt
, /etc/ssl/private/vpn.falcot.com.key
og /etc/openvpn/dh.pem
). server 10.8.0.0 255.255.255.0
-anvisningen definerer subnettet som skal brukes av VPN; tjeneren bruker den første IP-adressen i dette området (10.8.0.1
), og resten av adressene er reservert for klienter.
tun0
-navnet. Imidlertid er brannmurer ofte satt opp på samme tid som det virkelige nettverksgrensesnittet, og skjer før OpenVPN starter. En god praksis er derfor å lage et varig virtuelt nettverksgrensesnitt, og sette opp OpenVPN til å bruke dette varige grensesnittet. Dette tillater videre å velge navnet til dette grensesnittet. For dette formål lager openvpn --mktun --dev vpn --dev-type tun
et virtuelt nettverksbrukergrensesnitt med navnet vpn
med type tun
; denne kommandoen kan enkelt legges inn i brannmuroppsettets skript, eller i en up
-anvisning i /etc/network/interfaces
-filen, eller en udev regel kan bli lagt til den enden. OpenVPN-oppsettfilen må også oppdateres tilsvarende, med dev vpn
- og dev-type tun
-anvisninger.
10.8.0.1
-adressen. Å gi klientene tilgang til det lokale nettverket (192.168.0.0/24), krever at en legger til en push route 192.168.0.0 255.255.255.0
-anvisning til OpenVPN-oppsettet slik at VPN-klienter automatisk får en nettverksrute som forteller dem at dette nettverket kan nås ved hjelp av VPN. Videre, maskiner på det lokale nettverket må også informeres om at ruten til VPN går gjennom VPN-tjeneren (dette fungerer automatisk når VPN-tjeneren er installert i porten). Alternativt kan VPN-tjeneren settes opp til å utføre IP-maskering, slik at tilkoblinger fra VPN-klienter ser ut som om de kommer fra VPN-tjeneren i stedet (se Seksjon 10.1, «Innfallsport (gateway)»).
/etc/openvpn/
. Et standardoppsett kan fås ved å bruke /usr/share/doc/openvpn/examples/sample-config-files/client.conf
som et startpunkt. remote vpn.falcot.com 1194
-anvisningen beskriver adressen og porten til OpenVPN-tjeneren; ca
, cert
og key
må også tilpasses til å beskrive plasseringen av de viktigste filene.
AUTOSTART
-anvisningen til none
i /etc/default/openvpn
-filen. Å starte eller stoppe en gitt VPN-forbindelse er alltid mulig med kommandoene systemctl start openvpn@name start
og systemctl stop openvpn@name stop
(der forbindelsen name sammenfaller med den som er definert i /etc/openvpn/name.conf
).
tun*
) på begge sider av en SSH-tilkobling, og disse virtuelle grensesnitt kan settes opp akkurat som om de var fysiske grensesnitt. Tunnelsystemet må først aktiveres ved å sette PermitTunnel
til «yes» i SSH-tjenerens oppsettsfil (/etc/ssh/sshd_config
). Når SSH-tilkoblingen etableres, må det eksplisitt bes om at det lages en tunnel med -w any:any
valget/alternativet (any
kan erstattes med det ønskede tun
enhetsnummeret). Dette krever at brukeren har administratorprivilegium på begge sider, for å kunne lage nettverksenheten (med andre ord, må forbindelsen etableres som rot).
/etc/ipsec.conf
inneholder parameterne for IPsec-tunnels (eller Security Associations, i IPsec-terminologien) som gjelder verten. Det finnes mange oppsetteksempler i /usr/share/doc/libreswan/
, og Libreswans elektroniske dokumentasjon har flere eksempler med forklaringer:
systemctl
; for eksempel vil systemctl start ipsec
starte IPsec-tjenesten.
/etc/ppp/options.pptp
, /etc/ppp/peers/falcot
, /etc/ppp/ip-up.d/falcot
, og /etc/ppp/ip-down.d/falcot
.
Eksempel 10.2. Filen /etc/ppp/options.pptp
# PPP-valg brukt med en PPTP-forbindelse lock noauth nobsdcomp nodeflate
Eksempel 10.3. Filen /etc/ppp/peers/falcot
# vpn.falcot.com er PPTP-tjeneren pty "pptp vpn.falcot.com --nolaunchpppd" # forbindelsen vil identifisere seg som "vpn"-brukeren user vpn remotename pptp # kryptering trengs require-mppe-128 file /etc/ppp/options.pptp ipparam falcot
pptpd
er PPTP-tjeneren for Linux. Hovedoppsettsfilen, /etc/pptpd.conf
, krever svært få endringer: localip (lokal IP-adresse), og remoteip (ekstern IP-adresse). I eksempelet nedenfor bruker PPTP-tjeneren alltid 192.168.0.199
-adressen, og PPTP-klienter mottar IP-adresser fra 192.168.0.200
til 192.168.0.250
.
Eksempel 10.6. Filen /etc/pptpd.conf
[..] # TAG: localip # TAG: remoteip # # Spesifiserer IP-adresseområdene på den lokal og den motsatte siden. # # Disse valgene ignoreres hvis delegerings-valget er satt. # # Enhver addresse vil fungere, så lenge den lokale maskinen tar hånd om # ruting. Hvis du derimot ønsker å bruke MS-Windows-nettverkstype bør du # bruke IP-adresser fra LAN-adresseområdet og bruke proxyarp-alternativet # i pppd-alternativsfilen, eller kjøre bcrelay. # # Du kan spesifisere enkelt-IP-adresser oppdelt med komma eller du kan skrive inn områder, # eller begge deler. Et eksempel: # # 192.168.0.234,192.168.0.245-249,192.168.0.254 # # VIKTIGE BEGRESNINGER: # # 1. Ingen mellomrom tillates mellom komma og inne i adresser. # # 2. Hvis du oppgir flere IP-adresser enn verdien av tilkoblingene vil den # starte på begynnelsen av listen og fortsette inntil den får # tilkoblings-IP-er. Øvrige blir ignorert. # # 3. Ingen forkortelser i områdene! Med andre ord, 234-8 betyr ikke 234 to 238, # du må skrive inn 234-238 hvis det er dette du mener. # # 4. Hvis du oppgir en enkelt lokalt IP-adresse så er det OK - alle lokale IP-adresser # vil bli satt til dette. Du MÅ fortsatt oppgi minst en IP for den andre enden for hver # samtidige klient. # # (Anbefalt) #localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245 # eller #localip 192.168.0.234-238,192.168.0.245 #remoteip 192.168.1.234-238,192.168.1.245 localip 192.168.0.199 remoteip 192.168.0.200-250
/etc/ppp/pptpd-options
. De viktige parametre er tjenernavnet (pptp
), domenenavnet (falcot.com
), og IP-adressene for DNS- og WINS-tjenere.
Eksempel 10.7. Filen /etc/ppp/pptpd-options
# Enable connection debugging facilities. # (see your syslog configuration for where pppd sends to) #debug # Name of the local system for authentication purposes # (must match the second field in /etc/ppp/chap-secrets entries) name pptpd # Optional: domain name to use for authentication ## change the domainname to your local domain domain falcot.com # Authentication ## these are reasonable defaults for WinXXXX clients ## for the security related settings auth refuse-pap refuse-chap refuse-mschap # Require the peer to authenticate itself using MS-CHAPv2 [Microsoft # Challenge Handshake Authentication Protocol, Version 2] authentication. require-mschap-v2 # Require MPPE 128-bit encryption # (note that MPPE requires the use of MSCHAP-V2 during authentication) require-mppe-128 # Network and Routing ## Fill in your addresses ms-dns 192.168.0.1 ms-wins 192.168.0.1 ## Fill in your netmask netmask 255.255.255.0 ## some defaults nodefaultroute proxyarp lock
vpn
-brukeren (og tilhørende passord) i /etc/ppp/chap-secrets
-filen. I motsetning til andre tilfeller hvor en asterisk (*
) ville fungere, må tjenernavnet fylles inn eksplisitt her. Videre identifiserer Windows PPTP-klienter seg med DOMENE\\BRUKER
-formen, i stedet for bare å gi et brukernavn. Dette forklarer hvorfor filen også nevner FALCOT\\vpn
-brukeren. Det er også mulig å spesifisere individuelle IP-adresser for brukere; en stjerne i dette feltet angir at dynamisk adressering skal brukes.