Сайт о телевидении

Сайт о телевидении

» » Настраиваем VPN соединение в Linux

Настраиваем VPN соединение в Linux

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

Но когда в Ubuntu, Fedora, OpenSUSE или других дистрибутивах Linux доходит дело до VPN, у пользователей могут возникнуть проблемы. Для разработчиков важнее пользователи Windows, а Linux до сих пор еще не в приоритете. В этой статье мы рассмотрим лучшие VPN для Linux, которые вам обязательно будут полезными. В списке будут как платные так и бесплатные сервисы.

Обычно, для подключения VPN в Linux используются такие технологии, как OpenVPN, OpenConnect или NetworkManager. Но будет намного лучше, если VPN провайдер выпускает свой клиент для Linux. Его намного проще настроить, и здесь есть намного больше функций. Большинство VPN в этом списке имеют свой клиент для операционной системы Linux.

1. PIA - Private Internet Access

Провайдер Private Internet Access - это один из лучших и самых распространенных VPN на сегодняшний день. Он доступный, позволяет подключить сразу несколько устройств, предлагает приемлемую скорость работы сети, а также полностью безопасен. В том числе, это один из самых популярных VPN сервисов для Linux. Это вполне заслужено. Здесь используется OpenVPN с шифрованием с помощью 256 битного AES ключа. У сервиса есть свой клиент как для Debian, так и для Red Hat систем. Но учитывая все преимущества сервиса, стоит он не дешево - 3,33 $ в месяц.

2. ExpressVPN

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

Список серверов всегда будет в актуальном состоянии, а пользователи могут переключиться между протоколами UDP и TCP при работе по OpenVPN. Самым большим недостатком этого VPN для Linux есть цена. Сервис стоит вдвое больше чем PIA. В течение 30 дней сервис возвращает деньги, так что вы можете попробовать VPN бесплатно. Но у серверов более внушительные характеристики, а скорость сети намного больше.

ExpressVPN работает на Ubuntu, Fedora, Debian и CentOS. Одновременно вы можете подключить до трех устройств, а также теперь вы можете работать с netflix.

3. AirVPN

AirVPN предлагает официальные клиенты для дистрибутивов Linux - Debian, Ubuntu, OpenSUSE и Fedora. Вы можете использовать его как из командной строки, так и через графический интерфейс. Здесь больше всего настроек безопасности. Вы можете подключиться с помощью OpenVPN, SSH или SSL, а также пересылать трафик через ряд альтернативных портов. Этот сервис тоже платный, цена как и у PIA.

4. Buffered

Это новый VPN сервис, основанный в Венгрии. Вы можете подключить одновременно три устройства, а трафик неограничен. Сервис дорогой, но есть гарантия возврата денег в течение 30-ти дней. Интересной вещью есть то, что клиент может искать открытые порты на защищенных серверах. Это отличная возможность обойти страницы входа в систему, которые часто встречаются в гостиницах и аэропортах. Серверы находятся в 16-ти странах, но скорость работы очень быстрая. Клиент работает в большинстве дистрибутивов Linux.

5. Mullvad

Сервис Mullvad пошел еще дальше и предлагает клиент с открытым исходным кодом для Debian и Ubuntu. Поддерживаются такие функции, как отключение интернета, защита от утечки DNS, маршрутизация ipv6. Сервис ведет журналы, но не логи соединений, поэтому в плане безопасности он надежный. Одновременно можно использовать три соединения. Также доступно перенаправление портов. Выбор сервера ограничен, но это допустимо. На официальном сайте есть пакеты для Debian и Ubuntu, но программа будет работать в большинстве дистрибутивов. Дальше рассмотрим лучшие бесплатные VPN 2016.

6. Itshidden

Это уже бесплатный VPN Linux. Все сервисы, что мы рассматривали выше - платные, но они более надежны. Ни один из них не ведет логов подключений, а это значит, что к вашей информации никто не сможет получить доступ: ни злоумышленники, ни правоохранительные органы. В бесплатных сервисах все намного по-другому. Многие из них ведут логи, а также используют небезопасные протоколы связи.

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

