LINUX.ORG.RU
ФорумAdmin

[pppd] не желает менять defaultroute


0

0

После установки ppp-соединения не меняется маршрут по умолчанию.

Опция defultroute прописана в нужном месте.

Помимо прочего пишет в лог:
not replacing existing default route via 192.168.2.254

`route` до pon'а:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     *               255.255.255.0   U     0      0        0 eth_rtk0
default         192.168.2.254   0.0.0.0         UG    0      0        0 eth_rtk0

`route` после:
10.6.6.6        *               255.255.255.255 UH    0      0        0 ppp0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth_rtk0
default         192.168.2.254   0.0.0.0         UG    0      0        0 eth_rtk0

Ничего не меняется даже если в ip-up пишу нечто вроде:
route del default
route add default gw $5

Как можно побороть?
anonymous

Re: [pppd] не желает менять defaultroute

Какие права установлены на ip-up? А опция defaultroute вроде никогда и не работала. По-крайней мере я даже и не заморачивался с ней никогда.

Anoxemian ★★★★★ ()
Ответ на: Re: [pppd] не желает менять defaultroute от Anoxemian

Re: [pppd] не желает менять defaultroute

Привет,

> Какие права установлены на ip-up?

-rwxr-xr-x root root

Там еще прописано копирование /etc/ppp/resolv.conf в /etc (с условиями и бэкапом), и оно работает.

> А опция defaultroute вроде никогда и не работала

Проблема которую я описываю возникла на лэптопе под арчем, на домашнем десктопе-сервере под лфс defaultroute работает как положено.

anonymous ()
Ответ на: Re: [pppd] не желает менять defaultroute от Anoxemian

Re: [pppd] не желает менять defaultroute

Ага, http://docsrv.caldera.com:8457/en/FAQ/PPP/PPP-FAQ-7.html, часть 7.16:

7.16 The pppd process reports that it won't replace the existing default route. How do I get it to use the default route?

This is another Slackware \enhancement\. The Slackware package added a default route to the ethernet controller during the startup sequence in the /etc/rc.init1 script. This statement is:

/usr/bin/route add default dev eth0

The problem is that the statement has absolutely no functionality with the proper routing. A default route is designed to be sent to a router, not just dumped on the ethernet controller.

The pppd process is configured to not replace a default route if a default route is currently used before it starts. It does this for security reasons. Since Slackware uses the default route incorrectly, the pppd process is unable to install a new default route.

To correct the problem you need to replace the default route statement in the /etc/rc.init1 script with a proper network route. See the Net-2-HOWTO for the instructions on what should be used.

anonymous ()
Ответ на: Re: [pppd] не желает менять defaultroute от Anoxemian

Re: [pppd] не желает менять defaultroute

Ладно, допустим для defaultroute вести себя так - это нормально. Но
ip-up-то почему неправильно отрабатывает? :(

[ssh] galea-5 : io [~] $ cat /etc/ppp/ip-up 
#!/bin/sh
# called as: interface-name tty-device speed local-IP-address remote-IP-address ipparam
# example: ppp0 /dev/rfcomm0 9600 10.211.224.126 10.6.6.6

if [ $USEPEERDNS == 1 ]; then
        mv /etc/{resolv.conf,resolv.conf.pppsav}
        cp /etc/ppp/resolv.conf /etc
        chmod 644 /etc/resolv.conf
fi

echo "HOST=`route -n | grep ^0.0.0.0 | awk '{print $2}'`" >> /etc/ppp/defroute-preppp
echo "MASK=`route -n | grep ^0.0.0.0 | awk '{print $3}'`" >> /etc/ppp/defroute-preppp
echo "DEV=`route -n | grep ^0.0.0.0 | awk '{print $8}'`" >> /etc/ppp/defroute-preppp
route del default
route add default gw $5
^D

[ssh] galea-5 : io [~] $ cat /etc/ppp/ip-down
#!/bin/sh

if [ $USEPEERDNS == 1 ]; then
        mv /etc/{resolv.conf.pppsav,resolv.conf}
fi

source /etc/ppp/defroute-preppp
route del default
route add default gw $HOST netmask $MASK dev $DEV
^D

anonymous ()
Ответ на: Re: [pppd] не желает менять defaultroute от Anoxemian

Re: [pppd] не желает менять defaultroute

В сходной конфигурации pppd под LFS заработал нормально, версия pppd та же (2.4.4), видимо криво собран для Arch, буду пересобирать.

anonymous ()
Ответ на: Re: [pppd] не желает менять defaultroute от anonymous

Re: [pppd] не желает менять defaultroute

Gah, нужно указывать полный путь до route, т.е. /sbin/route. Соответственно, оба скрипта работают, нужно только все вхождения route заменить на /sbin/route.

Всем спасибо за помощь! ;)

anonymous ()

Re: [pppd] не желает менять defaultroute

Добавь опцию replacedefaultroute. У меня всегда все отлично заменяется и возвращается после отключения.

gruy ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.