IT

Как создать свой собственный VPN сервер IPsec на Linux

собственный VPN сервер

Использование VPN (виртуальной частной сети) имеет множество преимуществ, некоторые из которых включают обеспечение безопасности в Интернете за счет шифрования трафика и доступа к заблокированному контенту/сайтам/веб-приложениям из любого места.

Не говоря уже о том, что VPN также помогает вам просматривать Интернет анонимно.

В этой статье вы узнаете, как быстро и автоматически настроить собственный VPN-сервер IPsec / L2TP в дистрибутивах CentOS / RHEL, Ubuntu и Debian Linux.

Требования

Свежий CentOS / RHEL или Ubuntu / Debian VPS (виртуальный частный сервер) от любого поставщика VPS.

Настройка IPsec / L2TP VPN-сервера в Linux

Чтобы настроить VPN-сервер, мы будем использовать замечательную коллекцию скриптов оболочки, созданную Lin Song, которая устанавливает Libreswan в качестве сервера IPsec и xl2tpd в качестве поставщика L2TP.

Предложение также включает в себя скрипты для добавления или удаления пользователей VPN, обновления установки VPN и многое другое.

Сначала войдите в свой VPS через SSH, затем выполните соответствующие команды для вашего дистрибутива, чтобы настроить VPN-сервер.

По умолчанию сценарий будет генерировать для вас случайные учетные данные VPN (предварительный общий ключ (PSK) , имя пользователя VPN и пароль) и отображать их в конце установки.Однако, если вы хотите использовать свои собственные учетные данные, сначала вам нужно сгенерировать надежный пароль и PSK, как показано далее

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

Затем установите эти сгенерированные значения, как описано в следующей команде, все значения ДОЛЖНЫ быть помещены в «одинарные кавычки», как показано далее:

  • VPN_IPSEC_PSK – ваш предварительный общий ключ IPsec.
  • VPN_USER – Ваше имя пользователя VPN.
  • VPN_PASSWORD – Ваш пароль VPN.
---------------- На CentOS/RHEL ---------------- 
# wget https://git.io/vpnsetup-centos -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sh vpnsetup.sh

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

Основные пакеты, которые будут установлены: 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 и fail2ban (для защиты SSH) и их соответствующие зависимости.

Затем скрипт загружает, компилирует и устанавливает Libreswan из исходного кода, включает и запускает необходимые службы.

После завершения установки будут отображены детали VPN.

Чтобы добавить VPN-подключение на мобильном устройстве, например телефоне Android, выберите «Настройки» -> «Сеть и Интернет» (или «Беспроводная связь и сети» -> «Дополнительно») -> «Дополнительно» -> VPN.

Выберите опцию, чтобы добавить новый VPN.

Тип VPN должен бытьIPSec Xauth PSK, затем используйте шлюз VPN и учетные данные, указанные выше.

Как добавить или удалить пользователя VPN на Linux

Чтобы создать нового пользователя VPN или обновить существующего пользователя VPN новым паролем, загрузите и используйте сценарий add_vpn_user.sh, используя следующую команду 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'

Чтобы удалить пользователя VPN, скачайте и используйте скрипт 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'

Как обновить Libreswan на Linux

Вы можете обновить установку Libreswan с помощью скрипта vpnupgrade.sh или vpnupgrade_centos.sh.

Обязательно отредактируйте переменную SWAN_VER на версиию которую вы хотите установить в скрипте.

---------------- На CentOS/RHEL ---------------- 
# wget https://git.io/vpnupgrade-centos -O vpnupgrade.sh && sh vpnupgrade.sh

---------------- На Debian and Ubuntu ----------------
# wget https://git.io/vpnupgrade -O vpnupgrade.sh && sudo sh  vpnupgrade.sh

Как удалить VPN-сервер на Linux

Чтобы удалить установку VPN, выполните следующие действия.

На RHEL / CentOS

# yum remove xl2tpd

Затем откройте файл конфигурации /etc/sysconfig/iptables, удалите ненужные правила, отредактируйте файлы /etc/sysctl.conf и/etc/rc.local и удалите строки после комментария #Added by hwdsl2 VPN script в обоих файлах.

На Debian / Ubuntu

$ sudo apt-get purge xl2tpd

Затем отредактируйте файл конфигурации /etc/iptables.rules и удалите все ненужные правила.

Кроме того, отредактируйте /etc/iptables/rules.v4, если он существует.

Затем отредактируйте файлы /etc/sysctl.conf и /etc/rc.local, удалите строки после комментария #Added by hwdsl2 VPN script в обоих файлах.

Не удаляйте exit 0, если запись существует.

При желании вы можете удалить определенные файлы и каталоги, которые были созданы во время настройки 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

На этом этапе ваш собственный VPN-сервер запущен и работает.

Добавить комментарий