Можно ли заставить ядро не убивать статические маршруты?

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
rambomax
ефрейтор
Сообщения: 51
Зарегистрирован: 2007-12-06 13:57:20

Можно ли заставить ядро не убивать статические маршруты?

Непрочитанное сообщение rambomax » 2010-04-12 14:12:43

Корпоративная сеть построена на PPTP устройствах. В качестве сервера PPTP используется MPD5.
Для работы сети необходимо указывать статические маршруты к сетям, подключенным к MPD5.
При обрыве PPTP статические маршруты убиваются ядром из таблицы маршрутизации. И когда клиент переподключается, сеть уже не работает, пока не будет руками добавлен маршрут.
Очень неудобно.
Можно ли заставить ядро не убивать заданные маршруты из таблицы?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

sch
сержант
Сообщения: 282
Зарегистрирован: 2009-05-28 14:36:50
Откуда: Кишинев

Re: Можно ли заставить ядро не убивать статические маршруты?

Непрочитанное сообщение sch » 2010-04-12 14:18:37

насчет "не убивать маршруты" я не знаю, но при переподключении клиента маршрут можно и нужно создавать автоматически. Если мы говорим про MPD, то на стороне клиента за это отвечает директива set iface route, на стороне сервера маршрут к сети клиента должен создаваться скриптом, указанным в директиве set iface up-script

rambomax
ефрейтор
Сообщения: 51
Зарегистрирован: 2007-12-06 13:57:20

Re: Можно ли заставить ядро не убивать статические маршруты?

Непрочитанное сообщение rambomax » 2010-04-12 14:52:33

Огромное спасибо за ответ в тему!
Основная проблема в том, что связь может пропадать на секунды и опять восстанавливаться. Тогда ядро не успевает прибить маршрут (там есть задержка) и команда создания нового будет возвращать ошибку, а MPD5 наверняка будет сильно обижаться (мне так кажется, смоделировать не могу). А когда MPD5 обижается, он не пускает пользователя.

sch
сержант
Сообщения: 282
Зарегистрирован: 2009-05-28 14:36:50
Откуда: Кишинев

Re: Можно ли заставить ядро не убивать статические маршруты?

Непрочитанное сообщение sch » 2010-04-12 15:07:21

ок
а как сейчас организована процедура создания маршрутов к клиентам?
я правильно понял, что задача относится именно к PPTP-серверу, именно там создаются и удаляются маршурты, так?

дополнительный модификатор -static для команды route add пробовали ставить?

rambomax
ефрейтор
Сообщения: 51
Зарегистрирован: 2007-12-06 13:57:20

Re: Можно ли заставить ядро не убивать статические маршруты?

Непрочитанное сообщение rambomax » 2010-04-12 15:31:59

Сейчас всё сделано так:
в rc.conf.local такие строки
static_routes="vld vlk"
route_vld="-net 10.0.3.0/24 10.0.1.213"
route_vlk="-net 10.0.4.0/24 10.0.1.214"

Мне казалось, что такие маршруты неубиваемые и живут вечно. Идея в том, что в mpd.secret пользователям закреплены статические ИП вида 10.0.1.213. Получалось, что как только пользователь подключался мгновенно сеть становилась работоспособной.
Сегодня суровая действительность опровергла мои наивные заблуждения.

sch
сержант
Сообщения: 282
Зарегистрирован: 2009-05-28 14:36:50
Откуда: Кишинев

Re: Можно ли заставить ядро не убивать статические маршруты?

Непрочитанное сообщение sch » 2010-04-12 16:13:57

во первых, удаление соответствующих маршрутов когда исчезает локальный адрес - это не баг, а фича ;-)
во вторых, попробуй все таки использовать в MPD set iface up-script - если клиент отключился, то соответствующий ng интерфейс исчезает и маршрут удаляется, все автоматически. После подключения клиента сервер вызывает up-script, который опять создает маршрут. И все получается красиво.

ну еще можно проверить, что будет с маршрутом, который добавлен с параметром -static

Код: Выделить всё

route add -net 10.0.3.0/24 10.0.1.213 -static