Wyszukiwanie w witrynie

Jak stworzyć własny serwer VPN IPsec w systemie Linux


Korzystanie z VPN (wirtualnej sieci prywatnej) ma wiele zalet, a niektóre z nich obejmują zapewnienie bezpieczeństwa w Internecie poprzez szyfrowanie ruchu i pomoc w dostępie do zablokowanych treści/witryn/aplikacji internetowych z dowolnego miejsca. Nie wspominając, że VPN pomaga także anonimowo przeglądać Internet.

W tym artykule dowiesz się, jak szybko i automatycznie skonfigurować własny serwer IPsec/L2TP VPN w systemach CentOS/RHEL, Ubuntu i Debian dystrybucje Linuksa.

Warunki wstępne:

  1. Świeży CentOS/RHEL lub Ubuntu/Debian VPS (wirtualny serwer prywatny) od dowolnego dostawcy, takiego jak Linode.

Konfigurowanie serwera VPN IPsec/L2TP w systemie Linux

Do skonfigurowania serwera VPN użyjemy wspaniałej kolekcji skryptów powłoki stworzonych przez Lin Songa, która instaluje Libreswan jako serwer IPsec i xl2tpd jako dostawca L2TP. Oferta obejmuje również skrypty umożliwiające dodawanie lub usuwanie użytkowników VPN, aktualizację instalacji VPN i wiele więcej.

Najpierw zaloguj się do swojego VPS przez SSH, a następnie uruchom odpowiednie polecenia dla swojej dystrybucji, aby skonfigurować serwer VPN. Domyślnie skrypt wygeneruje dla Ciebie losowe dane uwierzytelniające VPN (klucz współdzielony, nazwa użytkownika VPN i hasło) i wyświetli je na koniec instalacji.

Jeśli jednak chcesz użyć własnych danych uwierzytelniających, najpierw musisz wygenerować silne hasło i PSK, jak pokazano.

openssl rand -base64 10
openssl rand -base64 16

Następnie ustaw wygenerowane wartości zgodnie z opisem w poniższym poleceniu. Wszystkie wartości MUSZĄ być umieszczone w pojedynczych cudzysłowach, jak pokazano.

  • VPN_IPSEC_PSK – Twój wspólny klucz IPsec.
  • VPN_USER – Twoja nazwa użytkownika VPN.
  • VPN_PASSWORD – Twoje hasło 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

Główne pakiety, które zostaną zainstalowane to 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 i fall2ban (do ochrony SSH) i ich odpowiednie zależności. Następnie pobiera, kompiluje i instaluje Libreswan ze źródła, włącza i uruchamia niezbędne usługi.

Po zakończeniu instalacji zostaną wyświetlone szczegóły VPN, jak pokazano na poniższym zrzucie ekranu.

Następnie musisz skonfigurować klienta VPN. W przypadku komputerów stacjonarnych lub laptopów z graficznym interfejsem użytkownika zapoznaj się z tym przewodnikiem: Jak skonfigurować klienta VPN L2TP/Ipsec w systemie Linux.

Aby dodać połączenie VPN na urządzeniu mobilnym, takim jak telefon z Androidem, przejdź do Ustawienia –> Sieć i Internet (lub Sieci zwykłe i bezprzewodowe –> Więcej) –> Zaawansowane –> VPN. Wybierz opcję dodania nowej sieci VPN. Typ VPN powinien być ustawiony na IPSec Xauth PSK, a następnie użyj powyższej bramy VPN i danych uwierzytelniających.

Jak dodać lub usunąć użytkownika VPN w systemie Linux

Aby utworzyć nowego użytkownika VPN lub zaktualizować istniejącego użytkownika VPN o nowe hasło, pobierz i użyj skryptu add_vpn_user.sh, używając następującego polecenia 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'

Aby usunąć użytkownika VPN, pobierz i użyj skryptu 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 zaktualizować instalację Libreswan w systemie Linux

Możesz zaktualizować instalację Libreswan za pomocą skryptu vpnupgrade.sh lub vpnupgrade_centos.sh. Pamiętaj, aby w skrypcie zmienić zmienną SWAN_VER na wersję, którą chcesz zainstalować.

---------------- 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 odinstalować serwer VPN w systemie Linux

Aby odinstalować instalację VPN, wykonaj następujące czynności.

W RHEL/CentOS

yum remove xl2tpd

Następnie otwórz plik konfiguracyjny /etc/sysconfig/iptables, usuń niepotrzebne reguły i edytuj /etc/sysctl.conf i /etc/rc.local plik i usuń linie po komentarzu # Dodano przez skrypt hwdsl2 VPN, w obu plikach.

Na Debianie/Ubuntu

sudo apt-get purge xl2tpd

Następnie edytuj plik konfiguracyjny /etc/iptables.rules i usuń wszelkie niepotrzebne reguły. Dodatkowo edytuj plik /etc/iptables/rules.v4, jeśli istnieje.

Następnie edytuj pliki /etc/sysctl.conf i /etc/rc.local, usuń linie po komentarzu # Dodano przez skrypt hwdsl2 VPN , w obu plikach. Nie usuwaj wyjścia 0, jeśli istnieje.

Opcjonalnie możesz usunąć określone pliki i katalogi utworzone podczas konfiguracji 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

Aby skonfigurować VPN typu site-to-site oparty na IPSec za pomocą Strongswan, zapoznaj się z naszymi przewodnikami:

  1. Jak skonfigurować VPN opartą na IPSec za pomocą Strongswan na Debianie i Ubuntu
  2. Jak skonfigurować VPN opartą na IPSec za pomocą Strongswan na CentOS/RHEL 8

W tym momencie Twój własny serwer VPN jest już uruchomiony. Możesz podzielić się pytaniami lub przekazać nam opinię, korzystając z poniższego formularza komentarza.