Wéi Dir Ären eegene IPsec VPN Server op Linux erstellt


Et gi sou vill Virdeeler fir anonym um Internet ze surfen.

An dësem Artikel léiert Dir wéi Dir Ären eegene IPsec/L2TP VPN Server séier an automatesch opstellt an CentOS/RHEL, Ubuntu, an Debian Linux Verdeelungen.

  1. E frëschen CentOS/RHEL oder Ubuntu/Debian VPS (Virtual Private Server) vun all Provider wéi Linode.

IPsec/L2TP VPN Server op Linux opsetzen

Fir de VPN-Server opzestellen, benotze mir eng wonnerbar Sammlung vu Shell-Skripte, déi vum Lin Song erstallt goufen, déi Libreswan als IPsec-Server installéiert, an xl2tpd als L2TP-Provider. D'Offer enthält och Skripte fir VPN Benotzer ze addéieren oder ze läschen, d'VPN Installatioun upgrade a vill méi.

Als éischt loggt Iech op Äre VPS iwwer SSH un, fuert dann déi entspriechend Befehle fir Är Verdeelung fir de VPN Server opzestellen. Par défaut generéiert de Skript zoufälleg VPN Umeldungsinformatiounen (virausgedeelt Schlëssel, VPN Benotzernumm a Passwuert) fir Iech a weist se um Enn vun der Installatioun.

Wéi och ëmmer, wann Dir Är eege Umeldungsinformatiounen benotze wëllt, musst Dir als éischt e staarkt Passwuert a PSK generéieren wéi gewisen.

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

Als nächst, setze dës generéiert Wäerter wéi am folgende Kommando beschriwwen, all Wäerter MUSS bannent 'eenzel Zitater' gesat ginn wéi gewisen.

  • VPN_IPSEC_PSK - Ären IPsec pre-shared Schlëssel.
  • VPN_USER - Äre VPN Benotzernumm.
  • VPN_PASSWORD - Äert VPN Passwuert.

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

D'Haaptpakete déi installéiert ginn sinn 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, a fail2ban (fir SSH ze schützen), an hir jeweileg Ofhängegkeeten. Da luet et erof, kompiléiert an installéiert Libreswan aus der Quell, aktivéiert a fänkt déi néideg Servicer un.

Wann d'Installatioun fäerdeg ass, ginn d'VPN Detailer ugewisen wéi am folgenden Screenshot gewisen.

Als nächst musst Dir e VPN Client opbauen, fir Desktops oder Laptops mat enger grafescher User-Interface, kuckt op dëse Guide: Wéi Setup en L2TP/Ipsec VPN Client op Linux.

Fir d'VPN Verbindung an engem mobilen Apparat wéi en Android Telefon ze addéieren, gitt op Parameteren -> Netzwierk & Internet (oder Wireless & Netzwierker -> Méi) -> Fortgeschratt -> VPN. Wielt d'Optioun fir en neie VPN ze addéieren. De VPN-Typ soll op IPSec Xauth PSK gesat ginn, benotzt dann de VPN Gateway an d'Umeldungsinformatiounen hei uewen.

Wéi een e VPN Benotzer op Linux derbäisetzen oder ewechhuelen

Fir en neie VPN Benotzer ze kreéieren oder en existente VPN Benotzer mat engem neie Passwuert ze aktualiséieren, luet a benotzt de add_vpn_user.sh Skript mat dem folgenden 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'

Fir e VPN Benotzer ze läschen, download a benotzt de del_vpn_user.sh Skript.

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

Wéi Upgrade Libreswan Installatioun op Linux

Dir kënnt d'Libreswan Installatioun upgraden mat dem vpnupgrade.sh oder vpnupgrade_centos.sh Skript. Vergewëssert Iech d'SWAN_VER Variabel op d'Versioun z'änneren déi Dir installéiere wëllt, am Skript.

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

Wéi de VPN Server op Linux deinstalléieren

Fir d'VPN Installatioun ze deinstalléieren, maacht déi folgend.

# yum remove xl2tpd

Dann oppen /etc/sysconfig/iptables Konfiguratiounsdatei an ewechhuelen déi onnéideg Reegelen an änneren /etc/sysctl.conf an /etc/rc.local Datei, a läscht d'Zeilen nom Kommentar # Added by hwdsl2 VPN Skript, a béid Dateien.

$ sudo apt-get purge xl2tpd

Als nächst, änneren /etc/iptables.rules Konfiguratiounsdatei a läscht all onnéideg Regelen. Zousätzlech, änneren /etc/iptables/rules.v4 wann et existéiert.

Dann änneren /etc/sysctl.conf an /etc/rc.local Dateien, läscht d'Zeilen no der Kommentar # Added by hwdsl2 VPN Skript, a béid Dateien. Huelt d'Ausfahrt 0 net ewech wann et existéiert.

Optional kënnt Dir verschidde Dateien a Verzeichnisser läschen, déi wärend dem VPN-Setup erstallt goufen.

# 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

Fir e Site-to-Site IPSec-baséiert VPN mat Strongswan opzestellen, kuckt eis Guiden:

  1. Wéi konfiguréieren ech IPSec-baséiert VPN mat Strongswan op Debian an Ubuntu
  2. Wéi konfiguréieren ech IPSec-baséiert VPN mat Strongswan op CentOS/RHEL 8

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

Zu dësem Zäitpunkt ass Ären eegene VPN Server op a leeft. Dir kënnt all Ufroen deelen oder eis Feedback ginn andeems Dir de Kommentarformular hei drënner benotzt.