Vyhledávání na webu

Jak vytvořit svůj vlastní IPsec VPN server v Linuxu


Používání VPN (virtuální privátní sítě) má tolik výhod, z nichž některé zahrnují ochranu na internetu tím, že šifruje váš provoz a pomáhá vám přistupovat k blokovanému obsahu/stránkám/webovým aplikacím odkudkoli. Nemluvě o tom, že VPN vám také pomáhá anonymně procházet internet.

V tomto článku se dozvíte, jak rychle a automaticky nastavit svůj vlastní IPsec/L2TP VPN server v CentOS/RHEL, Ubuntu a Distribuce Linuxu Debian.

Předpoklady:

  1. Čerstvý CentOS/RHEL nebo Ubuntu/Debian VPS (Virtual Private Server) od jakéhokoli poskytovatele, jako je Linode.

Nastavení IPsec/L2TP VPN serveru v Linuxu

K nastavení serveru VPN použijeme skvělou sbírku skriptů shell vytvořených Lin Songem, který nainstaluje Libreswan jako IPsec server a xl2tpd jako poskytovatel L2TP. Nabídka také zahrnuje skripty pro přidání nebo odstranění uživatelů VPN, upgrade instalace VPN a mnoho dalšího.

Nejprve se přihlaste ke svému VPS prostřednictvím SSH a poté spusťte příslušné příkazy pro vaši distribuci a nastavte server VPN. Ve výchozím nastavení pro vás skript vygeneruje náhodné přihlašovací údaje VPN (předsdílený klíč, uživatelské jméno VPN a heslo) a zobrazí je na konec instalace.

Pokud však chcete použít své vlastní přihlašovací údaje, musíte nejprve vygenerovat silné heslo a PSK, jak je uvedeno na obrázku.

openssl rand -base64 10
openssl rand -base64 16

Dále nastavte tyto vygenerované hodnoty, jak je popsáno v následujícím příkazu, všechny hodnoty MUSÍ být umístěny uvnitř „jednoduchých uvozovek“, jak je znázorněno.

  • VPN_IPSEC_PSK – Váš předsdílený klíč IPsec.
  • VPN_USER – Vaše uživatelské jméno VPN.
  • VPN_PASSWORD – Vaše heslo VPN.
---------------- 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

Hlavní balíčky, které budou nainstalovány, jsou 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 (pro ochranu SSH) a jejich příslušné závislosti. Poté stáhne, zkompiluje a nainstaluje Libreswan ze zdroje, aktivuje a spustí potřebné služby.

Po dokončení instalace se zobrazí podrobnosti o VPN, jak je znázorněno na následujícím snímku obrazovky.

Dále je třeba nastavit klienta VPN. Pro stolní počítače nebo notebooky s grafickým uživatelským rozhraním si přečtěte tuto příručku: Jak nastavit klienta L2TP/Ipsec VPN v systému Linux.

Chcete-li přidat připojení VPN v mobilním zařízení, jako je telefon Android, přejděte do Nastavení –> Síť a internet (nebo Bezdrátová připojení a sítě –> Další) –> Pokročilé –> VPN. Vyberte možnost přidat novou VPN. Typ VPN by měl být nastaven na IPSec Xauth PSK a poté použijte bránu VPN a přihlašovací údaje výše.

Jak přidat nebo odebrat uživatele VPN v Linuxu

Chcete-li vytvořit nového uživatele VPN nebo aktualizovat stávajícího uživatele VPN novým heslem, stáhněte si a použijte skript add_vpn_user.sh pomocí následujícího příkazu wget.

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'

Chcete-li odstranit uživatele VPN, stáhněte si a použijte skript 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'

Jak upgradovat instalaci Libreswan v Linuxu

Instalaci Libreswan můžete upgradovat pomocí skriptu vpnupgrade.sh nebo vpnupgrade_centos.sh. Ujistěte se, že jste ve skriptu upravili proměnnou SWAN_VER na verzi, kterou chcete nainstalovat.

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

Jak odinstalovat server VPN v Linuxu

Chcete-li odinstalovat instalaci VPN, postupujte takto.

Na RHEL/CentOS

yum remove xl2tpd

Poté otevřete konfigurační soubor /etc/sysconfig/iptables a odstraňte nepotřebná pravidla a upravte /etc/sysctl.conf a /etc/rc.local soubor a odstraňte řádky za komentářem # Přidáno skriptem hwdsl2 VPN v obou souborech.

Na Debian/Ubuntu

sudo apt-get purge xl2tpd

Dále upravte soubor /etc/iptables.rules a odstraňte všechna nepotřebná pravidla. Dále upravte /etc/iptables/rules.v4, pokud existuje.

Poté upravte soubory /etc/sysctl.conf a /etc/rc.local, odstraňte řádky za komentářem # Přidáno skriptem hwdsl2 VPN , v obou souborech. Neodstraňujte exit 0, pokud existuje.

Volitelně můžete odstranit určité soubory a adresáře, které byly vytvořeny během nastavování VPN.

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

Chcete-li nastavit VPN typu site-to-site na bázi IPSec pomocí Strongswan, prohlédněte si naše průvodce:

  1. Jak nastavit VPN na bázi IPSec se Strongswanem na Debianu a Ubuntu
  2. Jak nastavit VPN na bázi IPSec se Strongswanem na CentOS/RHEL 8

V tuto chvíli je váš vlastní server VPN spuštěn. Pomocí formuláře níže můžete sdílet jakékoli dotazy nebo nám poskytnout zpětnou vazbu.