Настройка 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, vpn
|
Версия для печати |
Комментарии:
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]
[Ответить]
Анонимный посетитель 2010-04-07 23:06:40 (*)
Автору громадный респект за статью! Но интернет как многие отмечали действительно не пашет, при чем проблема не в маршрутизации, а DNS, сервер после подключения не может делать result имени (обращаться по имени "ya.ru", по "77.88.21.8" все проходит). После отключения клиента, на нем DNS client, тоже слетает...
[Ответить]
Анонимный посетитель 2010-04-08 00:24:15 (*)
После не долгих изысканий:
в файле /etc/ppp/pptpd-options добавляем
ms-dns 192.168.0.1 #(где 192.168.0.1 - адрес DNS сервера)
[Ответить]
Анонимный посетитель 2010-04-12 10:06:21 (*)
По поводу того, что сайт пингуется и не открывается. Попробуй на этот сайт зайти телнетом на 80-й порт, так как пинг использует ICMP, а веб-браузер TCP, что не одно и то же.
Пример: telnet ya.ru 80
[Ответить]
Анонимный посетитель 2010-04-19 21:41:19 (*)
А может кто-нибудь дать мануал по настройке...Я из локальной сети подключаюсь к vpn серверу(все сделал как написано, все рабтает. XUBUNTU 9.04) и он мне начинает выдавать интернет. А vpn сервак получает инет от шлюза.
[Ответить]
MooSE 2010-04-20 16:21:48 (*)
А зачем такие сложные схемы городить?
[Ответить]
Анонимный посетитель 2010-04-20 21:20:15 (*)
Просто несколько компьютеров должны получать доступ именно по VPN.
[Ответить]
MooSE 2010-04-20 22:23:41 (*)
зачем? а тупо PPPoE? или чем не устраивает нормальная локальная сеть без всяких VPN?
[Ответить]
Анонимный посетитель 2010-04-21 20:10:50 (*)
VPN сервер будет одной сетевой картой подключен к интернету, воторой в локальную сеть...Нужно несколько компьютеров подключить к нему через VPN и выдавать им интернет...Желательно еще их трафик считать...
[Ответить]
MooSE 2010-04-22 01:56:01 (*)
Подключать с какой стороны? Снаружи из интернета? Или из локальной сети?
Про учёт трафика я уже писал
[Ответить]
Анонимный посетитель 2010-04-23 11:36:41 (*)
Подключение происходит из локальной сети...
[Ответить]
MooSE 2010-04-23 11:58:30 (*)
тогда вообще смысл происходящего не понятен. зачем??? что им даст этот впн? нельзя по другому как-то разрулить это?
[Ответить]
Анонимный посетитель 2010-04-24 13:05:41 (*)
Так начальство просит.
[Ответить]
Анонимный посетитель 2010-04-24 14:29:28 (*)
MooSE
Условия LAN при которых применяют VPN для выхода в Интернет: сеть построена на неуправляемых коммутаторах (возможна смена ip-адреса на рабочей станции клиентом); трафик оплачивается помегабайтно; требуется аутентификация (proxy с NTLM2 не подходит);
в этих случаях часто применяют PPPoE или PPTP, второй чаще потому что народ частенько заюзывал win2k3 под VPN-сервак и привычки остались
[Ответить]
MooSE 2010-04-24 19:54:57 (*)
ну тогда и строй конфигурацию с локальной сетью скажем 192.168.1.0/24, в которой адрес получаются по DHCP без выхода в интернет, и с сетью 192.168.2.0/24, используемой для клиентов, подключающихся по PPTP и давать им доступ в интернет.
Вобщем работы на полчаса. ИМХО :)
[Ответить]
Анонимный посетитель 2010-04-25 16:55:03 (*)
Про условия писал другой анонимус, если что %))
[Ответить]
|