# [SOLVED!] Настройка ADSL-соединния (слетает defaultroute)

## andrey-x

Привет всем!

Проблема не очень большая, но раздражающая:

Имеется ADSL-соединние. После запуска ppoe-start все запускается, а в файле /var/log/messages появляется такая строка:

```

Oct 27 11:01:37 localhost pppd[9788]: not replacing existing default route to eth0 [10.10.8.254]

```

Приходится ручками добавлять маршрут по умолчанию в сеть 0.0.0.0:

```

route add -net 0.0.0.0 ppp0

```

Все бы ничего, но по условиям контракта провайдер разрывает соединние в 24:00 и в 7:00. Естественно pppd восстанавливает соединение, но, опять же без восстановления "умолчального" маршрута. 

Содержимое /etc/ppp/options

```

lock

defaultroute

```

В файле с настройками /etc/pppoe.conf есть строчка

```

DEFAULTROUTE=yes

```

Может кто-нибудь сталкивался с такой проблемой?Last edited by andrey-x on Tue Oct 30, 2007 5:55 pm; edited 1 time in total

----------

## Mr.Cat

Да, была такая проблема. В Дебиане она решалась включением опции replacedefaultroute в /etc/ppp/options

Отсюда первый путь - взять этот патч с Дебиана и переписать ебилд ppp с этим патчем.

Если лениво патч накладывать есть еще один путь. Можно поднимать ppp просто при старте системы и оно само будет потом рестартовать. Для этого надо прописать в /etc/conf.d/net что-то вроде этого

config_ppp0=("ppp")

link_ppp0="eth0"

plugins_ppp0=("pppoe")

username_ppp0='bugaga@bugaga.net'

password_ppp0='besparolya'

pppd_ppp0=("defaultroute"

           "lcp-echo-interval 10"

           "lcp-echo-failure 5"

           "holdoff 10 child-timeout 60"

           "noauth persist debug"

)

preup() {

if [ ${IFACE} == "ppp0" ]; then

        сюда пихай удаление дефолтного гв на eth0 типо:

        route del -net 0.0.0.0 eth0

fi

}

postdown() {

if [ ${IFACE} == "ppp0" ]; then

       сюда пихай добавление дефолтного гв на eth0 типо:

       route add -net 0.0.0.0 gw 192.168.0.1 eth0

fi

}

Потом сделать симлинку

cd /etc/init.d

ln -s net.lo net.ppp0

потом

/etc/init.d/net.ppp0 start

Так будет работать.

----------

## andrey-x

Второй путь не годится, так как это происходит на ноутбуке, который изначально может быть не подключен к модему. Когда необходимо подключить Инет, я просто запускаю свой скрипт, в котором выполняются pppoe-start и route... . Но иногда я оставляю закачку на ночь и в 24:00 происходит разъединение со стороны провайдера, сейчас я решаю эту проблему через cron, где раз в 5 минут проверяется таблица маршрутов командой route и восстанавливается маршрут на 0.0.0.0 при его отсутствии и при наличии интерфейса ppp0. Но это как-то тоже некошерно.

Попробовал прописать опцию replacedefaultroute в /etc/ppp/options, в результате коннект вообще не восстанавливается - в /var/log/messages появляется строчка 

```

localhost pppd[13619]: In file /etc/ppp/options: unrecognized option 'replacedefaultroute'

```

Что еще самое интересное, на стационарном компе (тоже Gentoo) подобная проблема не наблюдается...

Там коннект и маршрут после разрыва соединения восстанавливаются самостоятельно! Установка системы и туда и туда производилась практически одинаково (разница лишь в некоторых драйверах в ядре - такие как звук и видео).

----------

## talos

pppd не хочет заменять маршрут по умолчанию с такой же метрикой. как вариант - добавить в /etc/conf.d/net строчку metric_eth0="10" - в этом случае маршрут по умолчанию для сетевой карты будет с метрикой 10 и pppd добавит свой с метрикой 0.

----------

## fank

```
echo "route del default" > /etc/ppp/ip-up.d/00local
```

----------

## andrey-x

Вот спасибо-то!!!

Проблема решена!

----------

