> Не работает, потому что у меня уже есть default, а pppd его не заменяет.
странно... я правда не проверял, но в мане ничего насчет "выставить
default, если у вас default нет, иначе ..." не нашел, там сказано просто
и ясно: "Add a default route to the system routing tables, using the
peer as the gateway, ... This entry is removed when the PPP connection
is broken. ..."
>> Дело в том, что старый default route не надо убирать, в таблице
>> маршрутизации их может быть сколько угодно, а работать будет всегда
>> наиболее специфичный маршрут или последний добавленный, если они
>> одинаково специфичны (как например и default маршрут ;o) ).
>
> Никогда в жизни у меня это не работало. То есть если у меня стоит 2
> defult'а, то маршрутизация вовне просто не работает вообще. Я этого никогда
> не мог понять, сейчас самое время выяснить.
> Что значит "наиболее специфичный"?
с самой длинной (в битах) маской: /24 (255.255.255.0) специфичнее, чем
/8 (255.0.0.0), ну и, естественно, самый "неспецифичный" default -
0.0.0.0.
> Если у меня стоит маршрутизация (netstat -rn:)
>
> 0.0.0.0 10.110.21.1 0.0.0.0 UG 40 0 0 eth0
> 0.0.0.0 192.168.12.21 0.0.0.0 UG 40 0 0 ppp0
>
> то как будет маршрутизироваться пакет на адрес 194.67.88.10?
по последнему добавленному - через ppp0, или по маршруту с наибольшим
приоритетом, если используется linux 2.4 и iproute.
у меня, например, после добавления:
shell# route add default lo
shell# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.240.28.0 0.0.0.0 255.255.254.0 U 40 0 0 eth0
0.0.0.0 0.0.0.0 0.0.0.0 U 40 0 0 lo
0.0.0.0 10.240.29.254 0.0.0.0 UG 40 0 0 eth0
все пакеты не в локальную сеть начинают честно ходить на интерфейс lo.
(ну нет у меня под рукой модема
)
так что, воспользуйся tcpdump'ом и ищи в чем проблема...
Если непонятно - можно поглядеть предидущие сообщения, но проблема аналогичная.