Меню Рубрики

Установка pptp vpn сервера ubuntu

Alexell.Ru

Поднимаем VPN — PPTP сервер на Ubuntu

В этой статье я расскажу как поднять собственный PPTP сервер на Ubuntu. Почему именно PPTP? У каждого свои цели и задачи, кому-то нужен PPTP, кому-то L2TP/IPSec, кому-то IKEv2, а может и OpenVPN. Я постараюсь написать статьи по установке и настройке хотя бы двух протоколов VPN на Ubuntu и начну с PPTP. Все описанные действия производились на Ubuntu 14.04.5 LTS. Напоминаю, что дешевые VPS во Франции для запуска своего VPN вы можете посмотреть здесь.

Для установки понадобятся права root пользователя или sudo.

1. Устанавливаем необходимые пакеты:

После окончания установки, нам понадобится отредактировать несколько файлов. Для изменения файлов вы можете пользоваться любым удобным для вас способом, хоть nano, хоть визуальными редакторами и т.д.

Теперь вам необходимо определиться с локальной подсетью для клиентов VPN. Вы можете сделать себе подсеть из любой подсети, которая не маршутизируется в интернете:

2. Открываем файл /etc/pptpd.conf, находим и раскоментируем (если вдруг закоментированы) строки localip и remoteip, затем прописываем свою ip адресацию.

  • localip — ip адрес из выбранной вами подсети, который будет являться локальным шлюзом для клиентов VPN.
  • remoteip — пул ip адресов для раздачи клиентам VPN.

Если на вашей машине несколько внешних IP адресов, то вы можете указать конкретный IP, по которому будет доступно подключение к VPN серверу. В конце файла добавьте:

3. Открываем файл /etc/ppp/pptpd-options и добавляем в конце файла:

В этом же файле при необходимости вы можете указать конкретные DNS, которые будут использоваться при подключении через VPN. Найдите и раскоментируйте строки ms-dns:

4. Открываем стандартный файл /etc/sysctl.conf, находим и раскоментируем строку:

5. Добавляем необходимые правила в iptables:

Обратите внимание, что eth0 — имя вашего сетевого интерфейса. Вы можете узнать его с помощью команды ifconfig

Если вам необходимо, чтобы была локальная сеть между клиентами, подключенными к VPN, добавьте следующие правила в iptables:

Обратите внимание, что 172.16.0.0/24 — локальная подсеть, которую вы себе выбрали, а ppp0 — имя pptp интерфейса.

Для сохранения iptables, выполните команду:

6. Пользователей для подключения к VPN серверу добавляем в файле /etc/ppp/chap-secrets

  • user1 — имя пользователя
  • password1 — пароль пользователя
  • «*» — локальный ip будет выдаваться из пула, указанного в файле /etc/pptpd.conf
  • «172.16.0.2» — пользователю будет присвоен указанный ip адрес.

7. Перезапускаем сервис pptpd для применения новых настроек:

Ваш PPTP сервер на Ubuntu запущен!

P.S. Если вдруг вы столкнетесь с тем, что добавленные правила iptables пропадают после рестарта firewall или перезагрузки машины, то сделайте действия, описанные ниже.

1. Добавляем заново все правила, как описано в 5-м шаге.
2. Сохраняем правила в конфиг:

3. Открываем файл /etc/network/interfaces и добавляем в самый конец:

Теперь можете перезагрузить Firewall или всю машину и убедиться, что правила iptables сохраняются.

Похожие материалы:

3 комментария Поднимаем VPN — PPTP сервер на Ubuntu

Аноним — 18.07.2018 — 10:25 Ответить

Читайте также:  Установки пожаротушения пиростикеры аст

Все сделал по инструкции, делаю подключиться в виндоус подключается, но пишет «Сеть без доступа к интернету»

Alexell — 20.07.2018 — 14:37 Ответить

