- Подключение через VPN (pptp клиент) в GNU/Linux
- Подключение к VPN
- Дополнительная информация
- Управление VPN подключениями из консоли Linux
- Как создать L2TP VPN подключение в Linux?
- Создаем PPTP VPN подключение в Linux
- Настройка SSTP VPN подключения в командной строке Linux
- Подключение к OpenVPN серверу из консоли Linux
Подключение через VPN (pptp клиент) в GNU/Linux
При подключении к новому провайдеру столкнулся с проблемой настройки подключения к интернету через VPN. Все рекомендации, найденные в интернете (в т.ч. и на сайте провайдера), желаемого результата не дали. Везде направление описывается правильное, но за кадром остаются некоторые «моментики», которые приводили к отсутствию интернета у меня. По этому опишу свою последовательность действий с необходимыми комментариями.
Все описанное проверено на дистрибутива Debain Squeeze. Впрочем наверняка будет работать и в прочих дистрибутивах GNU/Linux. Мне не очень нравятся графические утилиты для настройки сети и по этому описываю, как все настроить в консоли. Все команды, приведенные ниже, необходимо выполнять с привилегиями пользователя root, т.е. вы должны либо зайти в терминал под root’ом или воспользоваться в терминале командой «su» или перед каждой командой вводить «sudo». Конфигурационные файлы редактировать надо так же от root.
- провайдер, предоставляющий интернет через VPN соединение.
- — ip адрес нашего компьютера в локальной сети провайдера
- — маска подсети
- — ip-адрес шлюза
- — ip-адрес предпочитаемого сервера DNS
- — ip-адрес альтернативного сервера DNS
- — адрес VPN сервера
- — ip-адрес VPN сервера. Изначально провайдер дал только адрес vpn сервера в виде vpn.providername.ru. Если вы не знаете IP адреса, везде в настройках, где указан данный параметр, можете указать . Узнать ip-адресс можно после настройки связи с локальной сетью провайдера и с указанными серверами DNS.
- — имя пользователя VPN соединения
- — пароль пользователя VPN соединения
- — имя VPN соединения. Нужно придумать самостоятельно. Я задал по имени провайдера.
- для правильной работы локальной сети провайдер предлагает добавить маршрут командой (синтаксис для ОС Windows !)
route add -p mask
Открываем в редакторе файл /etc/network/interfaces. И редактируем секцию интерфейса, к которому подключен провайдер (в качестве примера eth1).
iface eth1 inet static # указываем адрес нашего компьютера в локальной сети провайдера address # указываем маску подсети netmask # указываем адрес шлюза gateway # добавляем предложенное провайдером правило маршрутизации up route add -net netmask gw # добавляем правило маршрутизации до VPN сервера up route add -host gw # следующая команда заставляет подключать VPN соединение (подключение к внешке) # при подключении интерфейса т.е. соединение с внешним интернетом будет происходить # автоматически при подключении интерфейса (в т.ч. и при загрузке ОС) # если вам не нужно автоматическое подключение, закомментируйте или удалите эту строку post-up pon # следующая команда заставляет отключать VPN соединение (подключение к внешке) при # отключении интерфейса, если вам не нужно автоматическое подключение, закомментируйте # или удалите эту строку pre-down poff auto eth1
Теперь необходимо задать адрес серверов DNS. Для этого открываем файл /etc/resolv.conf и добавляем следующие строки:
Теперь при перезагрузке сети (при перезагрузке системы или по команде /etc/init.d/networking restart вам будет доступна локальная сеть провайдера. И вы можете узнать IP-адрес VPN-сервера при помощи команды ping
Теперь необходимо настроить VPN соединение.
В систем должен быть установлен пакет pptp-linux. Для установки воспользуйтесь вашим пакетным менеджером или введите команду:
aptitude install pptp-linux
Приступаем к настройке. Создаем файл в каталоге /etc/ppp/peers/ с именем . Настройки в данном файле прописаны по рекомендации моего провайдера. Однако с небольшим исправлением: на сайте провайдера указано, что имя пользователя необходимо вводить в кавычках. У меня работает и так и так. Кроме того, добавил строку noauth.
noauth mtu 1492 mru 1492 maxfail 3 lcp-echo-interval 10 lcp-echo-failure 4 name #имя подключения можно задать и другое nremotename vpn pty "pptp --nolaunchpppd" require-mppe-128 replacedefaultroute
Далее редактируем файл /etc/ppp/chap-secrets. В отличии от примера на сайте провайдера добавлена звездочка в конце строки.
# vpn - это имя подключения которое вы задали в конфигурационном файле подключения # (выше) vpn *
Теперь можно пробовать установить соединение командой. Если вы отключили автоматическое подключение, то именно данной командой вы можете его устанавливать в дальнейшем.
Если все пройдет без ошибок, то ни каких сообщений не будет выведено. Наличие подключения можно проверить командой
В выводе этой команды должен появиться интерфейс «ppp0». Впрочем на конце может быть другая цифра, если у вас уже существует иное ppp-подключение.
Если у вас есть необходимость отключить используйте команду
Подключение к VPN
VPN ( Virtual Private Network — виртуальная частная сеть) — это способ подключения к локальной сети через Интернет. Предположим, вы хотите подключиться к локальной сети на своём рабочем месте, когда находитесь в командировке. Вам нужно найти где-нибудь соединение с Интернетом (например, в гостинице), а затем подключиться к своей сети VPN. Вы сможете работать, как будто подключены непосредственно к сети у себя на работе, хотя на самом деле соединение с сетью будет осуществляться через интернет-соединение гостиницы. VPN-соединения обычно шифруются , чтобы предотвратить неавторизованный доступ к вашей локальной сети.
Существуют различные типы VPN. В зависимости от используемого вами типа VPN может понадобиться установить некоторые дополнительные программы. Узнайте подробности о соединении у ответственного за VPN и посмотрите, какой клиент VPN нужно использовать. Затем зайдите в приложение для установки программного обеспечения, найдите пакет NetworkManager , работающий с вашим VPN (если он есть) и установите его.
Если пакет NetworkManager для вашего типа VPN отсутствует, то вам, возможно, придётся загрузить и установить клиентскую программу с сайта компании, предоставляющей программное обеспечение для VPN. Вероятно, действия по её установке будут отличаться от изложенных здесь.
Чтобы настроить VPN-соединение:
- Откройте Обзор и начните вводить: Сеть .
- Нажмите Сеть чтобы открыть этот раздел настроек.
- Чтобы добавить новое соединение, нажмите кнопку + , расположенную в нижней части списка с левой стороны.
- Выберите VPN в списке интерфейсов.
- Выберите используемый вами тип VPN-соединения.
- Введите параметры VPN-соединения. Закончив, нажмите Добавить .
- Закончив настраивать VPN, нажмите кнопку системного меню в правой части верхней панели, затем щёлкните Соединение VPN Выключено и выберите Соединиться . Возможно, вам понадобится ввести пароль для подключения. Как только соединение будет установлено, в верхней панели появится значок в виде замка.
- Надеемся, что вы успешно подключились к VPN. В противном случае, тщательно проверьте введённые параметры соединения. Это можно сделать из раздела Сеть , где вы создавали соединение. Выберите VPN-подключение из списка, затем нажмите кнопку , чтобы просмотреть настройки.
- Чтобы отключиться от VPN, нажмите системное меню в верхней панели и затем на пункт Выключить под названием VPN подключения.
Дополнительная информация
- Беспроводные сети — Подключение к беспроводным сетям, включая скрытые и созданные с помощью мобильного телефона.
- Проводные сети — Использование проводного подключения к Интернету с фиксированным IP-адресом.
You can choose the displayed language by adding a language suffix to the web address so it ends with e.g. .html.en or .html.de.
If the web address has no language suffix, the preferred language specified in your web browser’s settings is used. For your convenience:
[ Change to English Language | Change to Browser’s Preferred Language ]
The material in this document is available under a free license, see Legal for details.
For information on contributing see the Ubuntu Documentation Team wiki page. To report errors in this documentation, file a bug.
Управление 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