Поиск по сайту:

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


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

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

Предпосылки:

  1. Новый CentOS/RHEL или Ubuntu/Debian VPS (Виртуальный частный сервер) от любого провайдера, например Linode.

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

Для настройки VPN-сервера мы будем использовать замечательную коллекцию сценариев оболочки, созданную Лин Сонгом, которая устанавливает Libreswan в качестве сервера IPsec и xl2tpd . в качестве поставщика L2TP. Предложение также включает сценарии для добавления или удаления пользователей VPN, обновления установки VPN и многого другого.

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

Однако если вы хотите использовать свои собственные учетные данные, сначала вам необходимо создать надежный пароль и PSK, как показано.

openssl rand -base64 10
openssl rand -base64 16

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

  • VPN_IPSEC_PSK – ваш предварительный ключ IPsec.
  • VPN_USER – ваше имя пользователя VPN.
  • VPN_PASSWORD – ваш пароль 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

Основные пакеты, которые будут установлены: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 для настольных компьютеров или ноутбуков с графическим пользовательским интерфейсом. См. это руководство: Как настроить VPN-клиент L2TP/Ipsec в Linux.

Чтобы добавить 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, указав версию, которую вы хотите установить в сценарии.

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

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

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

На RHEL/CentOS

yum remove xl2tpd

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

В Дебиан/Убунту

sudo apt-get purge xl2tpd

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

Затем отредактируйте файлы /etc/sysctl.conf и /etc/rc.local, удалите строки после комментария #. Добавлено VPN-скриптом hwdsl2. , в обоих файлах. Не удаляйте 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 типа «сеть-сеть» на основе IPSec с помощью Strongswan, ознакомьтесь с нашими руководствами:

  1. Как настроить VPN на основе IPSec с помощью Strongswan в Debian и Ubuntu
  2. Как настроить VPN на основе IPSec с помощью Strongswan на CentOS/RHEL 8

На этом этапе ваш собственный VPN-сервер запущен и работает. Вы можете поделиться любыми вопросами или оставить нам отзыв, используя форму комментариев ниже.