Jump to content

добавление статического маршрута Linux


Recommended Posts

Подскажите, как намертво забить маршрут в таблицу маршрутизации.

Есть две локальные сети(192.168.1.0/24 и 10,25,25,0/24) соединенные между собой выделенкой на модемаx gshdsl(172.16.0.1,2). В обоих сетках стоит по серверу под линуксом mandrake 10 с выделенным интерфейсом под линк (eth1 подключен к модему, eth0 смотрит в сеть).

Проблема в следующем:

стоит ненадолго отключить модем, ребутнуть или что-то в этом духе, добавленный коммандой (route add -net 10.25.25.0/24 gw 172.16.0.2)маршрут "забывается".

пробовал ставить для этих целей вотчдог, который добавлял маршрут при непрохождении пинга.

но это имхо кривое решение.

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

в винде знаю как, в линуксе никак не найду.

Link to post
Share on other sites

Можно скрипт, пингущий и добавляющий маршрут через route add.

Это кривое, не кривое, но работающее решение.

Link to post
Share on other sites

Интересно, с чего это вдруг он забывается?

Не должен!

Что за Линух?

Возможно какой-то демон выбивает, routed например или gated , на самом деле он не так, чтобы нужен для статики.

Получается какой-то полудинамичесский рутинг.

Link to post
Share on other sites

Аналогичная ситуация у меня была на РХ 9.0

Стоит на пол секунды пропасть шлюзу у прова или переполучить с задержко адресс, сразу же syswatch ребутал интерфес, файрвол, и перебивал табличку маршрутизации...... Вылечил только отучив его так себя вести :(

Link to post
Share on other sites
  garik said:
Подскажите, как намертво забить маршрут в таблицу маршрутизации.

Есть две локальные сети(192.168.1.0/24 и 10,25,25,0/24) соединенные между собой выделенкой на модемаx gshdsl(172.16.0.1,2). В обоих сетках стоит по серверу под линуксом mandrake 10 с выделенным интерфейсом под линк (eth1 подключен к модему, eth0 смотрит в сеть).

Проблема в следующем:

стоит ненадолго отключить модем, ребутнуть или что-то в этом духе, добавленный коммандой (route add -net 10.25.25.0/24 gw 172.16.0.2)маршрут "забывается".

пробовал ставить для этих целей вотчдог, который добавлял маршрут при непрохождении пинга.

но это имхо кривое решение.

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

в винде знаю как, в линуксе никак не найду.

Возможно я чего-то не понял в ситуации, но, по-моему, файлик "/etc/sysconfig/static-routes" никто не отменял. Не знаю, во всех-ли дистрибутивах он есть, но во всем RH-совместимом - однозначно...

Link to post
Share on other sites

Файлик этот скорее всего вызывает тот же route, проблема скорее всего глубже, может даже в ядре.

Если хотите стабильной работы, не стоит ставить самые последние версии софта, который еще не обезбажен.

Link to post
Share on other sites
  nn said:
Файлик этот скорее всего вызывает тот же route, проблема скорее всего глубже, может даже в ядре.

Если хотите стабильной работы, не стоит ставить самые последние версии софта, который еще не обезбажен.

Дело в том, что этот файлик очень сильно стандартный и присутствует в системе все время, сколько я работаю с линуксом. При передергивании интерфейсов любыми стандартными средствами он обязательно обрабатывается и маршруты восстанавливаются. Со статикой у меня никогда проблем не возникало. С ним есть другая проблема. Он в силу своего давнего возраста ориентирован на команду "route add", а не на современную "ip route add", поэтому при использовании хитрых правил роутинга, типа роутинга по источнику и прочее, бывают проблемы невосстановления полного роутинга при передергиваниях или отвалах интерфейсов.

Link to post
Share on other sites

В этом файле обычно дефол стоит.

У меня в скрипте rc.local route add стоит и ничего потом не пропадает.

А вообще никто не отменял команду netstat, которая показывет таблицу маршрутизации и тип роутига для сеток.

Думаю, что с ее помощью особенно при углубленном чтении мана пожно узнать, где собака порылась.

Link to post
Share on other sites

В том, что роутинг может пропасть, странного ничего нет.

У меня роутинги по виртуальному туннелю пропадают при его перезагрузке.

Link to post
Share on other sites
  XoRe said:
Можно скрипт, пингущий и добавляющий маршрут через route add.

Это кривое, не кривое, но работающее решение.

юзаю такой скрипт...

добавил его в кронтаб (crontab -e) запуск раз в 10 минут. он запускается но не отрабатывает как нужно. Вручную без проблем. С тем-же самым столкнулся поставив примитивный скрипт, на бэкап папки stargazer\users.(При запуске через кронтаб создает в качестве бекапа "пустышку", вручную тот-же скрипт отрабатывает без проблем). Некоторые вотчдоги (xDsl, SAT) отрабатывают через кронтаб без вопросов (при равных chown, chmod, chgrp). Догадываюсь, что вероятно решение на поверхности, но... хз :) Кто догадывается подскажите плиз :)

 

  Quote
