Дневник сисадмина
Чтобы подключится с Linux к sstp vpn серверу нужно установить клиента sstp.
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 61FF9694161CE595
echo «deb http://ppa.launchpad.net/eivnaes/network-manager-sstp/ubuntu bionic main» | sudo tee /etc/apt/sources.list.d/sstp-client.list > /dev/null
echo «deb-src http://ppa.launchpad.net/eivnaes/network-manager-sstp/ubuntu bionic main» | sudo tee —append /etc/apt/sources.list.d/sstp-client.list > /dev/null
sudo apt update
sudo apt install -y sstp-client network-manager-sstp network-manager-sstp-gnome
#дальше настраиваем подключение через GUI
Полезная ссылка https://launchpad.net/~eivnaes
2 комментария:
# sudo apt install -y sstp-client network-manager-sstp network-manager-sstp-gnome
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
sstp-client : Зависит: libevent-2.1-6 (>= 2.1.8-stable) но он не может быть установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты. Ответить Удалить
Данная проблема встречается на Ubuntu 19+ и на Linux Mint 20+ из-за отсутствия нужно библиотеки в репозитории. Решением будет скачать и установить в ручную:
wget http://mirrors.kernel.org/ubuntu/pool/main/libe/libevent/libevent-2.1-6_2.1.8-stable-4build1_amd64.deb
sudo dpkg -i libevent-2.1-6_2.1.8-stable-4build1_amd64.deb
либо добавить репозиторий ubuntu 18.04
Ответить Удалить
Управление VPN подключениями из консоли Linux
В этой статье мы рассмотрим, как создать VPN подключение из консоли Linux и подключиться к удаленному VPN серверу из CLI. Отдельно рассмотрим, как создать L2TP и PPTP VPN подключения.
Как создать L2TP VPN подключение в Linux?
Вы можете использовать NetworkManager для создания VPN подключений L2TP из консоли Linux.
Для установки NetworkManager с поддержкой L2TP выполните команду:
- В CentOS/RHEL/Fedora: # yum -y install NetworkManager-l2tp
- Для установки в Ubuntu/Debian, нужно сначала добавить репозиторий:
$ sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp
$ sudo apt-get install network-manager-l2tp
Для создания нового VPN подключения L2TP используется команда:
$ nmcli connection add connection.id [VPNConnectionName] con-name [VPNConnectionName] type VPN vpn-type l2tp ifname — connection.autoconnect no ipv4.method auto vpn.data «gateway = [ipv4], ipsec-enabled = yes, ipsec-psk = 0s»$(base64
- [VPNConnectionName] — имя VPN соединения
- [ipv4] — ip адрес VPN сервера L2TP/IPSEC
- [PSK] — ключ PSK (Pre Shared Key)
- [user] — имя пользователя VPN
- [user-password] — пароль
Настройки нового VPN подключения сохраняются в файл /etc/NetworkManager/system-connections/.
Вывести все подключения в NetworkManager:
Показать информацию о созданном VPN подключении:
$ nmcli c show id [VPNConnectionName]
Для Для подключения к VPN серверу из командной строки:к VPN серверу их командной строки:
$ nmcli c up [VPNConnectionName]
При подключении к удаленному VPN серверу может появится ошибка:
Error: Connection activation failed: Could not find source connection.
- Проверьте логи journactl
- Для физического интерфейса (например, ens33 ) задан шлюз по-умолчанию
- Возможно на сервере используется интерфейс br0 , который не используется. Попробуйте удалить его
Чтобы завершить сессию VPN, выполните:
nmcli c down [VPNConnectionName]
Создаем PPTP VPN подключение в Linux
Для установки PPTP клиента VPN в Ubuntu/Debian, установите утилиту:
$ sudo apt-get install pptp-linux network-manager-pptp
Добавьте следующее содержимое:
pty "pptp YOUR_VPN_SERVER --nolaunchpppd --debug" name VPNUsername password VPNPassword remotename PPTP require-mppe-128 require-mschap-v2 refuse-eap refuse-pap refuse-chap refuse-mschap noauth debug persist maxfail 0 defaultroute replacedefaultroute usepeerdns
Сохраните файл, нажав CTLR+X, Y -> Enter.
$ chmod 600 /etc/ppp/peers/PPTP
Чтобы подключится к PPTP VPN серверу, выполните:
Настройка SSTP VPN подключения в командной строке Linux
Вы можете настроить SSTP подключение к VPN серверу в Linux. В Ubuntu можно использовать пакет sstp для nmcli.
$ sudo add-apt-repository ppa:eivnaes/network-manager-sstp
$ sudo apt update
$ sudo apt install network-manager-sstp sstp-client
Для подключения к SSTP серверу используется команда:
$ sudo sstpc —cert-warn —save-server-route —user —password usepeerdns require-mschap-v2 noauth noipdefault nobsdcomp nodeflate
Можно сохранить настройки подключения к VPN серверу в текстовый файл:
remotename sstptest linkname sstptest ipparam sstptest pty "sstpc --ipparam sstptest --nolaunchpppd sstpvpn.vmblog.ru" name user1 plugin sstp-pppd-plugin.so sstp-sock /var/run/sstpc/sstpc-sstp-test usepeerdns require-mppe require-mschap-v2 refuse-eap refuse-pap refuse-chap refuse-mschap nobsdcomp nodeflate
Имя пользователя и пароль для аутентификации на VPN сервере нужно задать в файле /etc/ppp/chap-secrets
# Secrets for authentication using CHAP # client server secret IP addresses user1 * xxxxxx *
Теперь для подключения к SSTP серверу с помощью настроенного подключения, выполните:
Чтобы отправить весь трафик через VPN подключение, нужно добавить маршрут:
$ sudo route add default (обычно это устройствл ppp0 )
Или только трафик к определенным подсетям/хостам:
$ sudo route add -net 192.168.2.0/24 dev ppp0
Подключение к OpenVPN серверу из консоли Linux
Для установки пакета OpenVPN в Linux:
- Debian, Ubuntu, Linux Mint, Kali Linux:
$ sudo apt-get update && apt-get upgrade
$ sudo apt-get install openvpn - RedHat, Fedora, CentOS, Oracle, Rocky Linux:
# yum install epel-release –y
# yum install openvpn –y
Для подключения к OpenVPN серверу вам понадобится файл конфигурации ovpn. Чтобы подключиться к VPN с помощью ovpn файла:
$ sudo openvpn —config /etc/openvpn/client.ovpn —daemon
Введите имя пользователя и пароль (если настроена AD аутентификация для OpenVPN).
Проверьте что VPN подключение установлено:
Чтобы завершить OpenVPN подключение, нажмите CTRL+C (если клиент запущен без параметра –daemon) или выполните команду:
Чтобы OpenVPN подключение автоматически устанавливалось при старте Linux, нужно создать отдельный юнит systemd:
$ sudo vi /lib/systemd/system/OpenVPNClientCorp.service
[Unit] Description=Hide.me OpenVPN Client Corp After=multi-user.target [Service] Type=idle ExecStart=/usr/sbin/openvpn --config /etc/openvpn/client.ovpn [Install] WantedBy=multi-user.target
Измените разрешения на файл:
$ sudo chmod 644 /lib/systemd/system/OpenVPNClientCorp.service
Добавьте юнит через systemctl
$ sudo systemctl daemon-reload
$ sudo systemctl enable OpenVPNClientCorp.service
Подключение к SSTP-серверу из под Linux
SSTP (Secure Socket Tunneling Protocol) это VPN протокол, использующий PPP поверх HTTPS. Впервые представлен в Windows Server 2008. В альтернативных операционных системах SSTP формально не поддерживается, однако на SourceForge есть проект реализации Linux клиента для SSTP. О нём и пойдёт речь далее.
Начиная с этого абзаца должна была идти инструкция по компиляции из исходных текстов, но автор проекта кроме собственно SSTP-клиента развивает так же модуль для NetworkManager и предоставляет PPA-репозиторий для Ubuntu с актуальными версиями обоих проектов. В итоге установка сводится к следующим командам:
sudo add-apt-repository ppa:eivnaes/network-manager-sstp sudo apt update sudo apt install sstp-client network-manager-sstp
На машине без графического интерфейса модуль для NetworkManager устанавливать не обязательно. На машине с графическим интерфейсом остаётся только штатными средствами NetworkManager создать SSTP-соединение и подключиться.
На машине без графического интерфейса настройка немного сложнее, но в целом похожа на настройку PPTP-соединения. Допустим нам надо соединиться с сервером «sstp.example.com», используя логин «bsimpson» и пароль «K4rambA».
Для начала придумаем имя соединению. Например «sstpcon1». Следующим шагом нужно добавить в файл «/etc/ppp/chap-secrets» строку:
bsimpson sstpcon1 K4rambA *
После этого создаём файл «/etc/ppp/peers/sstpcon1» следующего содержания:
# Команда запуска sstpc. За детальным описанием параметров стоит обратиться к документации. # Здесь же отметим только самое важное: # --cert-warn - не является обязательным, но нужен если сервер использует самоподписанный сертификат # --save-server-route - не обязателен, но нужен если вы хотите завернуть весь трафик в тоннель pty "sstpc --cert-warn --save-server-route --ipparam sstpcon1 --nolaunchpppd sstp.example.com" # Будем менять шлюз по умолчанию (заворачивать весь траффик в тоннель) defaultroute replacedefaultroute # Будем использовать DNS-сервера, предложенные SSTP-сервером usepeerdns # Логин на сервере name bsimpson # Явно указываем тип авторизации MS CHAP v2 require-mschap-v2 refuse-pap refuse-eap refuse-chap refuse-mschap # Имя соединения для поиска пароля в файле chap-secrets remotename sstpcon1 # Прочие параметры (см. man pppd) ipparam sstpcon1 plugin sstp-pppd-plugin.so sstp-sock /var/run/sstpc/sstpc-sstpcon1 noauth lock nobsdcomp nodeflate
После этого соединение можно поднять командой:
Если возникли какие-то проблемы то стоит запустить соединение в режиме отладки командой:
pon sstpcon1 debug dump logfd 2 nodetach
И дальше анализировать полученную информацию. Разорвать соединение можно командой:
Если необходимо проверять подлинность сервера с помощью сертификата то необходимо передать sstpc параметр «—ca-cert», а если необходимо использование прокси-сервера то его можно указать с помощью параметра «—proxy». Все подробности в документации SSTP Client.
На этом всё. Приятной работы!