7. SecurityKISS

Это еще один лучший бесплатный VPS для Linux, у которого есть официальный клиент для этой операционной системы. Поддерживаются различные протоколы работы в том числе SSH, FTP, RDP, Telnet и так далее. Но как и у других бесплатных VPS здесь есть несколько минусов. Компания хранит журналы и IP адреса пользователей, а это не желательно для тех, кто хочет защитить свою конфиденциальность. Также в бесплатной версии количество доступного трафика ограничено 300 мегабайт в сутки, а это очень мало.

Выводы

Даже если провайдер VPN не предоставляет официального клиента для Linux, почти все они могут быть настроены с помощью OpenVPN. В этой статье мы рассмотрели лучшие VPN для Linux, причем как бесплатные, так и платные, поэтому вы сможете выбрать то что вам нужно. Бесплатные VPN для Linux имеют свои ограничения, но в некоторых ситуациях с этим можно мириться. А вы используете VPN для работы в сети? Какие бесплатные сервисы могли бы посоветовать другим пользователям? Напишите в комментариях!

На завершение небольшая лекция, о том, что такое VPN и как работает эта технология:

Настройка с помощью 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/.

Возле ректора 27 мая 2011 в 22:04

Настройка сети и ВПН подключения «вручную» в Linux

  • Чулан *

Мы будем настраивать параметры сети используя дистрибутив Ubuntu, для других дистрибутивов настройка будет незначительно отличатся.

В некоторых дистрибутивах Вы найдете утилиту настройки сети «network-manager», которая позволяет настраивать параметры сети через графический интерфейс. В данном руководстве мы откажемся от её использования и будем настраивать всё сами, вручную.

Так как ВПН часто приходится настраивать на машине, у которой больше нет другого выхода в интернет, то советую заранее припастись пакетом pptp-linux с официального репозитория. В некоторых дистрибутивах пакет pptp-linux находится на установочном диске. В дальнейшем он нам понадобится для настройки VPN-соединения.

Настройка сети
1. Запускаем терминал . Applications (Приложения) - Стандартные - Терминал.
Выполним такую команду sudo apt-get remove network-manager , далее пароль пользователя и удаляем «network-manager».

2. Вводим команду ifconfig -a , перед нами появляется список всех(активных и неактивных) сетевых устройств, которые именуются как eth0, eth1, eth2 и т.д. У меня стоит одна сетевая карта (eth0 ) к которой подключена локальная сеть, поэтому в примерах будет использоваться eth0 .

3. Почти вся информация о настройках сети и методах ее активации хранится в файле /etc/network/interfaces, именно с ним мы и будем работать. Вводим в терминале sudo nano /etc/network/interfaces , далее пароль пользователя. Итак, мы запустили консольный редактор nano, с помощью которого и будут редактироваться файлы настроек. Перемещение курсора осуществляется с помощью стрелок вверх, вниз, влево, вправо:-). В открытом файле будут такие строки:

Auto lo
iface lo inet loopback

auto lo - говорит о том, что локальная петля lo поднимается автоматически при загрузке системы.
Интерфейс lo - интерфейс обратной петли и позволяет компьютеру обращатся к самому себе. Интерфейс имеет ip-адрес 127.0.0.1 и необходим для нормальной работы системы.

4. Редактируем файл и добавляем несколько строк:

Auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address xxx.ххх.ххх.ххх
netmask 255.255.255.0
gateway xxx.ххх.ххх.1

auto eth0 - говорит о том, что сетевая карта eth0 поднимается автоматически во время загрузке системы.
iface eth0 inet static - указывает, что интерфейс(iface) сетевой карты(eth0) находится в диапазоне адресов ipv4(inet) со статическим ip(static)
address xxx.ххх.ххх.ххх - статический ip адрес, тут Вы должны записать свой ip
netmask - стандартная маска сети
gateway xxx.ххх.ххх.1 - ip адрес основного шлюза, также замените на ip адрес Вашего шлюза

Редактирование закончено. Жмем Ctrl+O для сохранения, Ctrl+X для выхода из консольного редактора nano.

5. Необходимо записать адреса основного и вспомогательного серверов DNS в файл /etc/resolv.conf. Снова идем в терминал и набираем sudo nano /etc/resolv.conf, далее пароль пользователя. Добавляем строку:

nameserver xxx.xxx.xxx.1
nameserver xxx.xxx.xxx.2

xxx.xxx.xxx.1 и xxx.xxx.xxx.2 - замените на ip адреса Вашего основного и вспомогательного серверов DNS. Жмем Ctrl+O для сохранения, Ctrl+X для выхода из консольного редактора nano.

Теперь перейдем к настройке VPN-соединения
Помните в начале рукаводства я просил скачать пакет pptp-linux, надеюсь он уже имеется у Вас. Пришло время его установить. Установили? Отлично, переходим дальше.

1. Снова идем в терминал и набираем sudo nano /etc/ppp/options.pptp , далее пароль пользователя. Добавляем нижеуказанные строки:

lock
noauth
nobsdcomp
nodeflate
persist

Все остальные строки просто комментируйте используя знак # в начале строки.

2. Создаем файл подключения VPN. Для этого набираем в терминале sudo nano /etc/ppp/peers/vpn
defaultroute
pty "pptp MyVPN.com --nolaunchpppd"
name MyLogin
remotename PPTP
+chap
file /etc/ppp/options.pptp
ipparam vpn

Обязательно замените значение MyLogin на Ваш логин, а MyVPN.com на адресс Вашего VPN сервера. Жмем Ctrl+O для сохранения, Ctrl+X для выхода из консольного редактора nano.

Опишу некоторые параметры:
defaultroute - устанавливаем маршрут по умолчанию;
+chap - тип аутентификации. Помимо +chap может использоваться тип +pap .
file - читать дополнительные настройки из заданного файла.

3. Редактируем файл /etc/ppp/chap-secrets. Для этого вводим в терминале sudo nano /etc/ppp/chap-secrets , далее пароль пользователя. Добавляем строку:
MyLogin PPTP MyPassword *

Замените MyLogin на свой логин, а MyPassword на Ваш пароль для подключения. Жмем Ctrl+O для сохранения, Ctrl+X для выхода из консольного редактора nano.

4. Набираем в терминале sudo nano /sbin/vpn , далее пароль пользователя. Вставляем туда следующие строки:
#!/bin/sh
case "$1" in
start)
echo -n "Starting vpn: "
pon vpn
sleep 5
route add default dev ppp0
ifconfig
echo
;;
stop)
echo -n "Stopping vpn: "
poff vpn
sleep 5
route del default dev ppp0
ifconfig
echo
;;
*)
echo "*** Usage: vpn {start|stop}"
exit 1;
;;
esac
exit 0

Жмем Ctrl+O для сохранения, Ctrl+X для выхода из консольного редактора nano.

На этом наши настройки заканчиваются. Теперь перезагрузить сетевое соединение, используясь команду sudo /etc/init.d/networking restart , далее пароль пользователя.

Для подключения ВПН набираем в терминале:
sudo sh /sbin/vpn start

Для отключения ВПН набираем в терминале:
sudo sh /sbin/vpn stop

Теги: linux vpn сеть

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

Практическое знакомство с VPN мы начнем с PPTP, как наиболее простого в реализации. Однако следует помнить о том, что это слабозащищенный протокол и его не следует использовать для доступа к критически важным данным.

Рассмотрим схему, которую мы создали в нашей тестовой лаборатории для практического знакомства с данной технологией:

У нас имеется локальная сеть 10.0.0.0/24 с сервером терминалов 10.0.0.2 и 10.0.0.1, который будет выполнять функции VPN сервера, для VPN мы зарезервировали сеть 10.0.1.0/24. Внешний интерфейс сервера имеет условный выделенный IP адрес X.X.X.X. Наша цель - предоставить удаленным клиентам доступ к терминальному серверу и общим ресурсам на нем.

Настройка сервера PPTP

