Introduksjon
Installere
Sertifiseringsinstans
Konfigurer serveren
Rediger konfigurasjonen
Tillat videresending
NAT
Start
Konklusjon
Introduksjon
OpenVPN er en sikker VPN som bruker SSL (Secure Socket Layer) og tilbyr et bredt spekter av funksjoner. I denne guiden vil vi dekke prosessen med å installere OpenVPN på Ubuntu 16 ved å bruke den easy-rsa-vertsbaserte sertifikatmyndigheten.
Installere
For å komme i gang trenger vi noen pakker installert:
sudo su
apt-get update
apt-get install openvpn easy-rsa
Sertifiseringsinstans
OpenVPN er en SSL VPN, som betyr at den fungerer som sertifiseringsinstans for å kryptere trafikken mellom begge parter.
Oppsett
Vi kan starte med å sette opp vår OpenVPN-servers sertifiseringsinstans ved å kjøre følgende kommando:
make-cadir ~/ovpn-ca
Vi kan nå bytte til vår nyopprettede katalog:
cd ~/ovpn-ca
Konfigurer
Åpne filen med navnet varsog ta en titt på følgende parametere:
export KEY_COUNTRY="US"
export KEY_PROVINCE="NJ"
export KEY_CITY="Matawan"
export KEY_ORG="Your Awesome Organization"
export KEY_EMAIL="me@your_awesome_org.com"
export KEY_OU="YourOrganizationUnit"
Og rediger dem med dine egne verdier. Vi må også se etter og redigere følgende linje:
export KEY_NAME="server"
Bygge
Vi kan nå begynne å bygge sertifiseringsinstansen vår ved å kjøre følgende kommando:
./clean-all
./build-ca
Disse kommandoene kan ta noen minutter å fullføre.
Server-nøkkel
Nå kan vi begynne å bygge serverens nøkkel ved å kjøre følgende kommando:
./build-key-server server
Mens serverfeltet skal erstattes med KEY_NAMEvi satt i varsfilen tidligere. I vårt tilfelle kan vi beholde server.
Byggeprosessen til serverens nøkkel kan stille noen spørsmål, som utløpet av seg selv. Vi svarer på alle disse spørsmålene med y.
Sterk nøkkel
I neste trinn lager vi en sterk Diffie-Hellmannøkkel som skal brukes under utvekslingen av nøklene våre. Skriv inn følgende kommando for å lage en:
./build-dh
HMAC
Vi kan nå opprette en HMAC-signatur for å styrke serverens TLS-integritetsverifisering:
openvpn --genkey --secret keys/ta.key
Generer en klientnøkkel
./build-key client
Når vi har opprettet vår egen sertifiseringsinstans, kan vi begynne med å kopiere alle nødvendige filer og konfigurere selve OpenVPN. Nå skal vi kopiere de genererte nøklene og sertifikatene til vår OpenVPN-katalog:
cd keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
cd ..
Etterpå kan vi kopiere et eksempel på OpenVPN-konfigurasjonsfilen til vår OpenVPN-katalog ved å kjøre følgende kommando:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | tee /etc/openvpn/server.conf
Rediger konfigurasjonen
Vi kan nå begynne å redigere konfigurasjonen vår for å passe våre behov. Åpne filen /etc/openvpn/server.confog fjern kommentarer på følgende linjer:
push "redirect-gateway def1 bypass-dhcp"
user nobody
group nogroup
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
tls-auth ta.key 0
Vi må også legge til en ny linje i konfigurasjonen vår. Plasser følgende linje under tls-authlinjen:
key-direction 0
Tillat videresending
Fordi vi ønsker å la våre klienter få tilgang til Internett via serveren vår, åpner vi følgende fil /etc/sysctl.confog fjerner kommentarene til denne linjen:
net.ipv4.ip_forward=1
Nå må vi bruke endringene:
sysctl -p
NAT
For å gi Internett-tilgang til våre VPN-klienter, må vi også opprette en NAT-regel. Denne regelen er en kort one-liner som ser slik ut:
iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE
Start
Vi kan nå starte vår OpenVPN-server og la klienter koble seg til ved å skrive inn følgende nøkkel:
service openvpn start
Konklusjon
Dette avslutter veiledningen vår. Nyt din nye OpenVPN-server!