Debian pptp: Настройка pptp server в Debian
Настройка pptp server в Debian
Возникла необходимость настроить vpn сервер для доступа к локальной сети организации. В качестве vpn сервера я предпочитаю использовать openvp за ее гибкость, удобство и простоту настройки. Но в данном случае мне был нужен именно pptp сервер с возможностью автоматической передачи маршрутов клиентам. С последним пришлось немного повозиться.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужно пройти .
Введение
Сама по себе настройка pptp сервера на Debian очень проста не представляет никакой сложности. Все настраивается за 10 минут. Проблема здесь в другом. По-умолчанию, windows при подключении по pptp использует удаленный vpn сервер в качестве шлюза по умолчанию. За это отвечает галка в настройках vpn соединения «Использовать основной шлюз в удаленной сети». При такой конфигурации весь трафик компьютера пользователя идет через vpn сервер. Это очень неудобно, да и не нужно. Эту настройку обычно отключают.
Когда ее отключаешь, pptp клиент ничего не знает о маршрутах в удаленный офис. Чтобы туда попасть, маршруты нужно прописывать вручную, например так:
route add 192.168.0.0 mask 255.255.255.0 192.168.10.1
192.168.0.0 | Сеть удаленного офиса. |
192.168.10.1 | Адрес vpn сервера |
Этот маршрут нужно либо в командной строке прописывать, либо bat файл сделать и запускать. И то и другое неудобно, так как пользователю нужно выполнять дополнительные действия. В openvpn этот вопрос решается очень просто. Там можно на уровне сервера задать любые настройки пользователя, в том числе и маршруты. Они будут передаваться после подключения openvpn клиента. В pptp так сделать нельзя, он это не умеет. Вместо него передать маршруты может dhcp сервер, его для этого нужно специальным образом настроить. Этим мы и займемся.
Установка pptp сервера
Подразумеваю, что у вас установлен и настроен сервер. Если это не так, то воспользуйтесь моими материалами по установке и настройке debian сервера.
Сначала установим pptp сервер:
# apt-get install pptpd
Рисуем следующий конфиг /etc/pptpd.conf:
# mcedit /etc/pptpd.conf
option /etc/ppp/pptpd-options logwtmp bcrelay eth2:1 localip 192.168.10.1 remoteip 192.168.10.30-50
eth2:1 | Виртуальный интерфейс. Нужен для передачи dhcp параметров клиентам pptp. |
192.168.10.1 | IP адрес pptp сервера в vpn сети |
192.168.10.30-50 | Диапазон адресов, которые будут назначены pptp пользователям в vpn сети |
Редактируем файл с дополнительными параметрами /etc/ppp/options:
# mcedit /etc/ppp/options
ms-dns 77.88.8.1 ms-dns 8.8.4.4 require-mschap-v2 asyncmap 0 auth crtscts lock hide-password modem debug name l2tpd proxyarp lcp-echo-interval 10 lcp-echo-failure 100 noipx nodefaultroute
Не буду подробно описывать параметры, в интернете есть описание. Обращаю внимание на proxyarp, без него не будет работать задуманная схема, и на nodefaultroute. Если вам иногда нужно ставить пользователям vpn сервер в качестве шлюза по-умолчанию, закомментируйте этот параметр. Отключить шлюз можно будет вручную на клиенте.
Дальше создаем учетки для подключения в файле /etc/ppp/chap-secrets:
# mcedit /etc/ppp/chap-secrets
user-01 pptpd passw51 192.168.10.41 user-02 pptpd passw88 192.168.10.42 user-03 pptpd passw59 192.168.10.43 user-04 pptpd passw27 192.168.10.44
Первый столбец — имя пользователя, второй — тип сервера, он всегда один и тот же, третий — пароль, четвертый — ip адрес в vpn сети, который будет назначен клиенту. Если его явно не указать, то ему будет назначен первый свободный из диапазона remoteip в pptpd.conf.
На этом настройка непосредственно pptp сервера закончена. Им можно пользоваться, но маршруты пользователям передаваться не будут.
Настраиваем dhcp сервер для раздачи маршрутов
У меня на сервере уже был настроен isc-dhcp-server, поэтому я использовал именно его. Но можно воспользоваться и dnsmasq. Я приведу пример с dhcpd. Если у вас его еще нет, то устанавливайте командой:
# apt-get install isc-dhcp-server
Рисуем следующий конфиг /etc/dhcp/dhcpd.conf:
# mcedit /etc/dhcp/dhcpd.conf
deny unknown-clients; ddns-update-style none; option domain-name "office"; option domain-name-servers 77.88.8.8, 8.8.4.4; default-lease-time 604800; max-lease-time 864001; log-facility local7; local-address 192.168.0.1; subnet 192.168.0.0 netmask 255.255.255.0 { option routers 192.168.0.1; authoritative; allow unknown-clients; option netbios-name-servers 192.168.0.1; option domain-name-servers 77.88.8.8, 8.8.4.4; option domain-name "debian.office"; option broadcast-address 192.168.0.255; range 192.168.0.150 192.168.0.199; } option ms-classless-static-routes code 249 = array of unsigned integer 8; option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; subnet 192.168.10.0 netmask 255.255.255.0 { option dhcp-server-identifier 192.168.10.1; authoritative; range 192.168.10.51 192.168.10.99; option ms-classless-static-routes 24, 192,168,0, 192, 168, 10, 1; option rfc3442-classless-static-routes 24, 192,168,0, 192, 168, 10, 1; option routers 192.168.10.1; }
Я тут не разбирался, что и зачем настроено именно так. Сервер настраивал не я, он мне достался в наследство. Мне нужно было только грамотно настроить pptpd с раздачей маршрутов. Поэтому я не расписываю все от и до, а просто делюсь рабочим конфигом, который сейчас у меня работает.
Подсеть 192.168.10.0 и 2 строчки с options перед ней это то, что я добавил для раздачи маршрутов pptp клиентам в vpn подсеть.
Теперь создадим виртуальный интерфейс, добавив в самый конец конфигурационного файла сети:
# mcedit /etc/network/interfaces
auto eth2:1 iface eth2:1 inet static address 192.168.10.1 netmask 255.255.255.0
О настройке 2-х ip адресов на одном интерфейсе можно подробно прочитать в статье — настройка сети в debian. В моем случае eth2 это интерфейс, который смотрит в локальную сеть, доступ к которой мы организуем с помощью vpn.
Перезапускаем сеть для применения настроек:
# service networking restart
По сути все готово. Запускаем pptpd и dhcpd и проверяем.
# service isc-dhcp-server restart # service pptpd restart
У меня почему-то команда pptpd restart отрабатывает с ошибкой и не перезапускает демон. Приходится запускать вручную:
# service pptpd start
Проверяем работу клиента windows. Список маршрутов до vpn подключения:
После:
Вот пример такой же конфигурации для dnsmasq:
listen-address=192.168.10.1 dhcp-range=vpn,192.168.10.50,192.168.10.99,255.255.255.0,1h dhcp-option=tag:vpn,vendor:MSFT,2,1i dhcp-option=tag:vpn,249,192.168.0.0/24,192.168.10.1 dhcp-option=tag:vpn,121,192.168.0.0/24,192.168.10.1
Нашел, пока разбирался с вопросом. У себя не проверял, так как решил все на одном dhcp сервере делать, который уже был.
Заключение
Немного сложно реализуется функционал, который доступен в openvpn из коробки без дополнительных настроек. Я поэтому и не очень люблю с pptp возиться, после openvp он мне кажется не таким удобным. Но иногда приходится и его настраивать. К примеру, микротики, к сожалению, так и не научились работать с openvpn по udp, приходится использовать pptp. Да и встроенный в windows клиент тоже добавляет удобство.
Я немного повозился, поразбирался, прежде чем у меня получилось настроить рабочий вариант. Ключевым моментом оказался виртуальный интерфейс eth2:1, который я создал для pptp подсети. Без него у меня не работала передача маршрута.
Онлайн курс по Linux
Если у вас есть желание освоить операционную систему Linux, не имея подходящего опыта, рекомендую познакомиться с онлайн-курсом Administrator Linux. Basic в OTUS. Курс для новичков, адаптирован для тех, кто только начинает изучение Linux. Обучение длится 4 месяца.
Что даст вам этот курс:
- Вы получите навыки администрирования Linux (структура Linux, основные команды, работа с файлами и ПО).
- Вы рассмотрите следующий стек технологий: Zabbix, Prometheus, TCP/IP, nginx, Apache, MySQL, Bash, Docker, Git, nosql, grfana, ELK.
- Умение настраивать веб-сервера, базы данных (mysql и nosql) и работа с сетью.
- Мониторинг и логирование на базе Zabbix, Prometheus, Grafana и ELK.
- Научитесь командной работе с помощью Git и Docker.
Смотрите подробнее программу по .
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Дополнительные материалы по Debian
Рекомендую полезные материалы по Debian: |
Настройки системы |
---|
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика. Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования. Подробное описание настройки сети в Debian — задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др. |
Настройка программных комплексов |
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке. Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk. Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива. Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети. |
Разное |
|
Как установить и настроить безопасный PPTP сервер на Debian Linux — Технический блог
Для объединения компьютеров между собой и даже целых локальных сетей через интернет используют VPN туннели. Как правило один из узлов используется в качестве сервера, а остальные подключаются к нему как клиенты.
Существует много ПО для построения VPN тоннелей, но PPTP, пожалуй, самый простой в настройке, поддерживается практически всеми операционными системами и устройствами, при этом быстро работает. Единственное «Но», он не самый безопасный (защищенный).
PPTP (англ. Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети.
Подробнее в Википедии
В этой статье я расскажу как настроить PPTP сервер на операционной системе Debian 9.
Как установить PPTP сервер на Debian
Чтобы установить PPTP сервер на Debian выполните последовательно следующие команды в консоли от имени ROOT:
# apt update # apt upgrade # apt install pptpd
Обратите внимание, что демон (сервис) PPTP в имени на конце содержит букву [d].
Как настроить PPTP сервер на Debian
Настройка сервера для построения VPN туннеля на основе PPTP сводится к редактированию трех файлов:
- /etc/pptpd.conf
- /etc/ppp/chap-secrets
- /etc/ppp/pptpd-options
Настройка безопасности PPTP
Как правило файл /etc/ppp/pptpd-options уже содержит все необходимые инструкции для правильной и безопасной работы PPTP сервера и редактировать его не надо. В нем находятся не только настройки безопасности, но именно на них следует обратить особое внимание.
В Debian 9 по-умолчанию файл /etc/ppp/pptpd-options имеет следующее содержание:
############################################################################### # $Id$ # # Sample Poptop PPP options file /etc/ppp/pptpd-options # Options used by PPP when a connection arrives from a client. # This file is pointed to by /etc/pptpd.conf option keyword. # Changes are effective on the next connection. See "man pppd". # # You are expected to change this file to suit your system. As # packaged, it requires PPP 2.4.2 and the kernel MPPE module. ############################################################################### # Authentication # Name of the local system for authentication purposes # (must match the second field in /etc/ppp/chap-secrets entries) name pptpd # Optional: domain name to use for authentication # domain mydomain.net # Strip the domain prefix from the username before authentication. # (applies if you use pppd with chapms-strip-domain patch) #chapms-strip-domain # Encryption # (There have been multiple versions of PPP with encryption support, # choose with of the following sections you will use.) # BSD licensed ppp-2.4.2 upstream with MPPE only, kernel module ppp_mppe.o # {{{ refuse-pap refuse-chap refuse-mschap # Require the peer to authenticate itself using MS-CHAPv2 [Microsoft # Challenge Handshake Authentication Protocol, Version 2] authentication. require-mschap-v2 # Require MPPE 128-bit encryption # (note that MPPE requires the use of MSCHAP-V2 during authentication) require-mppe-128 # }}} # Network and Routing # If pppd is acting as a server for Microsoft Windows clients, this # option allows pppd to supply one or two DNS (Domain Name Server) # addresses to the clients. The first instance of this option # specifies the primary DNS address; the second instance (if given) # specifies the secondary DNS address. # Attention! This information may not be taken into account by a Windows # client. See KB311218 in Microsoft's knowledge base for more information. #ms-dns 10.0.0.1 #ms-dns 10.0.0.2 # If pppd is acting as a server for Microsoft Windows or "Samba" # clients, this option allows pppd to supply one or two WINS (Windows # Internet Name Services) server addresses to the clients. The first # instance of this option specifies the primary WINS address; the # second instance (if given) specifies the secondary WINS address. #ms-wins 10.0.0.3 #ms-wins 10.0.0.4 # Add an entry to this system's ARP [Address Resolution Protocol] # table with the IP address of the peer and the Ethernet address of this # system. This will have the effect of making the peer appear to other # systems to be on the local ethernet. # (you do not need this if your PPTP server is responsible for routing # packets to the clients -- James Cameron) proxyarp # Normally pptpd passes the IP address to pppd, but if pptpd has been # given the delegate option in pptpd.conf or the --delegate command line # option, then pppd will use chap-secrets or radius to allocate the # client IP address. The default local IP address used at the server # end is often the same as the address of the server. To override this, # specify the local IP address here. # (you must not use this unless you have used the delegate option) #10.8.0.100 # Debian: do not replace the default route nodefaultroute # Logging # Enable connection debugging facilities. # (see your syslog configuration for where pppd sends to) #debug # Print out all the option values which have been set. # (often requested by mailing list to verify options) #dump # Miscellaneous # Create a UUCP-style lock file for the pseudo-tty to ensure exclusive # access. lock # Disable BSD-Compress compression nobsdcomp # Disable Van Jacobson compression # (needed on some networks with Windows 9x/ME/XP clients, see posting to # poptop-server on 14th April 2005 by Pawel Pokrywka and followups, # http://marc.theaimsgroup.com/?t=111343175400006&r=1&w=2 ) novj novjccomp # turn off logging to stderr, since this may be redirected to pptpd, # which may trigger a loopback nologfd # put plugins here # (putting them higher up may cause them to sent messages to the pty)
Если у вас этого файла нет или у него другое содержимое и вы хотите внести в него изменения, то с начала сделайте резервную копию файла настроек:
# cp /etc/ppp/pptpd-options /etc/ppp/pptpd-options-original
Оптимальные параметры PPTP сервера, проверьте их наличие и при необходимости добавьте в файл /etc/ppp/pptpd-options:
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp nodefaultroute lock nobsdcomp novj novjccomp nologfd
где,
- name pptpd — имя сервиса, которое используется в файле аутентификации /etc/ppp/chap-secrets
- refuse-pap — запрет небезопасной авторизации pap
- refuse-chap — запрет небезопасной авторизации chap
- refuse-mschap — запрет небезопасной авторизации mschap
- require-mschap-v2 — требование безопасной авторизации mschap v2
- require-mppe-128 — требование максимального шифрования mppe-128
- proxyarp — необходим для трансляции ARP-ответов из одного сегмента сети в другой
- nodefaultroute — запрещает изменять шлюз по-умолчанию на сервере при активации PPTP соединения
- lock — параметр на создания файла блокировки на эксклюзивный доступ
- nobsdcomp — используется на не BSD системах (OpenBSD, FreeBSD)
- novj — запрет компресии, она используется только клиентами Windows 9x/ME/XP
- novjccomp — запрет компрессии, она используется только клиентам Windows 9x/ME/XP
- nologfd — блокирует запись в системный журнал через системную функцию stderr
Настройка адресации VPN тоннеля
Адресация компьютеров (устройств) в тоннеле не должна совпадать с уже используемой адресацией у всех участников VPN туннеля.
Адреса для туннеля следует выбирать из «серых» подсетей. Подробнее о них можно почитать здесь — https://moonback.ru/page/belye-i-serye-ip-adresa-ipv4.
В моем примере я буду использовать подсеть 172.22.22.0. Чтобы ее настроить для PPTP тоннеля необходимо отредактировать файл /etc/pptpd.conf.
По правилам «хорошего тона» сначала сделаем резервную копию оригинального файла конфигурации:
# cp /etc/pptpd.conf /etc/pptpd_original.conf
а затем в конец файла добавляем настройки адресов нашего тоннеля:
# IP-адрес сервера в локальной сети localip 172.22.22.1 # Диапазон адресов для клиентов PPTP-сервера remoteip 172.22.22.22-29
Сделать это можно с помощью редактора, например из состава MC (Midnight Commander):
Или прямо из командной строки:
# echo -e ' # IP-адрес сервера в локальной сети localip 172.22.22.1 # Диапазон адресов для клиентов PPTP-сервера remoteip 172.22.22.22-29 ' \ >> /etc/pptpd.conf
Список пользователей PPTP сервера
Следующим шагом добавим пользователей, которые будут подключаться к нашему PPTP серверу. Для этого необходимо внести правки в файл /etc/ppp/chap-secrets.
Не забываем про «правила хорошего тона» и делаем резервную копию файла настроек:
# cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets_original
Формат строки: имя-пользователя имя-сервиса пароль адрес-клиента-в-тоннеле.
Например:
vpn-user pptpd user-password 172.16.22.22
В случае, если вы будете использовать множественный вход, то вместо конкретного адреса можно указать звездочку.
vpn-user pptpd user-password *
Добавить пользователя можно не прибегая к редактору, прямо из консоли:
# echo -e ' vpn-user pptpd user-password 172.16.22.22' >> /etc/ppp/chap-secrets
Так как данные хранятся в окрытом виде, то для хоть какой-то безопасности присвоим файлу /etc/ppp/chap-secrets следующие права:
# chmod 0600 /etc/ppp/chap-secrets
Запуск PPTP сервера на Debian
Если все сделали без ошибок, то можно запустить PPTP сервер:
# service pptpd start
При необходимости можно проверить сатус его работы:
# service pptpd status
Автозагрузка PPTP сервера при старте операционной системы
В Debian 9 PPTP сервер добавить в автозагрузку можно следующей командой:
# systemctl enable pptpd
исключить из автозагрузки соответственно:
# systemctl disable pptpd
Для просмотра сервисов добавленных в автозагрузку используйте команду:
# systemctl list-unit-files --type=service --state=enabled
Заключение
К серверу настроенному по этой инструкции беспроблемно подключаются клиенты Windows 8.1/10, Android 9, а так же роутеры серии Keenetic. Это проверено мной лично.
В прочем и другие клиенты так же не должны испытывать проблем при подключении.
Yellow Leaf — Статьи — Настройка PPTP-сервера в Debian/Ubuntu
В какой-то момент в фирме, где работает автор этих строк, встала задача — убрать PPTP-сервер под управлением Windows и заменить его на PPTP-сервер под управлением Linux.
Предложение автора использовать OpenVPN вместо PPTP было (справедливо) отвергнуто с аргументом о нежелании кардинально менять настройки клиентских машин. Тем более что поскольку большинство из них работает под управлением Windows и PPTP-клиент у них является встроенным в систему, чего не скажешь про OpenVPN.
Эта статья описывает установку и настройку того самого PPTP-сервера под управлением Linux. В качестве исходных данных будем использовать: офисный интернет-шлюз под управлением Ubuntu Server 7.10 с адресом в локальной сети 192.168.1.1.
Для начала устанавливаем всё необходимое:
apt-get install ppp pptpd
Далее приступаем к настройке. Всё достаточно просто. Первым делом открываем в редакторе файл /etc/pptpd.conf и дописываем в конец следующие строки:
# IP-адрес сервера в локальной сети localip 192.168.1.1 # Диапазон адресов для клиентов PPTP-сервера remoteip 192.168.1.200-254
Следующим шагом дописываем в файл /etc/ppp/pptpd-options следующие две строчки:
# требуем авторизацию у клиентов auth # Используем шифрование require-mppe
Ну и наконец открываем в редакторе файл /etc/ppp/chap-secrets и заполняем строчками вида:
# Если пользователь должен динамически получать IP-адрес # из диапазона remoteip в pptpd.conf: user1 pptpd password1 "*" # Если мы хотим привязать определённый IP к логину: user2 pptpd password2 "192.168.1.101"
После этого перезапускаем pptpd:
/etc/init.d/pptpd restart
Скорее всего на сервере стоит файрволл. Добавим в скрипт iptables несколько строк:
# Разрешаем протокол GRE для всех; iptables -A INPUT -p gre -j ACCEPT # Разрешаем соединение с PPTP-сервером для всех; iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
На этом настройка PPTP-сервера заканчивается. Для подключения из под Windows можно воспользоваться мастером настройки сети. В качестве сервера («шлюза») нужно указать внешний адрес нашего сервера. Настроить PPTP-соединение в Linux поможет PPTP Client HowTo.
Автор надеется (но не обещает!) что эта статья будет полезной читателю.
Настройка PPTP в Debian Ubuntu сервера и клиента
В качестве исходных данных будем использовать:
Debian Lenny 5.0.4 с адресом в локальной сети 192.168.0.10.
Для начала устанавливаем всё необходимое:
apt-get install ppp pptpd
Далее приступаем к настройке. Всё достаточно просто.
Первым делом открываем в редакторе файл /etc/pptpd.conf и дописываем в конец следующие строки:
$ nano /etc/pptpd.conf
… .. ..
# IP-адрес сервера в локальной сети
localip 192.168.0.10
# Диапазон адресов для клиентов PPTP-сервера
remoteip 192.168.0.200-235
… .. ..
Так же добавляем в /etc/ppp/pptpd-options следующие строчки:
$ nano /etc/ppp/pptpd-options
… .. ..
# требуем авторизацию у клиентов
auth
# Используем шифрование
require-mppe
… .. ..
# Укажем файл, в который писать лог:
logfile /var/log/pptpd.log
$ touch /var/log/pptpd.log
Добавляем наших пользователей в /etc/ppp/chap-secrets, таким видом:
$ nano /etc/ppp/chap-secrets
# Если пользователь должен динамически получать IP-адрес
# из диапазона remoteip в pptpd.conf:
user1 pptpd password «*»
# Если мы хотим привязать определённый IP к логину:
user2 pptpd password2 «192.168.0.205»
Быстрое и удобное добавления пользователей из консоли:
$ echo "test1 pptpd 11111 * " >> /etc/ppp/chap-secrets
Рестанем pptpd:
$ /etc/init.d/pptpd restart
Настройка PPTP-клиента в Debian/Ubuntu
$ apt-get install pptp-linux
Для простоты введем переменные:
название нашего соединения ($NameVPN)
IP address(host) нашего сервера — ($SERVER),
наше имя пользователя (username)($USERNAME),
наш пароль (password)($PASSWORD),
так же если есть домен (domain)($DOMAIN)
Приводим наши файлы до следующего вида:
$ nano /etc/ppp/options.pptp
lock
nodetach
noauth
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
$ nano /etc/ppp/chap-secrets
Внимание: параметр nodetach, выводит в стандартный поток вывода ошибок — stderr, выводится на терминал. Это удобно для отладки соединения. После того, как Вы убедились, что скрипт работает, как задумано, параметр nodetach можно убрать и pppd при запуске будет уходить в фоновый режим, перенаправляя stderr скрипта в файл /etc/ppp/connect-errors.
# Secrets for authentication using CHAP
# client server secret IP addresses
($USERNAME) PPTP ($PASSWORD) *
Замечания: если вы используете домен, то используете косые черты и имя домена.
$DOMAIN\\$USERNAME PPTP $PASSWORD *
Создаем файл $NameVPN в /etc/ppp/peers/:
$ nano /etc/ppp/peers/$NameVPN
pty «pptp $SERVER —nolaunchpppd»
name $DOMAIN\\$USERNAME
remotename PPTP
require-mppe-128
defaultroute
file /etc/ppp/options.pptp
ipparam $TUNNEL
Если нам ни нужна поддержка MPPE,то удаляем строчку из require-mppe-128 из файла.
Подключения:
$ pon $NameVPN
Разрыв связи:
$ poff $NameVPN
Если нужно увидеть отладочную информацию:
pon $NameVPN debug nodetach
Если нужен автоматический запуск при загрузке системы, добавьте в файл /etc/network/interfaces следующие строки:
$ nano /etc/network/interfaces
auto tunnel
iface tunnel inet ppp
provider $NameVPN
up route del default
up route add default dev ppp0
Заметка: мне пришлось поставить апперанд & после ($NameVPN&), иначе загрузка шла до подключения ppp и на этом останавливалась.
Добавлено:
так же можно прописать в rc.local
pon [$NameVPN]
sleep 5
route add default dev ppp0
# если надо другие роуты
route add -net 192.0.0.0 netmask 255.255.0.0 gw 192.168.0.7
Еще записи по теме
Настройка PPTP клиента в Debian 8.
Потребовалось подключаться к PPTP серверу поднятом на Микротике. Настроить соединение получилось к сожалению не с первого раза, просмотрев с десятки разных мануалов, решился все таки открыть документацию. и вдумчиво все повторить.
Итак для настройки VPN клиента в Debian, да и в Ubuntu в принципе тоже, нужно пройти следующий шаги:
- Первым делом нужно установить сам пакет отвечающий за соединение:
aptitude install pptp-linux
- На втором шаге нужно установить глобальные настройки PPP, делается это все в файле options.pptp
sudo gedit /etc/ppp/options.pptp
удаляем все содержимое данного и файла и записываем в него следующие строки:
lock noauth nobsdcomp nodeflate
- Укажем данные авторизации в файле
sudo gedit /etc/ppp/chap-secrets
и запишем в него следующие строки
# Secrets for authentication using CHAP # client server secret IP addresses ваш_login PPTP ваш_password *
где ваш_login и ваш_password ваши логин и пароль соответственно.
- Далее настраиваем настройки под конкретного провайдера. Описываю свой случай, у вас вероятно будет не сильно отличаться
sudo gedit /etc/ppp/peers/dagfarm
Содержимое файла будет следующим
pty "pptp ***.***.***.*** --nolaunchpppd" name dagfarm remotename PPTP defaultroute replacedefaultroute file /etc/ppp/options.pptp ipparam dagfarm
Вместо звездочек введите Ip адрес вашего провайдера.
Параметры defaultroute и replacedefaultroute нужны для того чтоб после активации тунеля мы имели доступ к машинам находящимся в сети vpn соединения. - Запуск тунеля выполняется командой
sudo pon dagfarm
отключение
sudo pof dagfarm
проверить поднялся ли маршрут вы можете командой
sudo ifconfig
в выводе команды должнен быть интерфейс ppp0.
На этом собственно все. Надеюсь съэкономил кому то время.
Опубликовано Нариман Алимурадов
Смотреть все записи от Нариман Алимурадов
Навигация по записям
Настройка PPTP соединения в Debian GNU Linux
Если не все, то многие знают что такое VPN. А также понимают насколько это хорошо и удобно. Ну вот сие благо пришло и в мой дом 🙂 Попросил на работе чтобы дали мне возможность из дому попадать в рабочую сеть. И вуаля … имею листик с такими вот настройками:
- Тип соединения — PPTP
- PPTP сервер — mymegawork.kiev.ua
- Имя пользователя — worker13
- Пароль — some_password
Итак, что мы из этого видим? Собственно, видим все что нам нужно — тип соединения, куда подключаемся и как авторизируемся.
Дальше нам надо настроить pptp-клиент для подключения согласно вышеописанным данным. У меня это получилось без каких бы то ни было проблем. Потратил всего около 10-15 минут чтобы сообразить что к чему. Итак, настраивал в Debian Lenny GNU Linux, но статья подойдей и для Ubuntu.
1. Сначала надо убедиться что в системе установлен pptp-клиент, для Debian-like систем он называется pptp-linux:
black:~# aptitude install pptp-linux
2. Переходим в директорию /etc/ppp:
3. Конфиг /etc/ppp/options.pptp оставляем таким какой он есть, у меня он вот такой:
black:/etc/ppp# cat options.pptp
###############################################################################
# $Id: options.pptp,v 1.3 2006/03/26 23:11:05 quozl Exp $
#
# Sample PPTP PPP options file /etc/ppp/options.pptp
# Options used by PPP when a connection is made by a PPTP client.
# This file can be referred to by an /etc/ppp/peers file for the tunnel.
# Changes are effective on the next connection. See «man pppd».
#
# You are expected to change this file to suit your system. As
# packaged, it requires PPP 2.4.2 or later from http://ppp.samba.org/
# and the kernel MPPE module available from the CVS repository also on
# http://ppp.samba.org/, which is packaged for DKMS as kernel_ppp_mppe.
###############################################################################
# Lock the port
lock
# Authentication
# We don’t need the tunnel server to authenticate itself
noauth
# We won’t do PAP, EAP, CHAP, or MSCHAP, but we will accept MSCHAP-V2
# (you may need to remove these refusals if the server is not using MPPE)
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
# Compression
# Turn off compression protocols we know won’t be used
nobsdcomp
nodeflate
# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use. Note that MPPE
# requires the use of MSCHAP-V2 during authentication)
# http://ppp.samba.org/ the PPP project version of PPP by Paul Mackarras
# ppp-2.4.2 or later with MPPE only, kernel module ppp_mppe.o
# {{{
# Require MPPE 128-bit encryption
#require-mppe-128
# }}}
# http://polbox.com/h/hs001/ fork from PPP project by Jan Dubiec
# ppp-2.4.2 or later with MPPE and MPPC, kernel module ppp_mppe_mppc.o
# {{{
# Require MPPE 128-bit encryption
#mppe required,stateless
# }}}
black:/etc/ppp#
4. Любым консольным редактором (nano, vi, vim …) правим файлик /etc/ppp/chap-secrets до такого состояния:
black:/etc/ppp# cat chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
### <my work vpn> ###
worker13 mymegawork.kiev.ua some_password *
black:/etc/ppp#
5. Опять же, любым консольным текстовым редактором создаем файлик /etc/ppp/peers/work. Название файлика можно выбрать произвольно, оно будет использоваться только как название при поднятии pptp соединения. Содержимое файла такое:
black:/etc/ppp# cat peers/work
# written by black_13
pty «pptp mymegawork.kiev.ua —nolaunchpppd»
file «/etc/ppp/options.pptp»
name worker13
remotename mymegawork.kiev.ua
ipparam work
require-mppe-128
persist
black:/etc/ppp#
6. После этого пробуем приконектиться вот такой вот командочкой:
7. Секунд через 7 после ввода этой командочки у меня появился новый интерфейс ppp0 вот такого вида:
black:/etc/ppp# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.100.204 P-t-P:192.168.100.200 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1296 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:78 (78.0 B) TX bytes:72 (72.0 B)
black:/etc/ppp#
8. На сервак попали, но надо бы еще прописать маршрут для всей рабочей сети. Тут есть 2 пути: либо после каждого конекта писать в рутовой консоли руцями, либо настроить чтобы маршрут в рабочую сетку прописывался автоматически при поднятии соединения work. Я решил автоматизировать сей процесс. Делается это очень просто, тут нам помогает параметр
Создаем файлик /etc/ppp/ip-up.d/work с таким содержимым:
black:/etc/ppp# cat ip-up.d/work
#!/bin/sh
if [ «${PPP_IPPARAM}» = «work» ]; then
/sbin/route add -net 192.168.100.0/24 dev ${IFNAME}
fi
И делаем его исполняемым:
black:/etc/ppp# chmod +x ip-up.d/work
9. Переподключаемся и проверяем маршрут в рабочую сеть:
black:/etc/ppp# poff work
black:/etc/ppp# pon work
black:/etc/ppp# route -n |grep 192
192.168.100.200 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ppp0
black:/etc/ppp#
Маршрут прописан! Проверяем доступность какогото хоста в рабочей сети. Для этого сгодится обычная пинга:
black:/etc/ppp# ping 192.168.100.102
PING 192.168.100.102 (192.168.100.102) 56(84) bytes of data.
64 bytes from 192.168.100.102: icmp_seq=1 ttl=127 time=1198 ms
64 bytes from 192.168.100.102: icmp_seq=2 ttl=127 time=184 ms
64 bytes from 192.168.100.102: icmp_seq=3 ttl=127 time=955 ms
64 bytes from 192.168.100.102: icmp_seq=4 ttl=127 time=6.12 ms
^C
— 192.168.100.102 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3018ms
rtt min/avg/max/mdev = 6.128/586.264/1198.951/502.562 ms, pipe 2
black:/etc/ppp#
Ну вот! Краста! Все работает как надо.
10. Проблемы в процессе настройки и поиски информации о них:
Все нужно настраивать очень внимательно! Малейшая ошибочка — и ничего не заработает!
В случае если чтото работает нетак как вы ожидали от настроек запускайте из рутовой консоли такой командой вместо pon work
black:/etc/ppp# pon work debug dump logfd 2 nodetach
Лог pptp сесии пишется в /var/log/syslog и в /var/log/messages — очень полезно сюда посматривать в случае если чтото неработает как надо. У меня все работает, syslog выглядит вот так:
Jul 13 11:52:00 black pppd[12647]: pppd 2.4.4 started by root, uid 0
Jul 13 11:52:00 black pptp[12648]: anon log[main:pptp.c:314]: The synchronous pptp option is NOT activated
Jul 13 11:52:00 black pppd[12647]: Using interface ppp0
Jul 13 11:52:00 black pppd[12647]: Connect: ppp0 <—> /dev/pts/7
Jul 13 11:52:00 black pptp[12655]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 ‘Start-Control-Connection-Request’
Jul 13 11:52:00 black pptp[12655]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Jul 13 11:52:00 black pptp[12655]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Jul 13 11:52:01 black pptp[12655]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 ‘Outgoing-Call-Request’
Jul 13 11:52:01 black pptp[12655]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Jul 13 11:52:01 black pptp[12655]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer’s call ID 14720).
Jul 13 11:52:07 black pppd[12647]: CHAP authentication succeeded
Jul 13 11:52:07 black pppd[12647]: MPPE 128-bit stateless compression enabled
Jul 13 11:52:10 black pppd[12647]: Cannot determine ethernet address for proxy ARP
Jul 13 11:52:10 black pppd[12647]: local IP address 192.168.100.204
Jul 13 11:52:10 black pppd[12647]: remote IP address 192.168.100.200
Jul 13 11:53:01 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 11:53:02 black pptp[12648]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 14 (expecting 13, lost or reordered)
Jul 13 11:53:02 black pptp[12648]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 15 (expecting 13, lost or reordered)
Jul 13 11:54:01 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 11:55:01 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 11:56:01 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 11:57:01 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 11:58:01 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 11:59:02 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 12:00:02 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 12:01:02 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 12:02:02 black pptp[12655]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 13 12:02:02 black pptp[12655]: anon log[logecho:pptp_ctrl.c:679]: no more Echo Reply/Request packets will be reported.
Фух … ну вроде все написал. Соединяйтесь наздоровье! 😀
Настройка Debian (Raspberry) соединение VPN туннель PPTP
————————————————————————
Вариант 1. С использованием статических маршрутов
————————————————————————
1. Обновимся
sudo apt-get update -y
sudo apt-get upgrade -y
2. Установим пакет pptp-linux
sudo apt-get install -y pptp-linux
3. Создадим соединение
sudo pptpsetup —create vpnki —server msk.vpnki.ru —username <имя туннеля> —password <пароль туннеля>
4. Подключим туннель
sudo pon vpnki updetach
5. Проверим что создался интерфейс ppp0
ifconfig -s
6. Проверим пинг адреса VPNKI
ping 172.16.0.1
7. Отключим туннель
sudo poff vpnki
8. Проверим отключение ppp0
ifconfig -s
9. Добавим установление PPTP туннеля при загрузке компьютера, открываем файл
sudo nano -B /etc/rc.local
10. И перед «exit 0» вставляем туда текст
vpn=»on»
if [ $vpn = on ]; then
printf «\nVPN connection to VPNKI\n»
pon vpnki updetach
sleep 5
sudo route add -net «172.16.0.0/16» dev «ppp0» #Маршрут к сети VPNKI
sudo route add -net «192.168.100.0/24» dev «ppp0» #Например маршрут к «другому» вашему туннелю (в домашнюю сеть 192.168.100.0/24)
printf «Netstat output of all PPTP sockets\n»
netstat -a | grep «/var/run/pptp/»
fi
Сохраняем Ctrl+X
11. Тестируем работу local.rc без перезагрузки
sudo /etc/rc.local
12. Проверяем наличие ppp0
ifconfig -s
13. В случае обрыва связи нам потребуется автоматическая переустановка соединения, для этого откройте файл
sudo nano -B /etc/ppp/peers/vpnki
14. В конец файла добавьте
persist
maxfail 0
holdoff 10
Сохраните нажав Ctrl+X
15. В случае обрыва связи и ее восстановлении нам также потребуется автоматически прописать маршруты к сети VPNKI и к вашей «другой» сети. Для этого создайте файл
sudo nano -B /etc/ppp/ip-up.d/routeadd
16. Добавьте в файл следующие строки:
#!/bin/sh -e
route add -net «172.16.0.0/16» dev «ppp0» #Маршрут к сети VPNKI
route add -net «192.168.100.0/24» dev «ppp0» #Например маршрут к вашей «другой» сети 192.168.100.0/24 (если такая существует через сеть VPNKI)
Сохраните нажав Ctrl+X
17. Измените права на исполнение файла при поднятии интерфейса ppp0
chmod 755 /etc/ppp/ip-up.d/routeadd
————————————————————————————————
Вариант 2. С использованием протокола DHCP для получения маршрутов
————————————————————————————————
Этот вариант НЕ основной, так как не на всех инсталляциях нами был получен качественный результат.
Дело в том, что используемый нами далее скрипт splitp не вполне корректно ведет себя с маршрутами в которых встречаются адреса с маской /32 и из-за этого могут быть сложности с маршрутизацией.
1. Обновимся
sudo apt-get update -y
sudo apt-get upgrade -y
2. Установим пакет pptp-linux
sudo apt-get install -y pptp-linux
3. Создадим соединение
sudo pptpsetup —create vpnki —server msk.vpnki.ru —username <имя туннеля> —password <пароль туннеля>
4. Подключим туннель
sudo pon vpnki updetach
5. Проверим что создался интерфейс ppp0
ifconfig -s
6. Проверим пинг адреса VPNKI
ping 172.16.0.1
7. Отключим туннель
sudo poff vpnki
8. Проверим отключение ppp0
ifconfig -s
9. Добавим установление PPTP туннеля при загрузке компьютера, открываем файл
sudo nano -B /etc/rc.local
10. И перед «exit 0» вставляем туда текст
vpn=»on»
if [ $vpn = on ]; then
printf «\nVPN connection to VPNKI\n»
pon vpnki updetach
sleep 5
printf «Netstat output of all PPTP sockets\n»
netstat -a | grep «/var/run/pptp/»
fi
Сохраняем Ctrl+X
11. Тестируем работу local.rc без перезагрузки
sudo /etc/rc.local
12. Проверяем наличие ppp0
ifconfig -s
13. В случае обрыва связи нам потребуется автоматическая переустановка соединения, для этого откройте файл
sudo nano -B /etc/ppp/peers/vpnki
14. В конец файла добавьте
persist
maxfail 0
holdoff 10
Сохраните нажав Ctrl+X
15. Для получения маршрутов о сети VPNKI и сетей ваших других туннелей (DHCP Option 249) необходимо скачать, разархивировать и разместить этот файл (с названием splitp) в /etc/ppp/ip-up.d
16. Измените права для исполнения файла при поднятии интерфейса
chmod 755 /etc/ppp/ip-up.d/splitp
Особенность 1
Для использования соединения с шифрованием вам необходимо в настройках соединения:
— использовать авторизацию MS-CHAPv2 и указать что будет использоваться шифрование (MPPE)
Для соединения без шифрования вам необходимо:
— использовать авторизацию CHAP и указать, что шифрование использоваться не будет.
Будьте внимательны,
все иные сочетания методов авторизации и шифрования будут приводить к неработоспособности подключения!!!
Особенность 2
Работа протокола PPTP осуществляется с использованием протокола GRE, с которым у некоторых интернет провайдеров России имеются технические сложности. Эти сложности не позволят вам использовать PPTP для построения VPN туннлей. К таким провайдерам относятся МГТС (Московская городская телефонная сеть), Yota, Мегафон. Однако, такая ситуация не во всех частях их сетей.
Для пользователя ситуация будет выглядеть так, что проверка имени пользователя и пароля проходить не будут. Точнее до этого момента даже не дойдет…В пункте меню «События безопасности» вы будете видеть начало успешного подключения и последней будет являться фраза, говорящая о том, что мы готовы проверять имя и пароль, но …
Access granted. No whitelist is set for user. Ready to check username / password.
Отсуствие соединения и дальнейших записей в логе (при том, что вы твердо уверены в том, что логин и пароль верные), скорее всего, говорит о том, что GRE у вашего провайдера не пропускается. Можете погуглить на этот счет.
PS: В целях борьбы с зависшими сессиями мы принудительно отключаем пользовательские туннели с протоколами PPTP, L2TP, L2TP/IPsec через 24 часа после установления соединения. При правильной настройке соединения должны автоматически переустановиться.
Наша система будет работать с многими типами домашних и офисных маршрутизаторов. Более подробно смотрите в разделе по настройке оборудования, а начать настройку лучше с этого примера.
ДОПОЛНИТЕЛЬНО ПО ТЕМЕ
- Про VPN и протоколы можно почитать здесь
Конфигурация клиента Debian PPTP — VIONBLOG
Размещено Автор: Nikola Stojanoski
Вот простое руководство по настройке Debian PPTP Client для удаленного управления, подключив его к моему клиентскому сегменту VPN.
Я часто использую его для подключения серверов, которые мне нужно контролировать, где хост является динамическим, поэтому мне не нужно беспокоиться о программном обеспечении и учетных записях DnDNS или No-IP.
Это руководство основано на Debian 7, поэтому оно может немного отличаться для других версий Debian, установленных в Ubuntu.
Установить клиентское программное обеспечение Debian PPTP
Установите pptp-linux из репозитория Debian
apt-get install pptp-linux
Настроить учетные данные VPN и настройки сервера
Откройте / etc / ppp / chap-secrets и добавьте свои учетные данные VPN
vi / и т. Д. / Ppp / chap-secrets
Вставить следующее:
ДОМЕН \\ имя пользователя PPTP vpnpassword *
Если ваша сеть VPN не находится в домене, замените DOMAIN своим именем VPNSERVER.
Теперь создайте свой профиль VPN и добавьте настройки сервера
vi / и т. Д. / Ppp / peers / VPNprofile
pty "pptp vpn-server-hostname --nolaunchpppd" имя ДОМЕН \\ имя пользователя удаленное имя PPTP требуется-mppe-128 файл /etc/ppp/options.pptp maxfail 0 настаивать ipparam VPNprofile
ПОДСКАЗКА: maxfail 0 и сохраняются предназначен для повторного подключения и повторной попытки навсегда.
Автоподключение клиента PPTP Debian
Чтобы ваше PPTP-соединение подключалось при загрузке, вам необходимо добавить эти строки в ваш / etc / network / interfaces
vi / и т. Д. / Сети / интерфейсы
автомобильный туннель iface туннель inet ppp провайдер VPNprofile
И если вы хотите маршрутизировать трафик через этот интерфейс, вам нужно добавить скрипт вверх-вниз
vi / и т. Д. / Ppp / ip-up.d / VPNprofile
#! / Bin / bash # Этот скрипт вызывается со следующими аргументами: # Имя аргумента # $ 1 Имя интерфейса # $ 2 Терминал # $ 3 Скорость ссылки # $ 4 Локальный IP-адрес # $ 5 IP-адрес однорангового узла # $ 6 Необязательное значение параметра "диппарам" foo route add -net 192.168.1.0 маска сети 255.255.255.0 dev $ 1
chmod a + x /etc/ppp/ip-up.d/VPNprofile
После этого перезагрузите сервер или перезапустите netwoorking
/etc/init.d/networking restart
Вы должны все сделать.проверьте статус с помощью ifconfig
Клиент PPTP : http://pptpclient.sourceforge.net/
.
Как установить PPTP-сервер на Debian / Ubuntu Linux VPS
** ПРЕДУПРЕЖДЕНИЕ ** PPTP небезопасен. Вместо этого лучше и, возможно, проще настроить OpenVPN: Руководство по настройке OpenVPN
Низкие (дешевые) учетные записи VPS очень популярны в настоящее время, и одна из причин заключается в том, что люди используют их для личных целей VPN.
Использование личного VPN-сервера дает некоторые преимущества:
— ресурсы сервера, такие как ЦП, пропускная способность, не используются совместно с другими
— вы будете точно знать, какие журналы активности VPN или Интернета хранятся на сервере (даже если многие общедоступные VPN провайдеры говорят, что они не ведут журналы на серверах, вы не можете это проверить)
PPTP, вероятно, самый популярный протокол VPN.Вот краткое руководство по установке Debian Linux (или Ubuntu).
Шаг 1: установите pptpd
apt-get обновление apt-get install pptpd
это установит bcrelay, ppp, pptpd
Шаг 2: настройте pptpd и ppp
pico -w /etc/pptpd.conf
(или используйте свой любимый текстовый редактор, например vim)
Добавьте пул локальных и удаленных IP-адресов и конец файла:
локальный 10.10.0.1 remoteip 10.10.0,2-10
в приведенном выше примере IP-адрес сервера VPN будет 10.10.0.1, а клиентам, подключающимся к VPN, будут назначены частные IP-адреса от 10.10.0.2 до 10.10.0.10. Очевидно, вы можете использовать другой диапазон IP-адресов или другие частные IP-адреса (например, 192.168.x.y)
Сохраните файл и выйдите из редактора. Теперь отредактируйте файл конфигурации ppp:
pico -w / etc / ppp / pptpd-options
добавьте в конец файла следующее:
имя pptpd мусорщик отказник отказываться-mschap требовать-mschap-v2 требуется-mppe-128 мс-днс 8.8.8.8 # ms-dns 8.8.4.4 проксиарп nodefaultroute замок nobsdcomp MTU 1490 mru 1490
это то, что у вас должно быть в файле. Обратите внимание, что демон ppp откажется от незащищенной аутентификации CHAP и MSCHAP V1. MS-CHAP V2 PPTP VPN тоже не слишком безопасен, но определенно является лучшим вариантом, чем старые CHAP и MS-CHAP V1.
Теперь вы должны добавить имя пользователя / пароль учетной записи VPN в файл секретов ppp. Отредактируйте / etc / ppp / chap-secrets и добавьте что-то вроде этого:
myusername pptpd mys3cr3tpass 10.10.0.2 myfriendsuser pptpd hisp @ ssword 10.10.0.3
Шаг 3: разрешите пересылку пакетов
Отредактируйте /etc/sysctl.conf и включите пересылку ipv4, не комментируя строку (удалив знак #) и изменив 0 на 1, чтобы она выглядела так:
net.ipv4.ip_forward = 1
Сохраните и выйдите из редактора, затем запустите:
sysctl -p
, чтобы изменения вступили в силу.
Добавьте правило iptables для создания NAT между интерфейсами eth0 и ppp:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED, ESTABLISHED -j ACCEPT iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT
Обратите внимание, что iptables MASQUERADE не работает с контейнерами OpenVZ VPS.Работает на KVM и XEN.
Если вы используете OpenVZ, вам нужно использовать iptables SOURCE следующим образом:
iptables -t nat -A POSTROUTING -j SNAT --to-source
теперь перезапустите pptpd, запустив:
перезапуск службы pptpd
вот и все. Теперь вам следует проверить соединение.
.
fr / pptp-linux — Debian Wiki
VPN — Dans les réseaux informatiques et les télécommunications, le réseau privé virtuel (Виртуальная частная сеть на английском языке, abrégé en VPN), которая может быть расширена для локальных ресурсов и сохранить логику безопасности, которая будет сохранена. ‘intérieur d’un réseau local. Il соответствует en fait à une interconnexion de réseaux locaux посредством техники «туннеля». На parle de VPN lorsqu’un Organisme соединяет сайты через единую инфраструктуру, часть avec d’autres Organismes.
Введение
En pratique c’est surtout utilisé pour se connecter au réseau interne de son entreprise depuis une connexion internel normale. Если вам нужно установить соединение для подключения к VPN, общедоступный анонимный сервер для связи.
Установка клиента
Залейте таблицу в жанре связи и начните с установщика пакета pptp-linux (клиент PPTP), зависящего от пакета ppp (PPP: протокол точка-точка — Protocole Point à Point):
# aptitude install pptp- linux
Проверка версии PPP
Эта версия была удалена, оставшись без изменений на Debian GNU / Linux 4.0 Etch ou supérieur.
Если была обеспечена поддержка MPPE (Microsoft Point-to-Point Encryption), если вы хотите проверить пакет пакетов в версии 2.4.2 или выше. Debian Woody включает версию 2.4.1 без поддержки MPPE. Debian Sarge, включая версию 2.4.3, и Debian Etch, включая версию 2.4.4.
(Пакет pptp-linux не зависит от предыдущей версии или предыдущей версии на 2.4.2 для PPP может быть настроен туннель без шифрования MPPE. Этот пакет не используется для использования версии 2.4.1 PPP-файл имеет исправление для поддержки MPPE car tous les correctifs testés, которые не соответствуют совместимости с поддержкой MPPE, добавленной для версий Etch и выше.
Конфигурация
Голосовая информация, необходимая для настройки туннеля. Эта информация может быть использована администратором службы VPN или инструктором.
- L’adresse IP ou le nom du serveur VPN ($ SERVER),
- Le nom que vous avez choisi pour le tunnel (nom de la configuration) ($ TUNNEL),
- Le nom du domaine ($ DOMAIN) ,
.