Установим пакет pptpd реализующий функционал PPTP VPN:

Sudo apt-get install pptpd

Теперь откроем файл /etc/pptpd.conf и зададим основные настройки VPN сервера. Перейдем в самый конец файла, где укажем адрес сервера в VPN сети:

Localip 10.0.1.1

И диапазон адресов для выдачи клиентам:

Remoteip 10.0.1.200-250

Адресов нужно выделить не меньше, чем возможных одновременных соединений, лучше с небольшим запасом, так как их увеличение без перезапуска pptpd невозможно. Также находим и раскомментируем строку:

Bcrelay eth1

Это позволит передавать VPN клиентам широковещательные пакеты внутренней сети.

Также можно использовать опции listen и speed , первая позволяет указать IP адрес локального интерфейса для прослушивания входящих PPTP соединений, второй указать скорость VPN соединений в бит/с. Например разрешим серверу принимать PPTP соединения только с внешнего интерфейса:

Listen X.X.X.X

Более тонкие настройки находятся в файле /etc/ppp/pptpd-options . Настройки по умолчанию вполне соответствуют нашим требованиям, однако кратко рассмотрим некоторые из них, чтобы вы имели представление о их назначении.

Секция #Encryption отвечает за шифрование данных и проверку подлинности. Данные опции запрещают использование устаревших и небезопасных протоколов PAP, CHAP и MS-CHAP:

Refuse-pap
refuse-chap
refuse-mschap

Require-mschap-v2
require-mppe-128

Следующая секция #Network and Routing , здесь следует обратить внимание на опцию ms-dns , которая позволяет использовать DNS сервер во внутренней сети. Это может быть полезно при доменной структуре сети или наличия в ней DNS сервера который содержит имена всех ПК сети, что дает возможность обращаться к компьютерам по их именам, а не только по IP. В нашем случае данная опция бесполезна и закомментирована. Подобным образом можно задать и адрес WINS сервера опцией ms-wins .

Здесь же находится опция proxyarp , включающая, как несложно догадаться из названия, поддержку сервером Proxy ARP.

В секции #Miscellaneous содержится опция lock , которая ограничивает клиента одним подключением.

Ivanov * 123 *
petrov * 456 10.0.1.201

Первая запись позволяет подключаться к серверу пользователю ivanov c паролем 123 и присваивает ему произвольный IP адрес, вторая создает пользователя petrov с паролем 456, которому при подключении будет присваиваться постоянный адрес 10.0.1.201.

Перезапускаем pptpd :

Sudo /etc/init.d/pptpd restart

Важное замечание! Если pptpd не хочет перезапускаться, зависая на старте, а в /var/log/syslog добавляя строку long config file line ignored обязательно добавьте в конец файла /etc/pptpd.conf перенос строки.

Наш сервер готов к работе.

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

В общем случае достаточно настроить VPN соединение с опциями по умолчанию. Однако мы советуем явно указать тип соединения и отключить лишние протоколы шифрования.

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

Устанавливаем VPN соединение и пробуем пропинговать какой либо ПК в локальной сети, мы без каких либо затруднений получили доступ к терминальному серверу:

Теперь еще одно важное дополнение. В большинстве случаев доступ к компьютерам локальной сети будет возможен только по IP адресам, т.е. путь \\10.0.0.2 будет работать, а \\SERVER - нет. Это может оказаться неудобным и непривычным для пользователей. Существует несколько способов решения данной проблемы.

Если локальная сеть имеет доменную структуру, достаточно указать DNS сервером для VPN подключения DNS сервер контроллера домена. Воспользуйтесь опцией ms-dns в /etc/ppp/pptpd-options сервера и данные настройки будут получены клиентом автоматически.

Если DNS сервер в локальной сети отсутствует, то можно создать и использовать WINS сервер, информацию о нем также можно автоматически передавать клиентам при помощи опции ms-wins . И наконец, если удаленных клиентов немного, использовать на клиентских ПК файлы hosts (C:\Windows\System32\drivers\etc\hosts), куда следует добавить строки вида.