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:
- Č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:
- Jak nastavit VPN na bázi IPSec se Strongswanem na Debianu a Ubuntu
- 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.