Re: [pptp] - дефектный round robin в DNS
On Mon, Dec 29, 2008 at 03:09:40AM +0300, George Shuklin wrote:
> Есть PPTP-сервер (циска), которая не от доброй жизни висит по-очереди на разных ИП разных провайдеров. Для того, чтобы имя циски было одно, она прописана (всеми адресами) для одного имени:
>
> vpn IN A XX.XX.XX.XX
> vpn IN A YY.YY.YY.YY
>
> В виндах это приводило к паузе (секунд на 30) при присоединении (с вероятностью 50%, как и ожидалось). При этом, при аварийном дисконнекте (и переходе на резервную линию) переконнект происходил-таки сам, на нужный IP.
>
> С pptp ситуация другая - с вероятностью 50% он уходит в задумчивость:
>
> Dec 29 03:07:17 ns pppd[5125]: Using interface ppp0
> Dec 29 03:07:17 ns pppd[5125]: Connect: ppp0 <--> /dev/pts/9
И это всё, что ты видишь в логе? Если один из адресов недоступен,
pptp будет отваливаться с no route to host, в логе ты это увидишь.
Если _оба_ адреса доступны (пингуются), то отваливаться будет скорее
скорее всего pppd по таймауту LCP config request, что тоже отразится в
логе. Хотелось бы увидеть лог целиком (и с опцией debug для pppd).
В первом случае как workaround проще всего написать скрипт типа такого:
apt-get install fping
===== /etc/ppp/run-pptp =====
#!/bin/sh
for VPN_ADDR in `dig $1 +short`; do
if fping -q $VPN_ADDR; then
exec pptp $VPN_ADDR --sync --nolaunchpppd --nobuffer --loglevel 0
fi
done
=============================
и в /etc/ppp/peers/provider иметь
pty "/etc/ppp/run-pptp vpn.domain.name"
--
Stanislav
Reply to: