пишу господа для тех кто когда либо наткнеться на такую проблему
отдельное спасибо Владимиру кт помог решить мне данную проблему
точнее он сам столкнулся с такой проблемой и широко освещена она не была
связавшись с ним все у мня решилось проблема была в том что ppoe или vpn соединение перетягивает на себя дефаулт роутер
и при подъеме следующего вы не сможете подцепиться не удалив дефаулт роутер
а раставить потом его не проблема
я использую ppp клиент
собственно все конф файлы для ppp и на mpd настраивается все это (но он мне не симпотичен пока)
у мня 2 содиненеия kzn16 и ftpkzn16
rc.conf
ppp_enable="YES"
ppp_mode="auto"
ppp_nat="NO"
ppp_profile="kzn16 ftpkzn16"
#ppp_profile="ftpkzn16"
ppp_user="root"
/etc/ppp/ppp.conf
default:
set log Phase tun command # you can add more detailed logging if you wish
set device PPPoE:vr0 # replace xl1 with your Ethernet device
set dial
set login
set mru 1492
set mtu 1492
set speed sync
set redial 5+5-5 10000
disable ipv6cp
kzn16:
set timeout 0
set ifaddr 10.0.0.3/0 10.0.0.4/0 255.255.255.255 0.0.0.0
set authname login1
set authkey pass
ftpkzn16:
set timeout 0
set ifaddr 10.0.0.5/0 10.0.0.6/0 255.255.255.255 0.0.0.0
set authname kogin2
set authkey pass2
#значения кт присваиваются ifaddr не vt.n никакого зхначения можно оставить те же
ppp.linkup
#если нет то создать
kzn16:
! /etc/pf/kzn16-up INTERFACE inet MYADDR HISADDR
ftpkzn16:
! /etc/pf/ftpkzn16-up INTERFACE inet MYADDR HISADDR
#папка со скриптами pf чтоб просто не засорять папку хранить моно где угодно...
/etc/pf/kzn16-up
#!/bin/sh
route delete $4
route delete default
route add default -iface tun0
у мня основной канал 1 поэтому замечание tun0 присваивается в обоих случаях
параметр $4 это и есть HISADDR
/etc/pf/ftpkzn16-up
#!/bin/sh
route delete $4
route delete default
route add default -iface tun0
вот и все поднимается ну тут еще для полных фичей могу выложить файл реконекта при обрыве связи
я его храню
/usr/local/etc/myscript
#сам скрипт был собран и доработан с сайта лиясра.су
startinet.sh
#!/bin/sh
# Проверяем наличие скрипта testinet.sh в памяти
testz=`ps ax | grep -c testinet.sh`
if (test $testz -gt "1")
then
# Если уже есть, то выходим
exit 1
fi
/usr/local/etc/myscript/testinet.sh
#ставим его по крону раз в 5 мин
и сам файл кт поднимает соединение
testinet.sh
#!/bin/sh
# Флаг пропадания инета
nr=""
# Флаг появления инета
ni=""
while !(test $ni)
do
is=`/sbin/ping -c 3 213.181.14.11 | grep -c "64 bytes"`
# Проверяем прошли ли пинги
if !(test $is -gt "0")
then
# Прибиваем тунели
/usr/bin/killall ppp
if !(test $nr)
then
# Если инет пропал только что, то запоминаем время
nr=1
timeobr=`date`
fi
# Ждем пока помрут тунели (этот параметр индивидуален и
# подбирается экспериментальным путем)
sleep 10
# Поднимаем соединение
# Например у меня так
/usr/sbin/ppp -quiet -ddial kzn16
sleep 5
#Поднимаем второе соединенеи
/usr/sbin/ppp -quiet -ddial ftpkzn16
# На всякий случай еще немного подождем
# (хотя в принципе этого можно и не делать)
sleep 5
else
if (test $nr)
then
echo Инета не было с $timeobr до `date` >> /var/log/internet.log
fi
ni=1
fi
done
вот в принципе и все стоит шасщташп еще показать
7o# ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:13:d3:64:95:5e
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 195.189.134.110 --> 213.181.14.12 netmask 0xffffffff
Opened by PID 35304
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 195.189.134.180 --> 213.181.14.12 netmask 0xffffffff
Opened by PID 35310
вот так все замечательно работает теперь ...