The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

pptpd и решение проблемы маршрута по умолчанию
Суть вопроса: 
Имеем настроенный на linux pptp сервер для подключения внешних клиентов к
ресурсам внутренней сети. При установлении соединения с pptp сервером на машине
windows клиента поднимается маршрут по умолчанию с более высоким приоритетом,
чем маршрут через основное подключение. Вследствие чего перестает работать
связь с Интернет, со всеми вытекающими последствиями. Если же в свойствах pptp
соединения отключить галочку с пункта  "Использовать основной шлюз в удаленной
сети", то пропадает связь до ресурсов в удаленной сети. Возможности передать
маршруты в рамках соединения клиент-сервер через pptpd нет.

Решение:
Используем мапирование адресных пространств сетей. Будем транслировать то
пространство, которое является локальным для интерфеса windows клиента после
установки соединения.

Например, имеем адресное пространство удаленной(по отношению к клиенту) сети
192.168.0.0/24, а адрес интерфейса pptpd:

   # grep localip /etc/pptpd.conf
   localip 10.50.11.1

Настраиваем трансляцию адресного пространства:

   # iptables -t nat -A PREROUTING -d 10.50.11.0/24 -j NETMAP --to 192.168.0.0/24 -m comment --comment "For_PPTPD_clients"

После чего с клиентской машины есть связь и с интернет, и с ресурсами удаленной
сети через адреса 10.50.11.x. Неудобство с применением IP можно обойти через
настройку dns с использованием отдельной зоны для клиентов pptpd сервера.

Необходимо отметить, что есть еще другой путь решения проблемы - через
настройку отдельного dhcp на стороне сервера и использования option
ms-classless-static-routes code, option rfc3442-classless-static-routes code. Встретил
здесь. Может быть он более
правильный, но мне приведенное решение показалось более красивым и простым.

PS:  Не забудьте разрешить соединения через цепочку FORWARD, если используется
политика "Запрещено все, что не разрешено".
 
