Использование 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-сервер запущен и работает.