Настройка VPN подключения в Linux. Установка VPN в Ubuntu Настройка с помощью Network Manager"а

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

Разработчики собственных серверов и программ для VPN-соединения предоставляют услуги и для обладателей компьютеров под управлением дистрибутива Ubuntu, основанного на ядре Linux. Инсталляция не занимает много времени, а также в сети присутствует большое количество бесплатных или дешевых решений для осуществления поставленной задачи. Сегодня мы бы хотели затронуть три рабочих метода организации частного защищенного подключения в упомянутой ОС.

Способ 1: Astrill

Astrill — одна из бесплатных программ с графическим интерфейсом, которая устанавливается на ПК и автоматически заменяет сетевой адрес на случайный или специально заданный пользователем. Разработчики обещают выбор из более чем 113 серверов, защищенность и анонимность. Процедура загрузки и инсталляции достаточно простая:

  1. Перейдите на официальный сайт Astrill и выберите версию для Linux.
  2. Укажите подходящую сборку. Для обладателей одной из последних версий Ubuntu отлично подойдет DEB-пакет 64-бит. После выбора щелкните на «Скачать Astrll VPN» .
  3. Сохраните файл в удобное расположение или сразу откройте через стандартное приложение для инсталляции DEB-пакетов.
  4. Нажмите на кнопку «Установить» .
  5. Подтвердите паролем подлинность учетной записи и ожидайте завершения процедуры. С альтернативными вариантами добавления DEB-пакетов в Ubuntu знакомьтесь в другой нашей статье по ссылке ниже.
  6. Теперь программа добавлена на ваш компьютер. Осталось только запустить ее, нажав на соответствующий значок в меню.
  7. Во время загрузки вы должны были создать себе новый аккаунт, в открывшемся окне Astrill введите свои данные для выполнения входа.
  8. Укажите оптимальный сервер для соединения. При надобности выбора определенной страны воспользуйтесь строкой поиска.
  9. Данное ПО может работать с различными инструментами, позволяющими осуществлять организацию VPN-соединения в Убунту. Если не знаете, какой вариант выбрать, оставьте значение по умолчанию.
  10. Запустите сервер, переместив ползунок в положение «ON» , и переходите к работе в браузере.
  11. Заметьте, что теперь на панели задач появился новый значок. Нажатием на него открывается меню управления Astrill. Здесь доступна не только смена сервера, но и настройка дополнительных параметров.

Рассмотренный метод будет наиболее оптимальным для начинающих пользователей, которые еще не разобрались с тонкостями настройки и работе в «Терминале» операционной системы. В рамках этой статьи решение Astrill было рассмотрено только в качестве примера. На просторах интернета вы можете найти еще множество подобных программ, которые предоставляют более стабильные и быстрые серверы, но зачастую являются платными.

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

Способ 2: Системный инструмент

В Ubuntu присутствует встроенная возможность организации VPN-соединения. Однако для этого все равно придется найти один из рабочих серверов, находящихся в открытом доступе, либо же купить место через любой удобный веб-сервис, предоставляющий подобные услуги. Вся процедура подключения выглядит так:

  1. Нажмите на панели задач на кнопку «Подключение» и выберите пункт «Настройки» .
  2. Переместитесь в раздел «Сеть» , воспользовавшись меню слева.
  3. Отыщите раздел VPN и кликните на кнопку в виде плюса, чтобы перейти к созданию нового подключения.
  4. Если поставщик услуг вам предоставил файл, можете импортировать конфигурацию через него. В противном случае все данные придется водить вручную.
  5. В разделе «Идентификация» присутствуют все нужные поля. В поле «Общие» «Шлюз» вводите предоставленный IP-адрес, а в «Дополнительные» — полученное имя пользователя и пароль.
  6. Помимо этого, присутствуют еще и дополнительные параметры, но изменять их следует только по рекомендации владельца сервера.
  7. На картинке ниже вы видите примеры бесплатных серверов, которые находятся в свободном доступе. Конечно, зачастую они работают нестабильно, являются загруженными или медленными, но это лучший вариант для тех, кто не хочет платить деньги за VPN.
  8. После создания подключения остается только его активировать, передвинув соответствующий ползунок.
  9. Для аутентификации требуется ввести пароль от сервера в появившемся окне.
  10. Управлять защищенным соединением вы можете и через панель задач, щелкнув на соответствующей иконке левой кнопкой мыши.

Способ с применением стандартного инструмента хорош тем, что он не требует от пользователя инсталляции дополнительных компонентов, но все же отыскать свободный сервер придется. Кроме этого, никто не запрещает вам создать несколько соединений и переключаться между ними только в подходящий момент. Если вас заинтересовал этот метод, советуем все-таки присмотреться к платным решениям. Часто они достаточно выгодны, поскольку за небольшую сумму вы получите не только стабильный сервер, но и техническую поддержку в случае возникновения различного рода проблем.

Способ 3: Собственный сервер через OpenVPN

Некоторые компании, предоставляющие услуги шифрованного соединения, используют технологию OpenVPN и их клиенты устанавливают соответствующее программное обеспечение на свой компьютер для успешной организации защищенного туннеля. Ничто не мешает вам самостоятельно создать сервер на одном ПК и настроить клиентскую часть на других, чтобы получить тот же самый результат. Конечно, процедура настройки достаточно сложная и выполняется долго, но в некоторых случаях это будет лучшим решением. Предлагаем вам прочесть руководство по инсталляции серверной и клиентской части в Ubuntu, перейдя по следующей ссылке.

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

If ($answer_counter == 1): ?> endif; ?>

ОБНОВЛЕНИЕ . Что касается Sierra, macOS больше не поддерживает PPTP vpn. Этот ответ недействителен для клиентов macOS Sierra и других.

PPTP через PoPToP легко

  1. apt-get install pptpd
  2. отредактируйте /etc/pptpd.conf и установите для параметра remoteip значение в вашей сети, которое НЕ обслуживается вашим сервером DHCP.
  3. отредактируйте /etc/ppp/chap-secrets и добавьте имя пользователя и пароль

например.

Vpnuser pptpd vpnpassword *

Это все, что нужно для установки pptp. Теперь протестируйте его со своим клиентом OS X.

Ответ дан Jay _silly_evarlast_ Wren 06.04.2012 в 23:24

WARNING: PPTP IS AN INSECURE PROTOCOL! Not only has the encryption been breached, but it sends your authentication in clear text and is easily intercepted. It has been estimated that the amount of time required to brute-force the password is roughly equivalent to the time required to brute-force a single DES key. Consider using OpenVPN or another VPN architecture instead of PPTP!

Ответ дан Qasim 10.06.2013 в 16:09

Другие ответы на эту тему были лишь частичными ответами в моем случае. Вот что сработало для меня на Ubuntu 12.04.3

Sudo apt-get install pptpd

Добавить в /etc/pptpd.conf следующее: (IP-адрес не имеет значения, это только IP-адреса для вашего интерфейса ppp0.)

Localip 10.0.0.1 remoteip 10.0.0.100-200

Добавить DNS-серверы в / etc / ppp / pptpd-options

Ms-dns 8.8.8.8 ms-dns 8.8.4.4

Включить переадресацию IP-адресов

sudo vim /etc/sysctl.conf

Раскомментировать эту строку

Sudo sysctl -p /etc/sysctl.conf

Измените / etc / ppp / chap-secrets, добавьте пользователя VPN в этом формате:

# Secrets for authentication using CHAP # client server secret IP addresses username pptpd supersecretpassword *

Перезапустить PPTP

Service pptpd restart

Запустите ifconfig и найдите свой интерфейс по умолчанию, в моем случае это был br0 (я изменил его, чтобы позволить виртуальным машинам на моей физической машине обмениваться интерфейсом. Вероятно, это будет en0 )

Резервное копирование iptables

Iptables-save > ~/iptables.save

Теперь сделайте, чтобы изменения iptables использовали свой интерфейс по умолчанию, как показано ifconfig.

Инструкция

Проверьте, существует ли поддержка протокола PPP в ядре вашей операционной системы. Проще всего это сделать, просмотрев значения опций с префиксом CONFIG_PPP в файле текущей конфигурации ядра. Обычно он устанавливается в каталог /boot и имеет имя, начинающееся с config. Узнайте имя данного файла при помощи команды
ls /boot
или
ls /boot | grep conf
Выведите нужные строки командой cat, осуществив фильтрацию при помощи grep. Например:
cat /boot/config-2.6.30-std-def-alt15 | grep PPP
Проанализируйте строки, содержащие опции CONFIG_PPP, CONFIG_PPP_ASYNC, CONFIG_PPP_SYNC_TTY. Если перед ними нет символа #, поддержка соответствующего функционала имеется (при значениях m - в виде внешнего модуля, при значениях y - включена в ядро).

