Установка VPN в Ubuntu. Настройка VPN-соединения в Linux Настройка серверной части на Ubuntu Linux




Настоящая частная виртуальная сеть или Virtual Private Network (VPN) - это зашифрованное соединенный туннель между двумя сетями, который соединяет две доверенные точки. Это не веб-протокол HTTPS, который считает доверенными всех клиентов. К VPN могут подключиться только те клиенты, которые имеют специальные ключи доступа.

Понятие VPN в наши дни стало очень растянутым, после появления частных виртуальных сетей, которые доверяют всем и распространения HTTPS. Многие из сетей VPN представляют из себя коммерческие решения с минимальным количеством настроек для обеспечения удаленного доступа сотрудников. Но не все доверяют этим решениям. Частная виртуальная сеть соединяет две сети в одну, например, сеть офиса и домашнюю сеть работника. Сервер VPN необходим для того чтобы сервер и клиент могли пройти аутентификацию друг с другом.

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

На обоих машинах должен быть установлен OpenVPN, это довольно популярная программа, поэтому вы можете установить ее из официальных репозиториев. Также нам понадобится Easy-RSA для работы с секретными ключами. Для установки программ в Ubuntu используйте такую команду:

sudo apt install openvpn easy-rsa

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

Настройка центра сертификации

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

Обратите внимание, что все секретные ключи должны находится в надежном месте. В OpenVPN открытый ключ называется сертификатом и имеет расширение.crt, а закрытый ключ так и называется ключом, его расширение - .key.

Сначала создайте папку для хранения сертификатов Easy-RSA. Фактически, конфигурация OpenVPN выполняется вручную, так что папку можно разместить где угодно:

sudo mkdir /etc/openvpn/easy-rsa

Затем скопируем в эту папку все необходимые скрипты easy-rsa:

cd /etc/openvpn/easy-rsa/

sudo -i
# source ./vars
# ./clear-all
# ./build-ca

Первой командной мы переключаемся в консоль от имени суперпользователя, второй загружаем переменные окружения из файла./vars. Команда./clear-all создает папку keys если ее нет и очищает ее содержимое. И последняя команда инициализирует наш центр сертификации. Теперь в папке.keys появились все необходимые ключи:

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

sudo cp -R /usr/share/easy-rsa /etc/openvpn/

Теперь нам нужно скопировать сертификат, файл с расширением.crt в папку /etc/openvpn на всех клиентах. Например, скачаем этот файл для нашего клиента с помощью scp:

sudo scp пользователь@хост:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys

Только теперь можно создать свой секретный ключ на основе сертификата CA:

cd /etc/openvpn/easy-rsa/

sudo -i
# source ./vars
# build-req Sergiy

Обратите внимание, что ca.crt должен лежать в папке с ключами, иначе ничего не сработает. Теперь утилита создаст ключ, на основе которого, вы сможете подключиться к OpenVPN серверу, но вам еще осталось подписать его на сервере. Отправьте полученный.csr файл на сервер с помощью того же самого scp:

scp /etc/openvpn/easy-rsa/keys/Sergiy.csr пользователь@хост:~/

Затем уже на сервере в папке /etc/openvpn/easy-rsa нужно выполнить команду подписи сертификата:

./sign-req ~/Sergiy

Подпись сертификата нужно подтвердить. Затем программа сообщит что он был подписан и добавлен в базу данных. В папке с сертификатом csr появится файл.crt, который нужно вернуть назад на клиентскую машину:

sudo scp пльзователь@хост:/home/Sergiy.crt /etc/openvpn/easy-rsa/keys

Только после этого сервер и клиент имеют все необходимые ключи для подключения и установки связи. Осталось еще несколько настроек. Если вы планируете использовать шифрование TLS, то необходимо создать на сервере набор данных Диффи-Хафмана, для этого используйте команду:

Настройка OpenVPN

Теперь настройка сервера OpenVPN. По умолчанию, в папке конфигурационных файлов OpenVPN ничего нет. Их нужно создать самостоятельно в зависимости от того, что планируется настраивать, сервер или клиент. Нужный файл конфигурации OpenVPN можно найти по адресу /usr/share/doc/openvpn/examples/sample-config-files/. Сначала создадим конфигурационный файл для сервера:

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Здесь вам нужно настроить несколько параметров:

port и proto - порт и протокол, по которым будет работать программа;

port 1194
proto udp

Все созданные ключи нужно прописать в конфигурационном файле. Наши ключи хранятся по адресу /etc/openvpn/easy-rsa/keys:


cert /etc/openvpn/easy-rsa/keys/ca.crt
key /etc/openvpn/easy-rsa/keys/ca.key
dh /etc/openvpn/easy-rsa/keys/dh.pem

Настраиваем диапазон адресов для виртуальной сети, наш сервер будет доступен по первому из них - 10.8.0.1:

server 10.8.0.0 255.255.255.0

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

port 1194
proto udp
comp-lzo
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/ca.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf

Вы можете создать несколько конфигурационных файлов клиента для подключения к разным серверам. Откройте конфигурационный файл и измените в нем такие параметры:

remote - это ваш адрес сервера OpenVPN, адрес и порт должны совпадать с настроенными на сервере, например:

remote 194.67.215.125 1194

ca - ключ, который вы получили от центра сертификации, мы расположили его в папке /etc/openvpn/.

cert и key - это открытый и секретный ключи клиента, с помощью них вы и будете подключаться к серверу. Как вы помните, мы сохранили их в папке /etc/openvpn/easy-rsa/keys/.

ca /etc/openvpn/easy-rsa/keys/ca.crt

Остальные настройки можно оставить как есть. Вот файл настройки целиком, который вы можете скопировать:

client
dev tun
proto udp
remote 194.67.215.125 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/Sergiy.crt
key /etc/openvpn/easy-rsa/keys/Sergiy.key
tls-auth ta.key 1
comp-lzo
verb 3

Сохраните настройки, теперь клиент готов к подключению. Обратите внимание, что конфигурационные файлы должны максимально совпадать, отсутствие определенных опций в одном из файлов может привести к ошибкам. Это не значит, что файлы будут идентичны, но основные параметры openvpn должны быть одинаковыми. Вам осталось запустить OpenVPN на этой машине используя этот конфигурационный файл:

openvpn /etc/openvpn/client.conf

Готово, теперь все работает, если вы выполните ifconfig, то увидите что был добавлен интерфейс tun0:

Также вы можете попробовать выполнить ping адреса 10.8.0.1, именно этот адрес мы настроили для нашего сервера OpenVPN, пакеты ping будут нормально отправляться. Если пакеты не идут, или еще что-то не работает, обратите внимание на вывод обоих программ, возможно, возникли какие-либо ошибки или предупреждения, также убедитесь, что брандмауэр сервера разрешает доступ извне по udp для порта 1194. Еще можно запустить сервер или клиент, настроив в конфиге уровень подробности на максимум verb 9. Очень часто это помогает понять почему что-то не работает. Но вы еще не можете направлять трафик через туннель. Для этого нужно разрешить форвардинг и добавить несколько правил iptables. Сначала разрешаем транзит пакетов на сервере:

sysctl -w net.ipv4.ip_forward=1

Затем добавьте такие правила. Разрешаем всем подключаться к нашему серверу:

iptables -A INPUT -p udp --dport 1194 -j ACCEPT

Разрешаем пользователям OpenVPN доступ к интернету:

iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
# iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Выводы

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

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.

Периодически некоторые активные пользователи интернета сталкиваются с необходимостью организации безопасного шифрованного анонимного соединения, часто с обязательной заменой 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. Каждый вариант имеет свои достоинства и недостатки и будет оптимальным в некоторых ситуациях. Мы же советуем ознакомиться со всеми ними, определиться с целью использования такого инструмента и уже переходить к выполнению инструкций.

Инструкция

Проверьте, существует ли поддержка протокола 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 можно считать законченной.

Рассмотрев в предыдущих частях теоретические вопросы перейдем к практической реализации. Сегодня мы рассмотрим создание 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), куда следует добавить строки вида.