Vpn server linux ubuntu server

WireGuard VPN на VPS с Ubuntu 20.04: Своими ручками легко, быстро и весело

Привет, друзья Хабра! Сегодня я расскажу вам о том, как превратить свой VPS с Ubuntu 20.04 в супер-быстрый и современный VPN-сервер, используя WireGuard — популярный, молодой и дерзкий VPN-протокол! Пристегните ремни, включите режим веселья и давайте начнем!

Шаг 1: Обновляемся и готовимся

Для начала давайте убедимся, что наш VPS находится в самом актуальном и обновленном состоянии. Подключаетесь к VPS через SSH. Запустите следующие команды, чтобы обновить систему и установить необходимые пакеты:

sudo apt update sudo apt upgrade sudo apt install curl

После этого у вас будет самая свежая версия Ubuntu, и вы будете готовы превратить свой VPS в мощный VPN-сервер.

Шаг 2: WireGuard, магия в одном скрипте

Зачем усложнять себе жизнь настройками, когда мы можем использовать готовый скрипт установки WireGuard? Давайте загрузим этот чудо-скрипт с GitHub и сделаем его исполняемым:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh chmod +x wireguard-install.sh

Шаг 3: Превращаем VPS в VPN-сервер

Теперь самое веселое! Запустите скрипт установки WireGuard и следуйте его забавным инструкциям на экране:

Скрипт попросит вас ввести некоторые параметры, но чаще всего можно использовать предлагаемые по умолчанию значения. Не бойтесь экспериментировать!

Шаг 4: Забираем конфигурацию клиента

После завершения установки скрипт создаст файл конфигурации клиента с расширением .conf . Этот файл — ваш VPN-билет на счастье! Загрузите его на своё устройство (например, компьютер или смартфон).

Шаг 5: Устанавливаем клиент WireGuard и подключаемся к VPN

Теперь установите клиент WireGuard на своем устройстве. Приложения для разных платформ можно найти на официальном сайте WireGuard.

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

Читайте также:  Линукс компиляция в ядре

Шаг 6: Наслаждаемся своим VPN-сервером и радуемся

Теперь у вас есть собственный VPN-сервер на базе WireGuard, который обеспечивает высокую скорость, отличную безопасность и простоту настройки. Можете гордиться собой, ведь вы только что настроили собственный VPN-сервер, который поможет вам сохранить конфиденциальность и обойти ограничения интернет-цензуры.

Заключение

Итак, мы разобрались, как настроить VPN-сервер на базе WireGuard на VPS с Ubuntu 20.04, и я надеюсь, что вам было так же весело, как и мне! Теперь вы можете использовать свой VPN-сервер для безопасного и анонимного серфинга в интернете, а также для доступа к заблокированным ресурсам.

В итоге, если Вы всё выполнили правильно, в терминале отобразится QR-Code, с приложением на мобилу можно установить конфигурацию просто его отсканировав. Если У Вас возникнут проблемы со скачиванием файла конфигурации, ничего страшного, Вы сможете в настройках конфигурации в мобильном продолжении WireGuard экспортировать его в виде файла куда угодно, даже другу по Телеге переслать. )

Спасибо, что читали этот веселый гайд, и удачи вам в настройке своего VPN-сервера! Если у вас возникнут вопросы или комментарии, пожалуйста, делитесь ими в комментариях ниже, и я с радостью помогу вам!

Источник

Установка и настройка L2TP VPN-сервера на Ubuntu Server

Обновлено

Обновлено: 18.05.2020 Опубликовано: 18.01.2020

  • VPN-сервер, использующий туннельный протокол L2TP.
  • Защита соединения посредством общего ключа + аутентификация пользователя.
  • Доступ к локальной сети.

Мы выполним следующие настройки:

Настройка IPSEC

Для управления IPSec используется пакет strongswan — установим его командой:

apt-get install strongswan

Открываем конфигурационный файл для настройки ipsec:

Для config setup добавим:

config setup
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
protostack=netkey

* где virtual_private для нас является наиболее важным параметром и определяет приватные сети. В данном примере просто перечислены сети, зарезервированные под локальные — мы можем указать и другие.

conn l2tpvpn
type=transport
authby=secret
pfs=no
rekey=no
keyingtries=2
left=%any
leftprotoport=udp/l2tp
leftid=@l2tpvpnserver
right=%any
rightprotoport=udp/%any
auto=add

  • type — тип соединения. Возможны варианты tunnel ( хост-хост, хост-подсеть или подсеть-подсеть); transport (хост-хост); passthrough (без обработки IPsec).
  • authby — способы аутентификации двух узлов. Возможны варианты secret (по паролю) или rsasig (цифровые подписи RSA).
  • pfs — расшифровывается как Perfect Forward Secrecy. Позволяет активировать совершенную секретность в канале ключей соединения.
  • rekey — перепроверить соединение, когда оно истекает.
  • keyingtries — число попыток, чтобы «договориться» о соединении или его замене.
  • left — IP-адрес левого участника (сервера). %any означает, что адрес может быть любой.
  • leftprotoport — определяет протокол и порт, на котором будет работать левая сторона (сервер). В данном примере указан UDP и порт 1701.
  • leftid — идентификация левого участника соединения.
  • right — IP-адрес правого участника (клиента). %any означает, что адрес может быть любой.
  • rightprotoport — определяет протокол и порт, на котором будет работать правая сторона (клиент). В данном примере указан UDP и любой порт.
  • auto — операция, которая должна запуститься автоматически при старте IPsec.