Проверьте, инсталлировано ли в системе клиентское программное обеспечение для установления VPN-соединений. Нужный пакет обычно носит имя, начинающееся с pptp. Используйте apt-cache с опцией search для поиска нужного пакета в доступных репозиториях и rpm с опцией -qa для того, чтобы проверить, установлен ли пакет. При работе в графической среде может иметь смысл воспользоваться такими программами, как synaptic.

Произведите инсталляцию недостающего программного обеспечения. Используйте подходящие менеджеры пакетов (apt-get, rpm в консоли, synaptic в графической среде, и т.д.). Если была осуществлена инсталляция пакета ppp с модулями ядра для поддержки соответствующего протокола, перезагрузите компьютер.

Попробуйте настроить VPN при помощи скриптов конфигурирования, таких как pptp-command или pptpsetup. Часто они входят в состав пакетов с клиентским ПО для установки VPN-соединений. Для получения справки по параметрам командной строки данных утилит используйте их запуск с опцией --help. Например:
pptpsetup --help
Если конфигурирующие скрипты установлены не были, перейдите к следующему шагу для осуществления ручной настройки VPN.

Создайте каталог /etc/ppp, а в нем - файл с именем chap-secrets. Откройте файл в текстовом редакторе. Добавьте в него строку вида:
LOGIN SERVER PASSWORD *
Значения LOGIN и PASSWORD - имя пользователя и пароль. Они должны предоставляться провайдером услуг доступа к VPN. Вместо SERVER укажите произвольное имя соединения или *.

Создайте каталог /etc/ppp/peers. Создайте в нем файл, имеющий имя, совпадающее со значением SERVER из предыдущего шага (или произвольное имя, если было указано значение *). Отредактируйте этот файл, добавив в него информацию вида:
pty "pptp SERVER --nolaunchpppd"
name LOGIN
ipparam SERVER
remotename SERVER
lock
noauth
nodeflate
nobsdcomp
Значения LOGIN и SERVER здесь - те же, что и в шаге 5. На этом настройку VPN в Linux можно считать законченной.

Настройка с помощью Network Manager"а

Как бы там ни было, но все таки опиши настройку впн с помощью network-manager"а. Эта настройка вполне подойдет тем, у кого в подключении к сети используется автоматическое получение IP адреса с помощью DHCP.