Поставь Зебру и пропиши там статику

что имеется ввиду под зеброй?

 

  Quote
Интересно, с чего это вдруг он забывается?

Не должен!

Что за Линух?

Возможно какой-то демон выбивает, routed например или gated , на самом деле он не так, чтобы нужен для статики.

Получается какой-то полудинамичесский рутинг.

таковые демоны не запущены

 

  Quote
Аналогичная ситуация у меня была на РХ 9.0

Стоит на пол секунды пропасть шлюзу у прова или переполучить с задержко адресс, сразу же syswatch ребутал интерфес, файрвол, и перебивал табличку маршрутизации...... Вылечил только отучив его так себя вести 

и такая служба вроде не юзается...

 

  Quote
Возможно я чего-то не понял в ситуации, но, по-моему, файлик "/etc/sysconfig/static-routes" никто не отменял. Не знаю, во всех-ли дистрибутивах он есть, но во всем RH-совместимом - однозначно...

в мандрейке, к сожалению, нет...

 

 

[root@localhost /]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

ar64-4s.kharkov * 255.255.255.255 UH 0 0 0 ppp0

172.16.0.0 * 255.255.255.252 U 0 0 0 eth1

10.25.25.0 172.16.0.2 255.255.255.0 UG 0 0 0 eth1

192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

127.0.0.0 * 255.0.0.0 U 0 0 0 lo

default ar64-4s.kharkov 0.0.0.0 UG 0 0 0 ppp0

 

вот этот замечтательный маршрут и выпадает после передергивания жсшдсл момеда :)

10.25.25.0 172.16.0.2 255.255.255.0 UG 0 0 0 eth1

Link to post
Share on other sites

Выложи, что вылетает по netstat -nr , там яснее картина, хотя и так бага вижна в том, что флаг в сетке 172.**** не тот. UG должно быть.

Скорее всего неправильно прописан рутинг.

Гейтвеем надо прописывать не свой IP интерфейса eth1 а тот, что с другой стороны. Также проверить правильность всех масок и т.д.

Да, если уверен, что все ОК,

влюбом случае, надо на lo0 прикрепить 172.x.x.x

Пробуй, если не сростется, то выкладывай все настройки интерфейсов, правила и т.д.

Link to post
Share on other sites
  nn said:
Выложи, что вылетает по netstat -nr , там яснее картина, хотя и так бага вижна в том, что флаг в сетке 172.**** не тот. UG должно быть.

Скорее всего неправильно прописан рутинг.

Гейтвеем надо прописывать не свой IP интерфейса eth1  а  тот, что с другой стороны. Также проверить правильность всех масок и т.д.

Да, если уверен, что все ОК,

влюбом случае, надо на lo0 прикрепить 172.x.x.x

Пробуй, если не сростется, то выкладывай все настройки интерфейсов, правила и т.д.

172.16.0.2 находится с другой стороны на противоположном сервере, флаг UG есть вроде, маски соответствуют, т.е. ИМХО все верно.

выкладываю netstat:

[root@localhost]# netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

195.5.X.86 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0

172.16.0.0 0.0.0.0 255.255.255.252 U 0 0 0 eth1

10.25.25.0 172.16.0.2 255.255.255.0 UG 0 0 0 eth1

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 195.5.X.86 0.0.0.0 UG 0 0 0 ppp0

Link to post
Share on other sites

Можно добавить в таблицу рутинга строчку:

172.16.0.1 0.0.0.0 255.0.0.0 U 0 0 0 lo

Т.е. что-то типа ifcofig 172.16.0.1\30 lo0, может с какими-то параметрами

Я так предполагаю, что ядро не вкуривает, в какой итнерфейс это толкать.

Возможно, при падении модемов, езернет считает, что он в дауне, и выбивает все роутинги с него.

Может драйвер сетевухи вылетает, попробуй, при вылете он пингуется или нет

 

Смотри, что там выдается по ifconfig -a

давай, что выдает сюда

 

Кстати вопрос, мадем имеет управление, может ему надо адес назначить?

 

Пошамань с параметрами ifconfig eth1, можно еще попробовать мадемы через свитч подключить.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...