Создаем секретный ключ — для этого открываем на редактирование файл:

Читайте также:  No such file or directory linux ubuntu

%any %any : PSK «my_key_password»

* в данном примере мы устанавливаем общий пароль my_key_password для соединений с любого IP.

Разрешаем автозапуск strongswan и перезапускаем службу:

systemctl enable strongswan

systemctl restart strongswan

L2TP

Устанавливаем сервер L2TP:

Открываем файл настройки сервера:

[global]
port = 1701
access control = no
ipsec saref = yes
force userspace = yes
auth file = /etc/ppp/chap-secrets

[lns default]
ip range = 176.16.10.10-176.16.10.200
local ip = 176.16.10.1
name = l2tpserver
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes
exclusive = no
hidden bit = no
length bit = yes
require authentication = yes
require chap = yes
refuse pap = yes

  • port — порт UDP, на котором работает VPN. По умолчанию, 1701.
  • access control — принимать или нет запросы только от клиентов с определенными IP, перечисленными в настройках клиентов.
  • ipsec saref — указывает использовать или нет ipsec Security Association, позволяющий отслеживать несколько клиентов с одинаковыми IP-адресами.
  • force userspace — повышает производительность за счет декапсуляции пакетов L2TP.
  • auth file — путь к файлу аутентификации.
  • ip range — диапазон адресов, которые назначаются подключенным клиентам.
  • local ip — IP-адрес сервера в сети VPN.
  • name — имя сервера для процесса согласования.
  • pppoptfile — путь к файлу с настройкой pppd.
  • flow bit — позволяет добавлять в пакеты порядковые номера.
  • exclusive — если поставить в yes, сервер разрешит только одно соединение с клиентом.
  • hidden bit — скрывать или нет AVP.
  • length bit — использовать ли бит длины, указывающий полезную нагрузку.
  • require authentication — требовать ли аутентификацию.
  • require chap — требовать ли аутентификацию PPP по протоколу CHAP.
  • refuse pap — требовать ли аутентификацию PPP по протоколу PAP.

Разрешаем автозапуск vpn-сервера и перезапускаем его:

PPP

Открываем на редактирование конфигурационный файл:

Читайте также:  Linux pass all arguments

noccp
auth
crtscts
mtu 1410
mru 1410
nodefaultroute
lock
noproxyarp
silent
modem
asyncmap 0
hide-password
require-mschap-v2
ms-dns 77.88.8.8
ms-dns 8.8.8.8

Создаем пользователя. Для этого открываем файл:

«user1» l2tpserver «password1» «172.16.10.10»
«user2» l2tpserver «password2» *

Настройка клиента

В параметрах сети и Интернет в разделе VPN создаем новое соединение:

Создание нового VPN соединения

Настройка нового VPN соединения

  • Имя подключения — произвольное имя.
  • Имя или адрес сервера — адрес сервера VPN, к которому мы будем подключаться.
  • Тип VPN — для нашего случая, выбираем L2TP/IPsec с предварительным ключом.
  • Общий ключ — ключ, который мы задали в файле /etc/ipsec.secrets.
  • Тип данных для входа — выбираем пользователь и пароль.
  • Имя пользователя и пароль — логин и пароль, которые мы задали в файле /etc/ppp/chap-secrets.

Доступ в Интернет и локальную сеть

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

* мы разрешили форвард сетевых запросов и настроили сервер в качестве шлюза.

После применяем настройку:

sysctl -p /etc/sysctl.d/99-sysctl.conf

Добавляем правило в iptables:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

* данное правило включает маскарадинг на интерфейсе eth0. Вам необходимо подставить в команду значение своего сетевого адаптера.

В случае с единым сетевым интерфейсом больше ничего делать не потребуется — Ubuntu начнет работать как Интернет-шлюз.

В случае с несколькими сетевыми адаптерами, настраиваем сетевой экран:

iptables -A FORWARD -i eth1 -o eth0 -m state —state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

* предполагается, что eth1 используется для внутренней сети, а eth0 — внешней.

Диагностика проблем

Описанная выше настройка не предполагает наличие лога. Для этого открываем конфигурационный файл для ppp:

.
logfile /var/log/xl2tpd/xl2tpd.log
debug

Создадим каталог для лога:

Перезапускаем сервис xl2tpd:

Пробуем подключиться к серверу — в случае наличия проблем, наблюдаем за логом:

tail -f /var/log/xl2tpd/xl2tpd.log

Дмитрий Моск

Настройка L2TP VPN-сервера на Ubuntu для возможности подкючения стандартными средствами Windows

Источник

Оцените статью
Adblock
detector