1. Устанавливаем два необходимых нам пакета:
#apt-get install pptp-linux network-manager-pptp
Так как этих пакетов по умолчанию нет на диске с убунтой, а впн часто приходится настраивать на машине, у которой больше нет другого выхода в интернет, то советую заранее припастись этими пакетами с официального репозитория. Для этого заходим на сайт packages.ubuntu.com/ , там ищем два эти пакета, закачиваем их и в дальнейшем устанавливаем на нужной нам машине.
2. Если в аплете Network Manager не появился пункт «VPN соединения»(VPN Connections) или он не будет открываться, то надо перелогиниться или даже лучше - перезагрузиться.
3. Нажимаем левой клавишей мыши (по правой кнопке вызывается другое меню) по значку Network Manager"а и в выпавшем меню выбираем «VPN соединения» - «Настройка VPN»(Configure VPN). Добавляем новое соединение и выставляем все нужные опции для этого соединения.
4. После этого, ваше соединение должно появиться в меню «VPN соединения», если оно вдруг не появилось - перелогиньтесь или перезагрузитесь (ну что я могу поделать, на столько, все еще, сырой этот network-manager).
5. Все теперь можете подключаться к созданному вами впн соединению (а также и отключаться, выбрав пункт меню в Network Manager"е).

#apt-get install pptp-linux

Как я уже описывал выше в разделе установки с помощью network-manager"а, впн часто приходится настраивать на машине, у которой больше нет другого выхода в интернет, поэтому советую заранее припастись этим пакетом с официального репозитория packages.ubuntu.com/.

2. Редактируем файл options.pptp:
#nano /etc/ppp/options.pptp


lock noauth nobsdcomp nodeflate persist

Не буду описывать каждый из параметров, опишу лишь некоторые:
persist - этот парметр пытается по новой открыть соединение, когда оно закрывается;
nodeflate - не использовать deflate сжатие (хотя говорят с ним работает быстрее, не знаю - не проверял).
Также, если у вас в соединении используется шифрование, то добавляем одну из строк, в зависимости от типа шифрования - require-mschap-v2, require-mppe-40, require-mppe-128, require-mppe.

3. Создаем файл подключения /etc/ppp/peers/vpn (название vpn можете заменить на любое другое, но если замените, не забывайте менять его дальше в этой статье)

#nano /etc/ppp/peers/vpn

Вставляем туда следующие строки:
maxfail 0 lcp-echo-interval 60 lcp-echo-failure 4 defaultroute pty "pptp vpn.ava.net.ua --nolaunchpppd" name sukochev remotename PPTP +chap file /etc/ppp/options.pptp ipparam vpn

Внимание!!! Обязательно замените следующие опции на ваши:
Вместо vpn.ava.net.ua впишите адрес вашего впн сервера (можно использовать IP сервера). Вместо sukochev вставляете ваш логин подключения.
Опишу некоторые параметры:
maxfail 0 - всегда пытаться подключиться при отсутствии связи;
lcp-echo-interval - интервал времени, по прошествии которого, происходит опрос удаленной стороны;
lcp-echo-failure - количество не отвеченных запросов удаленной стороны, после чего система считает, что нас отключили;
defaultroute - устанавливаем маршрут по умолчанию;
+chap - тип аутентификации. Помимо +chap может использоваться тип +pap.
file - читать дополнительные настройки из заданного файла.
Также можно добавить, если нужно, следующие параметры:
deflate 15,15 - использовать deflate сжатие (в файле options.pptp не должно быть параметра nodeflate);
mtu - максимальный размер передаваемого пакета (изменяют этот параметр обычно тогда, когда часто отключается соединение или не открываются некоторые сайты);
mru - максимальный размер получаемого пакета.

4. Редактируем файл /etc/ppp/chap-secrets (если используется тип аутентификации PAP, то /etc/ppp/pap-secrets соответственно)

#nano /etc/ppp/chap-secrets

Вставляем туда строку, типа:

Sukochev PPTP password *

Внимание!!! Замените sukochev на свой логин, а password на ваш пароль для подключения.
5. Если это необходимо, то прописываем в файл /etc/network/interfaces нужные роуты. Например у меня роуты прописаны для того, чтобы при включенном впн-подключении я мог пользоваться местной локальной сетью. Вот пример моих роутов (те что начинаются на up route), у вас они естественно будут отличаться:

Auto eth1 iface eth1 inet dhcp up route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1 up route add -net 10.3.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1

Не забываем после изменения файла /etc/network/interfaces перезапустить сетевые подключения:

#/etc/init.d/networking restart

6. Теперь можете включать и выключать впн подключение с помощью следующих команд:
Включение

Выключение

Автоматическое подключение VPN при загрузке системы

Для этого редактируем файл /etc/network/interfaces
#nano /etc/network/interfaces

И вставляем в конец фйла следующие строки:
auto ppp0 iface ppp0 inet ppp provider vpn pre-up ip link set eth1 up up route del default up route add default dev ppp0

Где eth1 - это интерфейс сетевого устройства, через которое подключается впн-соединение, а vpn - название впн-соединения, которое вы создали в папке /etc/ppp/peers/.

Аббревиатуру VPN сейчас не слышали разве что только те, кто никогда не имел дела с компьютером. Что это такое, зачем оно нужно и как его настроить самостоятельно?

Что такое VPN и зачем это нужно?

VPN (Virtual Private Network) – виртуальная частная сеть, способ объединить в одну логическую сеть несколько компьютеров, физически находящихся на некотором расстоянии друг от друга.

Использовать VPN можно с разными целями – от организации сети для работы/игр до доступа в интернет. При этом вы должны понимать возможную юридическую ответственность за свои действия.

В России использование VPN не является наказуемым действием, исключая случаи использования с заведомо противоправными целями. То есть, если вы хотите зайти на сайт президента соседней страны (допустим, Сомали) и написать, какой он нехороший, скрыв при этом свой IP-адрес, это само по себе не является нарушением (при условии, что содержание высказывания не нарушает законы). А вот использовать эту технологию для доступа к запрещённым в России ресурсам является правонарушением.

То есть, играть с друзьями по сети и удалённо работать в сетью организации используя VPN – можно, читать всякие нехорошие сайты – нельзя. С этим разобрались. Теперь переходим непосредственно к настройке.

Настройка серверной части на Ubuntu Linux

Для серверной части лучше использовать Linux, с ним в этом плане проще работать. Наиболее простой вариант – PPTP, не требующий установки сертификатов на компьютеры клиентов , аутентификация проводится по имени пользователя и паролю . Его и будем использовать.

Вначале установим нужные пакеты:

Sudo nano /etc/pptpd.conf

Если нам нужно более 100 одновременных подключений, ищем параметр «connections», раскомментируем его и указываем нужное значение, например:

Connections 200

Если нам нужно передавать по виртуальной сети широковещательные пакеты, следует убедиться, что параметр bcrelay также раскомментирован:

Bcrelay eth1

После этого переходим в конец файла и добавляем настройки адресов:

Localip 10.10.10.1 remoteip 10.10.10.2-254 listen 11.22.33.44

Первый параметр указывает IP-адрес сервера в локальной сети, второй – диапазон выдаваемых клиентам IP-адресов (диапазон должен обеспечить возможность указанного количества подключений, лучше адреса выделить с запасом), третий указывает, по какому внешнему адресу прослушивать интерфейсы для приёма входящих подключений. То есть, при наличии нескольких внешних адресов прослушивать можно только один. Если третий параметр не указать, прослушиваться будут все доступные внешние адреса.

Сохраняем файл и закрываем. Дополнительные тонкие настройки указываем в файле /etc/ppp/pptpd-options:

Sudo nano /etc/ppp/pptpd-options

В первую очередь убеждаемся, что у нас раскомментированы строки, запрещающие использование старых и небезопасных методов аутентификации:

Refuse-pap refuse-chap refuse-mschap

Также проверяем, что опция proxyarp включена (соответствующая строка раскомментирована) и дополнительно для разрешения или запрета множественных подключений одного пользователя комментируем (разрешение) или раскомментируем (запрет) опцию lock.

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

Sudo nano /etc/ppp/chap-secrets

На каждого пользователя VPN отводится одна строка, в которой последовательно (разделитель – пробел) указывается его имя, удалённый адрес, пароль и локальный адрес.

Удалённый адрес можно указывать, если у пользователя есть внешний статический IP и только он будет использоваться, иначе лучше указать звёздочку, чтобы точно можно было принять подключение. Локальный нужно указать, если вы хотите, чтобы пользователю выделялся один и тот же IP-адрес в виртуальной сети. Например:

User1 * password1 * user2 11.22.33.44 password2 * user3 * password3 10.10.10.10

Для пользователя user1 подключения будут приниматься с любого внешнего адреса, локальный будет выделяться первый доступный. Для user2 будет выделять первый доступный локальный адрес, но подключения будут приниматься только с адреса 11.22.33.44. Для user3 подключения принимаются из любой точки, но локальный адрес всегда будет выделяться 10.10.10.10, который мы для него зарезервировали.

На этом настройка VPN-сервера закончена, перезапускаем его (под Linux перезагружать компьютер не нужно):

Sudo service pptpd restart

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

Клиентскую часть можно настроить под любой операционной системой, я буду использовать в качестве примера Ubuntu Linux 16.04 .

На клиентском компьютере открываем сетевые соединения (на скриншотах приведено для Ubuntu + Cinnamon, для GNOME делается аналогично, в Kubuntu похоже и сложностей не вызовет). Нажимаем кнопку «Добавить» и выбираем PPTP-соединение:

Имя VPN-подключения можно оставить стандартное, а можно указать удобное и понятное для вас – это дело вкуса. Вводим в поле «шлюз» внешний IP-адрес сервера, к которому мы подключаемся (указан при настройке в опции «listen»), ниже имя и пароль. Справа в поле «Пароль» предварительно нужно выбрать вариант «Сохранить пароль для этого пользователя»):

После этого закрываем окна и подключаемся к серверу. Если сервер находится вне вашей локальной сети, нужен доступ в интернет.

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

Настройка доступа в интернет через VPN

На vpn-сервере вводим следующие команды:

Iptables -t nat -A POSTROUTING -o eth0 -s 10.10.10.1/24 -j MASQUERADE iptables -A FORWARD -s 10.10.10.1/24 -j ACCEPT iptables -A FORWARD -d 10.10.10.1/24 -j ACCEPT

где 10.10.10.1/24 – локальный адрес сервера и маска сети.

После этого сохраняем изменения, чтобы они работали и после перезагрузки сервера:

Iptables-save

И применяем все изменения:

Iptables-apply

После этого у вас появится доступ в интернет. Если зайти на какой-либо сайт, отображающий ваш IP-адрес, вы увидите внешний адрес сервера, а не свой (если они не совпадают).

Напоминаю, что ответственность за последствия своих действий несёте только вы.

В продолжение темы:
Wi-Fi

И всеми сопутствующими ей факторами для клиентов «Мегафона » уже относительно давно стало доступно совершать обмен бонусных баллов на деньги (средства на лицевом счёте)....

Новые статьи
/
Популярные