Bug 22574 - Таблица маршрутизации
Summary: Таблица маршрутизации
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: dhcpcd (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Mikhail Efremov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-19 02:53 MSK by MisHel64
Modified: 2013-01-28 17:10 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description MisHel64 2009-12-19 02:53:17 MSK
При поднятии интерфейса получающего адреса по DHCP в таблицу маршрутизации заносится несколько маршрутов. Маршруты не верны, но это проблема провайдера.
Отключит добавление маршрутов не получается.
Comment 1 Michael Shigorin 2009-12-19 13:01:19 MSK
Как именно "не получается"?  Попробуйте вручную dhcpcd -G <интерфейс>, если поможет -- добавьте nogateway в /etc/dhcpcd.conf.
Comment 2 MisHel64 2009-12-19 17:14:36 MSK
Речь не шлюзе по умолчанию.
Comment 3 MisHel64 2009-12-19 17:16:20 MSK
Ключ -G работает. Шлюз по умолчанию не прописывается.
Comment 4 Michael Shigorin 2009-12-19 23:17:25 MSK
Судя по ману, речь о маршрутах вообще, а не только о _default_ gateway.
Вопрос решён?
Comment 5 MisHel64 2009-12-19 23:52:09 MSK
"Don't set any default routes." в моем мане.
Возможно Ваш перевод верен.
Но!
Поднимаю интерфейс на экране появляются надписи:
подобные этой: "add route to 10.0.0.0/8 via 10.50.4.1"
Изучаю вывод "route -n"
Вижу прежний шлюз по умолчанию и 4 новых маршрута.
Дописывание nogateway в /etc/dhcpcd.conf не помогает.
Comment 6 MisHel64 2009-12-19 23:54:34 MSK
"Don't set any default routes."
Гугль перевел как:
"Не устанавливайте любые маршруты по умолчанию."
Comment 7 MisHel64 2009-12-24 02:29:09 MSK
С помощью рассылки установили, что
DHCPcd игнорирует команду не использовать 121 атрибут (classless_static_routes),  и не не хочет использовать атрибуты routers и static_routes.
Comment 8 Mikhail Efremov 2009-12-25 20:25:14 MSK
(В ответ на комментарий №7)
> С помощью рассылки установили, что
> DHCPcd игнорирует команду не использовать 121 атрибут
> (classless_static_routes),  

Так и есть, он всегда запрашивает определенный набор опций и, соответственно, их использует. По сути --nooption заставляет только не экспортировать полученные значения как переменные окружения. Я это запатчил по простому, вот думаю, может ли это что-то сломать. Если ничего не надумаю - отправлю в Сизиф :).
Вообще там просится упростить код немного, выкинуть из struct options nomask и использовать только requestmask заполняемый значениями по умолчанию. Но это надо еще код почитать и с апстримом списаться, спросить зачем он именно так сделал. Может была причина.

> и не не хочет использовать атрибуты routers и
> static_routes.

Это правильное поведение при наличии classless_static_routes согласно RFC3442.
Comment 9 MisHel64 2009-12-26 07:51:57 MSK
(В ответ на комментарий №8)
> Так и есть, он всегда запрашивает определенный набор опций и, соответственно,
> их использует. По сути --nooption заставляет только не экспортировать
> полученные значения как переменные окружения. 

Не у ловил смысла, сорри. Мне бы что бы маршруты не дописывались при указании ключа.

> Если ничего не надумаю - отправлю в Сизиф :).

А в P5 за одно можно?


> Вообще там просится упростить код немного, выкинуть из struct options nomask и
> использовать только requestmask заполняемый значениями по умолчанию. 

Что-то мне подсказываетчто этого не стоит делать. Пусть берет все, а пользователь уже сам с помощью ключей выкинет лишнее.

> > и не не хочет использовать атрибуты routers и
> > static_routes.
> 
> Это правильное поведение при наличии classless_static_routes согласно RFC3442.

Вот только спецам из Билайна и Микрософта на этот RFC наплевать. Может можно приделать ключик --dumbISP для совместивости?
Comment 10 Mikhail Efremov 2009-12-28 22:04:02 MSK
(В ответ на комментарий №9)
> > их использует. По сути --nooption заставляет только не экспортировать
> > полученные значения как переменные окружения. 
> 
> Не у ловил смысла, сорри. Мне бы что бы маршруты не дописывались при указании
> ключа.

Так и будет с моим фиксом. Эти опции больше не будут запрашиваться у сервера.

> > Если ничего не надумаю - отправлю в Сизиф :).
> 
> А в P5 за одно можно?

В 5.1 отправлю чуть позже. Если очень надо в p5 - это к cas@.

> > > и не не хочет использовать атрибуты routers и
> > > static_routes.
> > 
> > Это правильное поведение при наличии classless_static_routes согласно RFC3442.
> 
> Вот только спецам из Билайна и Микрософта на этот RFC наплевать. Может можно
> приделать ключик --dumbISP для совместивости?

Костыли для криво настроенных серверов лучше по месту делать. Например написать свой хук в /lib/dhcpcd/dhcpcd-hooks и установить там недостающие маршруты.
Comment 11 Repository Robot 2009-12-28 22:21:31 MSK
dhcpcd-1:4.0.15-alt2 -> sisyphus:

* Mon Dec 28 2009 Mikhail Efremov <sem@altlinux> 1:4.0.15-alt2

- Not request the options that are given with --nooption
    (closes #22574).
Comment 12 Michael Shigorin 2010-01-27 15:05:49 MSK
(In reply to comment #10)
> В 5.1 отправлю чуть позже. Если очень надо в p5 - это к cas@.
2 cas: можешь проверить и при отсутствии регрессов забрать 4.0.15-alt1.M51.1?
Comment 13 Andrey Cherepanov 2010-01-27 15:46:51 MSK
Проверил, работает. task #19252 (в p5)
Comment 14 Oleg 2013-01-28 17:10:46 MSK
FYI: "nooption clause" fixed in upstream http://roy.marples.name/projects/dhcpcd/ticket/254