Настройка PPTP-сервера в Debian/Ubuntu
| MooSE 2008-03-05 14:54:48 |
В какой-то момент в фирме, где работает автор этих строк, встала задача - убрать 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 pptpd iptables chap-secrets
|
Версия для печати |
tierpunk 2008-03-07 12:27:57 (*)
Огромное спасибо за статью, вот бы еще узнать как ограничить порты и скорость... Прошу если будет время и желание продолжить развивать эту тему...
MooSE 2008-03-07 12:38:42 (*)
порты и скорость это нужно копать в сторону tc и iptables.
tierpunk 2008-03-07 17:42:07 (*)
а статистика, и веб интерфес...
sungreen 2008-03-07 19:31:50 (*)
... а как клиенту пароль сменить? ...
MooSE 2008-03-07 20:15:46 (*)
А зачем ему менять пароль?
dingo 2008-05-07 14:58:07 (*)
Спасибо за руководство, все настроил на интернет-шлюзе, удаленно подключаюсь к корпоративной сети, но кроме шлюза ничего не вижу. Мне нужен доступ к другим компьютерам сети, может кто подскажет?
MooSE 2008-06-18 10:07:38 (*)
dingo, а форвардинг пакетов и нат у тебя есть?
almaz 2008-07-04 09:51:57 (*)
> user2 pptpd password2 "192.168.1.101"
если я правильно понял то pptp сервер выдаст пользователю user2 айпи 192.168.1.101?
MooSE 2008-07-04 10:23:20 (*)
> если я правильно понял то pptp сервер выдаст пользователю user2 айпи 192.168.1.101?
Да.
antonmayko 2008-12-21 18:04:36 (*)
Скажите пожалуйста, А нужно каким-то специальных образом настраивать на сервере NAT для VPN соединений?
И еще вопрос:
"# Диапазон адресов для клиентов PPTP-сервера remoteip 192.168.1.200-254" - должен совпадать с айпишниками компьютеров локальной сети?
MooSE 2008-12-24 11:42:06 (*)
1. NAT настаривать необязательно, важно чтобы был включен форвардинг (и не просто включен, но ещё и разрешён).
2. Вовсе необязательно. Будет работать с любым диапазоном, важно только чтобы сам сервер незапрещал обмен пакетами между этими адресами и локальной сетью.
Анонимный посетитель 2009-08-21 20:20:28 (*)
Спасибо большое за статью! Простым и доступным языком все написано. Все получилоь <strong>Еще бы статью про настройку биллинга найти...</strong>
Анонимный посетитель 2009-08-21 21:12:29 (*)
Извеняюсь за ламерский вопрос. Где ведётся лог подключений?
MooSE 2009-08-22 02:09:34 (*)
grep ppp /var/log/messages
Анонимный посетитель 2009-08-22 11:41:21 (*)
А скрипт iptables где находится?
Анонимный посетитель 2009-08-22 13:47:56 (*)
Я ламер в сетях, поэтому просьба сильно не материть. Есть такие проблемы: 1. Фаирвол блокирует соединение. Когда его отключаю клиент соединяется по VPN. Как добавить в скрипт iptables нужные строки?(Где этот скрипт находится?) 2. Когда клиент соединяется по VPN у него нет интернета...=( HELP ME PLEASE!
MooSE 2009-08-22 16:02:57 (*)
1. файрволл где? на сервере нужно разрешить GRE и 1723/tcp
2. курить форвардинг
Анонимный посетитель 2009-08-23 13:12:01 (*)
сервер поднял, но возникли проблемы. У клиентов часть сайтов грузится(к примеру yandex.ru...), а часть нет (speedtest.ru...)
Анонимный посетитель 2009-08-23 13:31:26 (*)
хотя пингуются все сайты...
MooSE 2009-08-23 16:18:56 (*)
если только часть - тогда хз...
Анонимный посетитель 2009-09-02 00:17:01 (*)
по умолчанию в pptpd разрешён многопользовательский вход из под одной учётной записи, собственно вопрос, кто-нить знает как это запретить ?
Анонимный посетитель 2009-10-02 19:36:21 (*)
надо резать mtu у клиентов, тоже долго с этой проблемой мучился !
Анонимный посетитель 2009-11-05 22:57:53 (*)
Здравствуйте, у меня проблема следующего характера: поднят vpn сервер на pptpd. Машина с двумя сетевыми картами eth0 и eth1. eth0 смотрит в интернет и у неё белый ip. соответственно eth1 смотрит в локалку. локальные машины без проблем коннектятся к впн, а к внешнему нет. Влияет ли белый ip на настройки pptpd ?
Анонимный посетитель 2009-11-05 22:58:54 (*)
поправка: проблема в том что через инет не могу законнектиться по внешнему ip к vpn-серверу
MooSE 2009-11-06 00:54:23 (*)
а внешний адрес - белый?
Анонимный посетитель 2009-12-25 16:46:04 (*)
можно ли повесить PPTPD на нестандартный порт? если да то ткак это сделать?
MooSE 2009-12-25 22:54:10 (*)
А у тебя есть клиент, который умеет цепляться на нестандартный порт?
Анонимный посетитель 2010-01-19 18:28:25 (*)
очень помогло
Анонимный посетитель 2010-01-22 12:53:45 (*)
Недавно сам озадачился такой проблемой, объединил две сете через vpn: http://breys.ru/blog/552.htm
но хочу больше, а именно настроить раздачу маршрутов клиентам а именно, например есть две сети 192.168.0.0/24 и 172.19.145.0/24 можно конечно прописывать маршруты руками (как я пока сейчас делаю через скрипт) но нужно это дело автоматизировать например юзеру А выдавать маршруты r1,r2 а юзеро Б маршруты r2,r3 и желательно всё централизовать, наверно лучшим будем использовать для этого LDAP
MooSE 2010-01-23 02:29:01 (*)
Смотри в сторону OpenVPN
Анонимный посетитель 2010-01-23 10:52:30 (*)
re: Смотри в сторону OpenVPN
а что он даст? какой смысл? на самом деле испытываю сложности с тем, что пользователи с другой стороны VPN не могут справится с подключением, а что уж сказать про OVPN и IpSec
мне нужно просто решение не столько для меня, сколько для людей с которыми приходится работать
Анонимный посетитель 2010-02-16 23:03:34 (*)
Все работает (почти). Не работает самое главное - интернет.
ping ya.ru Pinging ya.ru [77.88.21.8] with 32 bytes of data: Reply from 77.88.21.8: bytes=32 time=6ms TTL=56 Reply from 77.88.21.8: bytes=32 time=6ms TTL=56 Reply from 77.88.21.8: bytes=32 time=7ms TTL=56 Reply from 77.88.21.8: bytes=32 time=5ms TTL=56
А в броузере ничего не открывается... :(
MooSE 2010-02-17 09:27:12 (*)
ну умом подумай: скорее всего проблема в браузере:)
Анонимный посетитель 2010-03-09 18:28:54 (*)
а мне почему-то не дозвониться до сервера. сетевуха пингуестся, а ВПН клиент пишет сбой соединения. фаэрвола на серв и на клиенте нету
Анонимный посетитель 2010-03-09 23:29:04 (*)
Помогите пожалуйста решить проблему. Подключение виснет на проверке имени и пароля, вот лог из syslog
Mar 9 21:22:19 server-name pptpd[26463]: MGR: Maximum of 100 connections reduced to 55, not enough IP addresses given Mar 9 21:22:19 server-name pptpd[26470]: MGR: Manager process started Mar 9 21:22:19 server-name pptpd[26470]: MGR: Maximum of 55 connections available Mar 9 21:22:30 server-name pptpd[26492]: CTRL: Client 165.28.34.615 control connection started Mar 9 21:22:31 server-name pptpd[26492]: CTRL: Starting call (launching pppd, opening GRE) Mar 9 21:22:31 server-name pppd[26497]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded. Mar 9 21:22:31 server-name pppd[26497]: Couldn't open the /dev/ppp device: No such file or directory Mar 9 21:23:08 server-name pptpd[26492]: CTRL: Reaping child PPP[26497]
|