Hvordan lage din egen IPsec VPN-server i Linux


Det er så mange fordeler med å surfe anonymt på internett.

I denne artikkelen vil du lære hvordan du raskt og automatisk setter opp din egen IPsec/L2TP VPN-server i CentOS/RHEL, Ubuntu og Debian Linux-distribusjoner.

  1. En fersk CentOS/RHEL eller Ubuntu/Debian VPS (Virtual Private Server) fra en hvilken som helst leverandør som Linode.

Sette opp IPsec/L2TP VPN-server i Linux

For å sette opp VPN-serveren, vil vi bruke en fantastisk samling av shell-skript laget av Lin Song, som installerer Libreswan som IPsec-serveren, og xl2tpd som L2TP-leverandøren. Tilbudet inkluderer også skript for å legge til eller slette VPN-brukere, oppgradere VPN-installasjonen og mye mer.

Logg først på VPS-en din via SSH, og kjør deretter de riktige kommandoene for distribusjonen din for å sette opp VPN-serveren. Som standard vil skriptet generere tilfeldig VPN-legitimasjon (forhåndsdelt nøkkel, VPN-brukernavn og passord) for deg og vise dem på slutten av installasjonen.

Men hvis du vil bruke din egen legitimasjon, må du først generere et sterkt passord og PSK som vist.

# openssl rand -base64 10
# openssl rand -base64 16

Deretter setter du disse genererte verdiene som beskrevet i følgende kommando, alle verdier MÅ plasseres innenfor 'enkelte anførselstegn' som vist.

  • VPN_IPSEC_PSK – Din forhåndsdelte IPsec-nøkkel.
  • VPN_USER – VPN-brukernavnet ditt.
  • VPN_PASSWORD – VPN-passordet ditt.

---------------- On CentOS/RHEL ---------------- 
# wget https://git.io/vpnsetup-centos -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sh vpnsetup.sh

---------------- On Debian and Ubuntu ----------------
# wget https://git.io/vpnsetup -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sudo sh vpnsetup.sh

Hovedpakkene som vil bli installert er bind-utils, net-tools, bison, flex, gcc, libcap-ng-devel, libcurl-devel, libselinux-devel, nspr-devel, nss-devel, pam-devel, xl2tpd, iptables-services, systemd-devel, fipscheck-devel, libevent-devel og fail2ban (for å beskytte SSH), og deres respektive avhengigheter. Deretter laster den ned, kompilerer og installerer Libreswan fra kilden, aktiverer og starter de nødvendige tjenestene.

Når installasjonen er fullført, vil VPN-detaljene vises som vist i følgende skjermbilde.

Deretter må du sette opp en VPN-klient, for stasjonære eller bærbare datamaskiner med et grafisk brukergrensesnitt, se denne veiledningen: Slik konfigurerer du en L2TP/Ipsec VPN-klient på Linux.

For å legge til VPN-tilkoblingen i en mobilenhet som en Android-telefon, gå til Innstillinger –> Nettverk og Internett (eller Trådløst og nettverk –> Mer) –> Avansert –> VPN. Velg alternativet for å legge til en ny VPN. VPN-typen bør settes til IPSec Xauth PSK, og bruk deretter VPN-gatewayen og legitimasjonen ovenfor.

Hvordan legge til eller fjerne en VPN-bruker i Linux

For å opprette en ny VPN-bruker eller oppdatere en eksisterende VPN-bruker med et nytt passord, last ned og bruk add_vpn_user.sh-skriptet ved å bruke følgende wget-kommando.

$ wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
$ sudo sh add_vpn_user.sh 'username_to_add' 'user_password'

For å slette en VPN-bruker, last ned og bruk del_vpn_user.sh-skriptet.

$ wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
$ sudo sh del_vpn_user.sh 'username_to_delete'

Hvordan oppgradere Libreswan-installasjon i Linux

Du kan oppgradere Libreswan-installasjonen ved å bruke skriptet vpnupgrade.sh eller vpnupgrade_centos.sh. Sørg for å redigere SWAN_VER-variabelen til versjonen du vil installere, i skriptet.

---------------- On CentOS/RHEL ---------------- 
# wget https://git.io/vpnupgrade-centos -O vpnupgrade.sh && sh vpnupgrade.sh

---------------- On Debian and Ubuntu ----------------
# wget https://git.io/vpnupgrade -O vpnupgrade.sh && sudo sh  vpnupgrade.sh

Slik avinstallerer du VPN-serveren i Linux

For å avinstallere VPN-installasjonen, gjør følgende.

# yum remove xl2tpd

Åpne deretter /etc/sysconfig/iptables konfigurasjonsfil og fjern de unødvendige reglene og rediger filen /etc/sysctl.conf og /etc/rc.local, og fjern linjene etter kommentaren # Lagt til av hwdsl2 VPN-skript, i begge filene.

$ sudo apt-get purge xl2tpd

Rediger deretter /etc/iptables.rules konfigurasjonsfilen og fjern eventuelle unødvendige regler. I tillegg, rediger /etc/iptables/rules.v4 hvis den finnes.

Rediger deretter filene /etc/sysctl.conf og /etc/rc.local, fjern linjene etter kommentaren # Lagt til av hwdsl2 VPN-skript, i begge filene. Ikke fjern utgang 0 hvis den finnes.

Eventuelt kan du fjerne visse filer og kataloger som ble opprettet under VPN-oppsettet.

# rm -f /etc/ipsec.conf* /etc/ipsec.secrets* /etc/ppp/chap-secrets* /etc/ppp/options.xl2tpd* /etc/pam.d/pluto /etc/sysconfig/pluto /etc/default/pluto 
# rm -rf /etc/ipsec.d /etc/xl2tpd

For å sette opp en nettsted-til-sted-IPSec-basert VPN med Strongswan, sjekk ut våre guider:

  1. Slik konfigurerer du IPSec-basert VPN med Strongswan på Debian og Ubuntu
  2. Slik konfigurerer du IPSec-basert VPN med Strongswan på CentOS/RHEL 8

Referanse: https://github.com/hwdsl2/setup-ipsec-vpn

På dette tidspunktet er din egen VPN-server oppe og går. Du kan dele spørsmål eller gi oss tilbakemelding ved å bruke kommentarskjemaet nedenfor.