Zoeken op website

Hoe u uw eigen IPsec VPN-server in Linux kunt maken


Er zijn zoveel voordelen aan het gebruik van een VPN (Virtual Private Network), waaronder onder meer dat u veilig blijft op internet door uw verkeer te coderen en dat u overal toegang krijgt tot geblokkeerde inhoud/sites/webapplicaties. En niet te vergeten: VPN helpt je ook om anoniem op internet te surfen.

In dit artikel leert u hoe u snel en automatisch uw eigen IPsec/L2TP VPN-server in CentOS/RHEL, Ubuntu en Debian Linux-distributies.

Vereisten:

  1. Een nieuwe CentOS/RHEL of Ubuntu/Debian VPS (Virtual Private Server) van elke provider zoals Linode.

IPsec/L2TP VPN-server instellen onder Linux

Om de VPN-server in te stellen, gebruiken we een prachtige verzameling shell-scripts gemaakt door Lin Song, die Libreswan installeert als de IPsec-server, en xl2tpd als de L2TP-provider. Het aanbod omvat ook scripts om VPN-gebruikers toe te voegen of te verwijderen, de VPN-installatie te upgraden en nog veel meer.

Log eerst in op uw VPS via SSH en voer vervolgens de juiste opdrachten voor uw distributie uit om de VPN-server in te stellen. Standaard genereert het script willekeurige VPN-inloggegevens (vooraf gedeelde sleutel, VPN-gebruikersnaam en wachtwoord) voor u en geeft deze weer op de einde van de installatie.

Als u echter uw eigen inloggegevens wilt gebruiken, moet u eerst een sterk wachtwoord en PSK genereren, zoals weergegeven.

openssl rand -base64 10
openssl rand -base64 16

Stel vervolgens deze gegenereerde waarden in zoals beschreven in de volgende opdracht. Alle waarden MOETEN tussen ‘enkele aanhalingstekens’ worden geplaatst, zoals weergegeven.

  • VPN_IPSEC_PSK – Uw vooraf gedeelde IPsec-sleutel.
  • VPN_USER – Uw VPN-gebruikersnaam.
  • VPN_PASSWORD – Uw VPN-wachtwoord.
---------------- 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 belangrijkste pakketten die geïnstalleerd zullen worden zijn 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 en fail2ban (om SSH te beschermen) en hun respectievelijke afhankelijkheden. Vervolgens downloadt, compileert en installeert het Libreswan vanaf de bron, schakelt het de benodigde services in en start deze.

Zodra de installatie is voltooid, worden de VPN-gegevens weergegeven zoals weergegeven in de volgende schermafbeelding.

Vervolgens moet u een VPN-client instellen. Voor desktops of laptops met een grafische gebruikersinterface raadpleegt u deze handleiding: Hoe u een L2TP/Ipsec VPN-client op Linux instelt.

Om de VPN-verbinding toe te voegen aan een mobiel apparaat zoals een Android telefoon, ga naar Instellingen –> Netwerk en internet > (of Draadloos en netwerken –> Meer) –> Geavanceerd –> VPN. Selecteer de optie om een nieuwe VPN toe te voegen. Het VPN-type moet worden ingesteld op IPSec Xauth PSK en gebruik vervolgens de bovenstaande VPN-gateway en inloggegevens.

Hoe u een VPN-gebruiker in Linux kunt toevoegen of verwijderen

Om een nieuwe VPN-gebruiker aan te maken of een bestaande VPN-gebruiker bij te werken met een nieuw wachtwoord, downloadt en gebruikt u het script add_vpn_user.sh met behulp van de volgende wget-opdracht.

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'

Om een VPN-gebruiker te verwijderen, downloadt en gebruikt u het script 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'

Hoe u de Libreswan-installatie onder Linux kunt upgraden

U kunt de installatie van Libreswan upgraden met behulp van het script vpnupgrade.sh of vpnupgrade_centos.sh. Zorg ervoor dat u de variabele SWAN_VER binnen het script bewerkt naar de versie die u wilt installeren.

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

Hoe de VPN-server in Linux te verwijderen

Ga als volgt te werk om de VPN-installatie te verwijderen.

Op RHEL/CentOS

yum remove xl2tpd

Open vervolgens het /etc/sysconfig/iptables configuratiebestand en verwijder de onnodige regels en bewerk /etc/sysctl.conf en /etc/rc.local > bestand en verwijder de regels na de opmerking # Toegevoegd door hwdsl2 VPN-script, in beide bestanden.

Op Debian/Ubuntu

sudo apt-get purge xl2tpd

Bewerk vervolgens het /etc/iptables.rules configuratiebestand en verwijder eventuele onnodige regels. Bewerk bovendien /etc/iptables/rules.v4 als dit bestaat.

Bewerk vervolgens de bestanden /etc/sysctl.conf en /etc/rc.local, verwijder de regels na het commentaar # Toegevoegd door hwdsl2 VPN-script , in beide bestanden. Verwijder afrit 0 niet als deze bestaat.

Optioneel kunt u bepaalde bestanden en mappen verwijderen die zijn gemaakt tijdens de VPN-installatie.

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

Bekijk onze handleidingen om een site-to-site IPSec-gebaseerde VPN met Strongswan in te stellen:

  1. Hoe u op IPSec gebaseerde VPN instelt met Strongswan op Debian en Ubuntu
  2. Hoe u op IPSec gebaseerde VPN instelt met Strongswan op CentOS/RHEL 8

Op dit moment is uw eigen VPN-server actief. U kunt eventuele vragen delen of ons feedback geven via het onderstaande opmerkingenformulier.