14.03.2012 , Автор: Брызгалов Константин
Ключи: pptp, route, dhcp, linux / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / PPP, PPTP, PPPOE

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, dima, 03:34, 15/03/2012 [ответить] [смотреть все]
  • +/
    а если клиент локально имеет 192,168,0,х адрес ?
    ка это в 99% случаев и есть
     
     
  • 2.3, Брызгалов, 11:42, 15/03/2012 [^] [ответить] [смотреть все] [показать ветку]
  • +1 +/
    Вот в это то как раз случае применение NETMAP позволит обойти проблему пересеч... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.4, анонимаус, 12:33, 15/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Например дома и на предприятии удаленная сеть сеть 192 168 0 0 24, используя ... весь текст скрыт [показать]
     
     
  • 4.6, Брызгалов, 15:15, 15/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    1 Поднимать необязательно - 10 50 11 0 24 это адрес сети параметра localip в ко... весь текст скрыт [показать]
     
  • 1.2, Аноним, 11:21, 15/03/2012 [ответить] [смотреть все]  
  • +1 +/
    для себя нашел другой путь решения - использую не PPTP, а OpenVPN Минус в устан... весь текст скрыт [показать]
     
     
  • 2.12, Брызгалов Константин, 08:15, 16/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Согласен с Вами полностью, но в моей ситуации необходим был именно pptp Так з... весь текст скрыт [показать] [показать ветку]
     
  • 1.5, Аноним, 13:00, 15/03/2012 [ответить] [смотреть все]  
  • –1 +/
    хм что я делаю не так подключаюсь с галочкой - инет выпадает подключаюсь без ... весь текст скрыт [показать]
     
     
  • 2.7, Брызгалов, 15:19, 15/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    поясни, какая сеть работает так же Если ты имеешь ввиду, то что у тебя работает... весь текст скрыт [показать] [показать ветку]
     
  • 1.8, Андрей, 21:38, 15/03/2012 [ответить] [смотреть все]  
  • –1 +/
    Прощё просто выделить внешним клиентам не такую популярную в домовых сетях подсеть как 192.168.0.0/24
     
     
  • 2.10, Брызгалов Константин, 07:36, 16/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ты текст перечитай вдумчиво, поймешь что написал бред ...
     
  • 1.9, Аноним, 03:02, 16/03/2012 [ответить] [смотреть все]  
  • –1 +/
    Большей чуши в жизни не читал Срочно узнаём про виртуальные туннели и преобразо... весь текст скрыт [показать]
     
     
  • 2.11, Брызгалов Константин, 08:01, 16/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Конкретней выражайся, в чем именно заключается чушь Где-то в тексте совета ... весь текст скрыт [показать] [показать ветку]
     
  • 1.13, han, 09:21, 20/03/2012 [ответить] [смотреть все]  
  • +1 +/
    Т.е., описанная проблема с маршрутами на удалённом клиенте решается тем, что на интерфейсе как бы адрес из удалённой сети, и она как бы становится connected-сетью верно?
    Тогда такой вопрос: а какая маска устанавливается на клиентском ppp-интерфейсе? Обычно у ppp адреса /32, а если так, то работоспособность решения вызывает сомнения, т.к. как бы удалённая сеть уже становится не connected.
     
     
  • 2.14, Брызгалов Константин, 13:04, 20/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    На интерфейсе pptp клиента адрес той сети которая выдается в конфиге pptp сервер... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, alex.h, 10:07, 21/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    В любом случае вывод ipconfig и route print с виндовс-клиента хорошо проиллюстри... весь текст скрыт [показать]
     
     
  • 4.16, Брызгалов Константин, 11:18, 21/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Согласен и исправляюсь ----- верезка ----- Адаптер PPP VPN-подключение DNS... весь текст скрыт [показать]
     
  • 4.17, Брызгалов Константин, 11:25, 21/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Раздел NOTES, map pptpd conf предлагает такие примеры NOTES An ip-specifi... весь текст скрыт [показать]
     
     
  • 5.18, alex.h, 13:33, 21/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Достаточно забавно, что при она добавляет маршрут 10 8 ... весь текст скрыт [показать]
     
     
  • 6.19, Брызгалов Константин, 13:54, 21/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    ага, но закономерность есть - берет маску из RFC и вперед Изменил конфиг pptpd ... весь текст скрыт [показать]
     
     ....нить скрыта, показать (6)

  • 1.20, drTr0jan, 17:08, 21/03/2012 [ответить] [смотреть все]  
  • +1 +/
    > Возможности передать маршруты в рамках соединения клиент-сервер через pptpd нет.

    Собственно это и есть самая главная проблема. Говорят, есть какой-то патч, позволяющий отправлять DHCP-options. Но я сам на линуксе второй день, и разбираться с этим не стал.
    Cisco кстати прекрасно выдаёт маршруты по PPTP. Из чего складывается предположение, что pptpd -костыль, нежели сам PPTP протокол.

     
     
  • 2.21, Брызгалов Константин, 18:45, 21/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    ссылочку можно ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, drTr0jan, 18:57, 21/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Возможно это поможет http://www.linux.org.ru/forum/admin/5872966
     
     
  • 4.25, Брызгалов Константин, 07:48, 22/03/2012 [^] [ответить] [смотреть все]  
  • +1 +/
    Слушай, а ты внимательно читал обсуждаемый текст - ведь в нем написано о том,... весь текст скрыт [показать]
     
     
  • 5.26, drTr0jan, 14:45, 22/03/2012 [^] [ответить] [смотреть все]  
  • +/
    Я ж говорю, на Linux е второй день То, что в рамках протокола PPTP нельзя перед... весь текст скрыт [показать]
     
  • 3.31, GalaxyMaster, 06:59, 25/04/2012 [^] [ответить] [смотреть все]  
  • +/
    Я сразу отвечу на пару вопросов этой ветки здесь.

    1. Сам PPTP предоставляет только тунель между двумя точками и средств маршрутизации в нем не предусмотрено.
    2. Существует 2 официальных способа настраивать маршрутизацию для PPTP туннелей: динамическая (RIP, OSPF) и статическая (DHCP stateless static routes).
    3. L2TP - это тот же PPTP вид сбоку (использует IP/UDP вместо GRE, и может быть опционально обернут в IPsec).

    Пример конфигурации статики в связке accel-ppp + dnsmasq можно увидеть здесь:
    http://forum.opennet.ru/openforum/vsluhforumID10/4943.html?n=GalaxyMaster#8

    В приведеном примере accel-ppp можно заменить на poptop (или любой другой), а dnsmasq на какой-нить другой DHCP сервер.

    С динамикой немного более плачевно, так как для того, чтобы она работала нужна еще поддержка на стороне клиента (ну, для DHCP она тоже нужна, но DHCP чаще всего есть, чем нет).

     
     
  • 4.32, Брызгалов Константин, 09:32, 25/04/2012 [^] [ответить] [смотреть все]  
  • +/
      Исчерпывающий ответ по теме. Было бы здорово, если бы он был оформлен в виде заметки на этом ресурсе.
      Закрыли бы тему надолго. А то в сети полно воды по этому вопросу.

    >[оверквотинг удален]
    > (RIP, OSPF) и статическая (DHCP stateless static routes).
    > 3. L2TP - это тот же PPTP вид сбоку (использует IP/UDP вместо
    > GRE, и может быть опционально обернут в IPsec).
    > Пример конфигурации статики в связке accel-ppp + dnsmasq можно увидеть здесь:
    > http://forum.opennet.ru/openforum/vsluhforumID10/4943.html?n=GalaxyMaster#8
    > В приведеном примере accel-ppp можно заменить на poptop (или любой другой), а
    > dnsmasq на какой-нить другой DHCP сервер.
    > С динамикой немного более плачевно, так как для того, чтобы она работала
    > нужна еще поддержка на стороне клиента (ну, для DHCP она тоже
    > нужна, но DHCP чаще всего есть, чем нет).

     
  • 2.27, alex.h, 10:23, 23/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Как показывает небольшое изучение вопроса, всё гораздо грустнее Это ограничение... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.28, Брызгалов Константин, 14:12, 23/03/2012 [^] [ответить] [смотреть все]  
  • +/

    > Как показывает небольшое изучение вопроса, всё гораздо грустнее...
    > Если же заглянуть поглубже ...

    Благодарю за потраченное время и силы. Отличное освещение вопроса.


    > но очень похоже, что это хак.

    скорее всего встроили в код своего сервера решение с dhcp. Не верится, что они с microsoft договорились и реализовали на обеих сторонах что то не входящее в стандарт.

    > Интересный вопрос, можно ли вообще плюнуть на IPCP при установке PPP-соединения и
    > получить его настройки через DHCP?

    По словам некоторых товарищей из инета - можно.

    > Чем больше про него узнаёшь, тем меньше PPTP кажется стоящим протоколом :)

      Помимо всего он еще и небезопасен. Про это много написано в сети. Его уже бы и забыли, но клиентское ПО много где реализовано и предлагается как один из вариантов vpn.

     
  • 3.29, drTr0jan, 09:46, 24/03/2012 [^] [ответить] [смотреть все]  
  • +/
    А L2TP не ковыряли?
    PPTP уже умирает (учитывая открывшиеся подробности) вместе с WinXP (где оно из коробки присутствует). А в Win7 есть стоковый L2TP клиент.
     
     
  • 4.30, alex.h, 21:49, 24/03/2012 [^] [ответить] [смотреть все]  
  • +/
    > А L2TP не ковыряли?

    Нет, с L2TP пока общаться не приходилось. Но на моей текущей работе поднятие VPN серверов и не относится к моей деятельности, больше приходится клиентом к разным серверам цепляться. Может на домашнем подниму посмотреть.

    > PPTP уже умирает (учитывая открывшиеся подробности) вместе с WinXP (где оно из коробки присутствует). А в Win7 есть стоковый L2TP клиент.

    Клиент-то есть, но пока традиция ещё сильна :) По крайней мере, по моим наблюдениям.

     
  • 1.23, Андрей..., 20:57, 21/03/2012 [ответить] [смотреть все]  
  • –1 +/
    Чегото я не понял... о ЧЕМ ЗАМЕТКА?
     
     
  • 2.24, Андрей..., 21:00, 21/03/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    какой-то кошмар.... а есче можно обсуждать проблемы добавления маршртов...724
     
     
  • 3.33, Alex, 16:14, 02/12/2012 [^] [ответить] [смотреть все]  
  • +/
    > какой-то кошмар.... а есче можно обсуждать проблемы добавления маршртов...724

    Не, это было бы конечно здорово, если бы и днс-сервер той сетки отдавал айпишники с учётом маппинга, но что-то, я дико извиняюсь, не гулиццо нифига такое, а без этого, кроме как "жутткий_костыль" - подругому не назовёшь, исчо раз извиняйте если что не так... /_\

     
     
  • 4.34, Dmitry, 16:35, 12/02/2013 [^] [ответить] [смотреть все]  
  • +/
    >> какой-то кошмар.... а есче можно обсуждать проблемы добавления маршртов...724
    > Не, это было бы конечно здорово, если бы и днс-сервер той сетки
    > отдавал айпишники с учётом маппинга, но что-то, я дико извиняюсь, не
    > гулиццо нифига такое, а без этого, кроме как "жутткий_костыль" - подругому
    > не назовёшь, исчо раз извиняйте если что не так... /_\

    Есс-но это адский костыль, к тому же кривой. Об ошибках автору костыля говорить бессмысленно. Он ведь думает, что PPTP может передавать маршруты, но это не так.

    Маршруты передает dnsmasq, который туп как пробка и в больших сетях практически бесполезен.

    Правильнее использовать нормальный DHCP для передачи маршрутов и выдачи адресов.

     
     
  • 5.35, Константин Брызгалов, 17:18, 12/02/2013 [^] [ответить] [смотреть все]  
  • +/
    >[оверквотинг удален]
    >> Не, это было бы конечно здорово, если бы и днс-сервер той сетки
    >> отдавал айпишники с учётом маппинга, но что-то, я дико извиняюсь, не
    >> гулиццо нифига такое, а без этого, кроме как "жутткий_костыль" - подругому
    >> не назовёшь, исчо раз извиняйте если что не так... /_\
    > Есс-но это адский костыль, к тому же кривой. Об ошибках автору костыля
    > говорить бессмысленно. Он ведь думает, что PPTP может передавать маршруты, но
    > это не так.
    > Маршруты передает dnsmasq, который туп как пробка и в больших сетях практически
    > бесполезен.
    > Правильнее использовать нормальный DHCP для передачи маршрутов и выдачи адресов.

    :)

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList