[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Косяки с роутингом ppp при подключении как клиент.



Eugene Berdnikov пишет:
On Tue, Jan 15, 2008 at 08:14:28PM +0300, Oleg Frolkov wrote:
Или выделить пул реальных IP и раздавать vpn серверам для фиктивных интерфейсов?
Моим аргументом является то что выделенный мною белый ip не может пересечься
ни с чьей внутренней сетью, если-же я буду выдавать что-то типа 10.0.0.1 то теоретически в какой-то конфигурации я из чужой сети с роутером имеющим тот-же адрес не смогу соединиться со своим VPN сервером. Любой придуманный экзотический ip из серой сети
может применяться где-то еще,

 Да, это проблема, и принципиально неразрешимая с IPv4.
 Но практически она решается уходом с начала адресного диапазона
 куда-то вглубь, где вероятность пересечься с другой организацией
 ничтожно мала.
В принципе ладно - выделил я еще один белый ip - но плучил другую проблему, все равно без костылей pppd маршрут делает неправильно, а с костылями я не могу - они вызываются уже после удаления defaultroute или с defaultroute приходится работать самому - что приводит к невозможности регулировать тип соединения (устанавливать на него defaultroute или нет) в конфиге pppd для конкретного vpn сервера..

Мало того что если выдаваемый той стороне адрес не равен адрсу сервера (у правильного админа) то получить в костыле ip VPN сервера из его символьного адреса невозможно - потому что в момент передачи управления костылю
defaultroute уже снесен и резолвинг не работает.

В общем-то вот такие вот шахматы..... куда не пойдешь - мат в 1 ход :)
 Принципиальные проблемы существуют. Даже в винде, сюрприз.
 Вот яркий пример: винда считает список dns'ов параметром интерфейса,
 если на ней поднять vpn, то возникнет новый туннельный интерфейс,
 на котором можно прописать свои dns'ы. В случае pptp, и для цисковких
 клиентов, и для openvpn, и для некоторых других vpn-нов сервер умеет
 список dns'ов оправить клиенту, а винда умеет их принять и прописать.

 А теперь, внимание, вопрос. Какой dns будет использоваться?
 Вопрос не праздный, потому что домен "lan.company.tld", может
 быть не виден из интернета, и если спросить сначала интернетовский
 dns, то резолвер получит NXdomain и дальше искать НЕ ПОЙДЁТ.
 Как быть? Ставить приоритетным тот dns, который на туннельном
 интерфейсе? Ага, так поступают многие vpn-клиенты, причём это обычно
 никак не регулируется. Но теперь надо вспомнить, что у нас есть
 не только та локалка, которая доступна через vpn, но и "своя",
 в которую торчит физический интерфейс. И в "своей" локалке тоже
 может быть свой локальный dns, очень-очень нужный для локальной почты,
 web-прокси и ещё тыщи вещей. Винда этот вопрос решить не может,
 точнее, костылей для него в винде пока нет.
Если я правильно понял Вашу проблему - то надо пойти в свойства VPN соединения -> Сеть->TCPIP->Использовать следующие адреса для DNS серверов и там указать ваши локальные DNS и при желании
адреса DNS серверов выдаваемых автоматически VPN сервером.
В итоге после поднятия этого интерфейса получите нужный список и нужный порядок DNS серверов.

Хотя конечно это не решит общей проблемы, винда все равно не пойдет к другому серверу если получила ответ от первого. А разве поведение Линукса в этом плане отличается? Тут тоже вроде как общий список для резолвинга.

Еще есть наверное шанс получить нужное поведение если поставить под винду какой-либо локальный DNS сервер, настроить его
на нужное поведение  а резолвинг завернуть на него.

Впрочем это уже совсем оффтопик пошел.

Олег.


Reply to: