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/server/*.conf
. Setting up a VPN server is therefore a matter of storing a corresponding configuration file in this directory. A good starting point is /usr/share/doc/openvpn/examples/sample-config-files/server.conf
, which leads to a rather standard server. Of course, some parameters need to be adapted: ca
, cert
, key
and dh
need to describe the selected locations (respectively, /etc/ssl/certs/Falcot_CA.crt
, /etc/ssl/vpn.falcot.com.crt
, /etc/ssl/private/vpn.falcot.com.key
and /etc/openvpn/dh.pem
). The server 10.8.0.0 255.255.255.0
directive defines the subnet to be used by the VPN; the server uses the first IP address in that range (10.8.0.1
) and the rest of the addresses are allocated to clients.
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/client/
. A standard configuration can be obtained by using /usr/share/doc/openvpn/examples/sample-config-files/client.conf
as a starting point. The remote vpn.falcot.com 1194
directive describes the address and port of the OpenVPN server; the ca
, cert
and key
also need to be adapted to describe the locations of the key files.
AUTOSTART
directive to none
in the /etc/default/openvpn
file. Starting or stopping a given VPN connection is always possible with the commands systemctl start openvpn-client@name
and systemctl stop openvpn-client@name
(where the connection name matches the one defined in /etc/openvpn/client/name.conf
). The same is true for the server.
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.