Страница 1 из 1

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

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

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

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

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

Добавлено: 2010-04-12 14:52:33
rambomax
Огромное спасибо за ответ в тему!
Основная проблема в том, что связь может пропадать на секунды и опять восстанавливаться. Тогда ядро не успевает прибить маршрут (там есть задержка) и команда создания нового будет возвращать ошибку, а MPD5 наверняка будет сильно обижаться (мне так кажется, смоделировать не могу). А когда MPD5 обижается, он не пускает пользователя.

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

Добавлено: 2010-04-12 15:07:21
sch
ок
а как сейчас организована процедура создания маршрутов к клиентам?
я правильно понял, что задача относится именно к PPTP-серверу, именно там создаются и удаляются маршурты, так?

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

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

Добавлено: 2010-04-12 15:31:59
rambomax
Сейчас всё сделано так:
в 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. Получалось, что как только пользователь подключался мгновенно сеть становилась работоспособной.
Сегодня суровая действительность опровергла мои наивные заблуждения.

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

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

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

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

route add -net 10.0.3.0/24 10.0.1.213 -static