Проверьте все параметры на сервере по шагам. Проверьте наличие правил iptables, убедитесь, что после перезагрузки сервера все запускается и правила добавляются в iptables.
Подключитесь к VPN (укажите явно тип PPTP), проверьте, получаете ли вы внутренний IP от вашего VPN сервера. Если да, то зайдите в Панель управления\Сеть и Интернет\Сетевые подключения, ПКМ на VPN соединение, выберите «Свойства»->Сеть->IPv4->Свойства->Дополнительно и посмотрите галочку «Использовать основной шлюз в удаленной сети». Попробуйте снять или поставить ее.
Но все таки больше похоже что у вас на самом сервере что-то не так.

total_ce — 06.06.2019 — 09:45 Ответить

Здравствуйте. Настроили точно так же, но почему-то постоянно врубается ethernet соединение, команда IFUP показывает ошибку правил IPTABLES, хотя все указано правильно. Но у нас стоит Ubuntu 18.04

источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Настраиваем VPN сервер. Часть 3 — PPTP. Платформа 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:

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

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

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

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

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

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

Читайте также:  Установка крыльчатки на электродвигатель

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

Далее предписывается использовать безопасный протокол проверки подлинности MS-CHAP v2 и 128-битное шифрование MPPE-128:

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

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

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

На этом настройку сервера можно считать законченной, осталось создать пользователей. Для этого внесем необходимые записи в /etc/ppp/chap-secrets. Записи должны иметь вид:

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

Важное замечание! Если 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), куда следует добавить строки вида:

По одной для каждого ПК в локальной сети к ресурсам которого требуется доступ.

источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Настройка PPTP подключения в Ubuntu Server.

Данной статьей мы продолжим тему настройки коммутируемых соединений в среде Ubuntu Server. Сегодня рассмотрим настройку PPTP подключений, которые могут использоваться как для подключения к интернету, так и для организации корпоративных сетей. Несмотря на то, что материал рассчитан в первую очередь на системных администраторов, он будет полезен всем пользователям Linux.

Читайте также:  Установка пленка для защиты кузова

Для работы Ubuntu Server в качестве PPTP-клиента необходимо установить пакет pptp-linux:

Основные настройки пакета, применяемые ко всем PPTP соедниненям по умолчанию хранятся в /etc/ppp/options.pptp, в большинстве случаев менять их нет необходимости, однако вы можете добавить какие-то свои опции, общие для всех соединений.

Для настройки подключения создадим в /etc/ppp/peers файл настроек с его именем:

Откроем его и внесем следующее содержимое:

В нашем примере создано PPTP подключение для корпоративной сети, поэтому мы добавили опцию «не создавать маршрут по умолчанию», если вы настраиваете соединение для доступа в интернет, то нужно наоборот разрешить создание нулевого маршрута, для этого укажите опции:

Опция «включаем поддержку MPPE» не является обязательной и требуется только тогда, когда сервер использует этот тип шифрования. Номер ppp интрефейса создает для подключения всегда один и тот же сетевой интерфейс, в нашем случае это будет ppp12.

Отдельно стоит остановиться на наборе опций для автоматического переподключения. Мы настоятельно советуем ограничить количество попыток (0 — неограничено) разумным числом и не ставить слишком маленький промежуток времени. Это позволит ограничить нагрузку на VPN-сервер в случае проблем с подключением (например нет денег на балансе или изменились учетные данные).

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

Теперь укажем авторизационные данные для нашего пользователя, для этого в файл /etc/ppp/chap-secrets добавим следующую строку:

которая предусматривает использование указанных учетных данных, где vpnpassword -пароль соединения, для удаленного соеднинения TEST (это имя мы указали в опции remotename). Для доменного пользователя строка будет выглядеть так:

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

В консоли сервера также видим подключившегося клиента:

В дальнейшем управлять соединением можно при помощи команд pon и poff (подключить и отключить соответственно).

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

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

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

Перезапустим сеть и убедимся что все работает правильно:

Для получения списка маршрутов воспользуйтесь командой route, также можно пропинговать какой-нибудь внутренний хост.

При подключении к сети интернет через PPTP бывают ситуации, когда, несмотря на указанные опции, нулевой маршрут через туннель не устанавливается. В этом случае можно в конец соответсвующей секции в /etc/network/interfaces добавить:

источник

Добавить комментарий

Adblock
detector