Sådan oprettes din egen IPsec VPN-server i Linux


Der er så mange fordele ved at bruge et VPN (Virtual Private Network), hvoraf nogle inkluderer at holde dig sikker på internettet ved at kryptere din trafik og hjælpe dig med at få adgang til blokerede indhold/websteder/webapplikationer hvor som helst. For ikke at nævne hjælper VPN dig også med at søge på internettet anonymt.

I denne artikel lærer du, hvordan du hurtigt og automatisk opsætter din egen IPsec/L2TP VPN-server i CentOS/RHEL, Ubuntu og Debian Linux-distributioner.

  1. En frisk CentOS/RHEL eller Ubuntu/Debian VPS (Virtual Private Server) fra enhver udbyder såsom Linode.

Opsætning af IPsec/L2TP VPN-server i Linux

For at opsætte VPN-serveren bruger vi en vidunderlig samling af shell-scripts oprettet af Lin Song, der installerer Libreswan som IPsec-serveren og xl2tpd som L2TP-udbyderen. Tilbuddet inkluderer også scripts til at tilføje eller slette VPN-brugere, opgradere VPN-installationen og meget mere.

Log først på din VPS via SSH, og kør derefter de relevante kommandoer til din distribution for at opsætte VPN-serveren. Som standard genererer scriptet tilfældige VPN-legitimationsoplysninger (præ-delt nøgle, VPN-brugernavn og adgangskode) til dig og viser dem i slutningen af installationen.

Men hvis du vil bruge dine egne legitimationsoplysninger, skal du først generere en stærk adgangskode og PSK som vist.

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

Indstil derefter disse genererede værdier som beskrevet i den følgende kommando SKAL alle værdier placeres i 'enkelt anførselstegn' som vist.

  • VPN_IPSEC_PSK - Din foruddelte IPsec-nøgle.
  • VPN_USER - Dit VPN-brugernavn.
  • VPN_PASSWORD - Din VPN-adgangskode.

---------------- 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

De vigtigste pakker, der skal installeres, 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 at beskytte SSH) og deres respektive afhængigheder. Derefter downloader, kompilerer og installerer Libreswan fra kilden, aktiverer og starter de nødvendige tjenester.

Når installationen er afsluttet, vises VPN-detaljerne som vist i det følgende skærmbillede.

Dernæst skal du oprette en VPN-klient til desktops eller laptops med en grafisk brugergrænseflade, se denne vejledning: Sådan opsættes en L2TP/Ipsec VPN-klient på Linux.

For at tilføje VPN-forbindelsen i en mobilenhed, f.eks. En Android-telefon, skal du gå til Indstillinger -> Netværk og internet (eller Trådløst og netværk -> Mere) -> Avanceret -> VPN. Vælg muligheden for at tilføje en ny VPN. VPN-typen skal indstilles til IPSec Xauth PSK, og brug derefter VPN-gatewayen og legitimationsoplysningerne ovenfor.

Sådan tilføjes eller fjernes en VPN-bruger i Linux

For at oprette en ny VPN-bruger eller opdatere en eksisterende VPN-bruger med en ny adgangskode skal du downloade og bruge add_vpn_user.sh-scriptet ved hjælp af 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 at slette en VPN-bruger skal du downloade og bruge scriptet del_vpn_user.sh.

$ 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'

Sådan opgraderes Libreswan-installation i Linux

Du kan opgradere Libreswan-installationen ved hjælp af scriptet vpnupgrade.sh eller vpnupgrade_centos.sh. Sørg for at redigere SWAN_VER-variablen til den version, du vil installere, inden for scriptet.

---------------- 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

Sådan afinstalleres VPN-serveren i Linux

For at afinstallere VPN-installationen skal du gøre følgende.

# yum remove xl2tpd

Åbn derefter/etc/sysconfig/iptables konfigurationsfil og fjern de unødvendige regler og rediger /etc/sysctl.conf og /etc/rc.local-filen, og fjern linjerne efter kommentaren # Tilføjet af hwdsl2 VPN-script i begge filer.

$ sudo apt-get purge xl2tpd

Rediger derefter /etc/iptables.rules konfigurationsfilen og fjern eventuelle unødvendige regler. Derudover skal du redigere /etc/iptables/rules.v4, hvis den findes.

Rediger derefter /etc/sysctl.conf og /etc/rc.local filer, fjern linjerne efter kommentaren # Tilføjet af hwdsl2 VPN script, i begge filer. Fjern ikke afkørsel 0, hvis den findes.

Eventuelt kan du fjerne bestemte filer og kataloger, der blev oprettet under VPN-opsætningen.

# 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 at oprette et site-to-site IPSec-baseret VPN med Strongswan, se vores guider:

  1. Sådan opsættes IPSec-baseret VPN med Strongswan på Debian og Ubuntu
  2. Sådan opsættes IPSec-baseret VPN med Strongswan på CentOS/RHEL 8

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

På dette tidspunkt er din egen VPN-server i gang. Du kan dele spørgsmål eller give os feedback ved hjælp af kommentarformularen nedenfor.