LINUX.ORG.RU
ФорумAdmin

CentOS-5_запуск скрипта при поднятии/отлкючении интерфейса


0

1

Здравствуйте.

Давно ищу, как можно в CentOS запускать необходимые скрипты при включении/выключении интерфейса. Интересует как для eth так и для pppoe. Сколько не искал, явно нигде не нашел.

Так же волнует проблема следующего характера:

Есть два провайдера, проход к одному идет через PPPoE, а ко второму через Ethernet. В основном используется PPPoE, а Ethernet только если первый падает. Так вот хотелось бы узнать как это лучше реализовать, что бы маршруты менялись автоматом?

Я пытался выставить DG (default gateway) на Ethernet и так же прописать DG в конфиге PPPoE. В итоге при поднятии PPPoE весь трафик, по идее, должен быть перенаправлен на него, а при его падении, маршрут по умолчанию должен возвращаться в исходное положение и трафик должен идти через Ethernet, но этого не происходит :/

Если кто сталкивался, подскажите пожалуйста.

Благодарю!


Если посмотреть скрипт:
/etc/sysconfig/network-scripts/ifup-post
то можно обнаружить строки:

if [ -x /sbin/ifup-local ]; then
/sbin/ifup-local ${DEVICE}
fi

Следовательно если написать скрипт
/sbin/ifup-local
(а штатно его нет), с учетом переданного ${DEVICE}
то можно произвести нужные действия
соответственно и
/sbin/ifdown-local

tid
()

пару дней назад тоже заинтересовался подобной проблемой, правда не совсем с маршрутами (просто скрипт запустить) и не совсем в CentOS (в Gentoo)

пока нарыл только решение Вашей проблемы (видимо) :)

/usr/share/doc/openrc-0.6.1-r1/net.example

# If a specified module fails (like dhcp - see below), you can specify a
# fallback like so
#fallback_eth0=«192.168.0.2/24»
#fallback_route_eth0=«default via 192.168.0.1»

# NOTE: fallback entry must match the entry location in config_eth0
# As such you can only have one fallback route.

не уверен что это подойдет для CentOS, но все же

скорее всего если изучить «примеры» более детально то найду как скрипты пускать , но пока забил (подскажите куда копать ;) )

anTaRes ★★★★
()
Ответ на: комментарий от anTaRes

tid, спасибо за идею. Можно принять как вариант, только довольно много возиться придется если у нас несколько интерфейсов и мы хотим через один файл задать разные действия для них. Хочется верить, что в CentOS есть что то вроде Дебиановской папки для скриптов или что то в этом духе.

anTaRes, за Gentoo тоже спасибо. У самого дома стоит, так что полезно будет :D

Сейчас сам активно ищу, как это можно реализовать максимально красиво и без велосипедов. Может кто то уже сталкивался с этим.

kronos
() автор топика

А что говорит man interfaces на предмет pre-up/post-up/pre-down/post-down? Или файл interfaces в центосе отличается от дебиановского?

Hoodoo ★★★★★
()
Ответ на: комментарий от Hoodoo

man interfaces говорит что нет такого мануала. как и файла interfaces впринципе.

Здесь настройка идет через отдельный файлы для каждого интерйеса, т.е. ifcfg-ethX либо ifcfg-pppX

Немного не привычный способ настройки, для меня по крайней мере.

kronos
() автор топика

Не уверен, и прямо сейчас посмотреть негде, но думаю, что можно прописать нужные маршруты в файл /etc/sysconfig/network-scripts/ifup-routes. Подробности — в /usr/share/doc/initscripts-*/sysconfig.txt

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

dexpl, да, спасибо :)

Статические маршруты можно вбить в файл:

/etc/sysconfig/network-scripts/route-<interface-name>

синтаксис следующий:

ADDRESS0=192.168.2.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.1

вот только, про скрипты там ни слова :/

kronos
() автор топика
Ответ на: комментарий от kronos

Ну ёпт, как малые дети.

ifup-local:

#!/bin/bash
test -x /usr/local/etc/network-scripts/ifup-$1 && /usr/local/etc/network-scripts/ifup-$1
ifdown-local:
#!/bin/bash
test -x /usr/local/etc/network-scripts/ifdown-$1 && /usr/local/etc/network-scripts/ifdown-$1
/usr/local/etc/network-scripts/ifup-eth47:
#!/bin/bash
ip route add default via 217.76.32.61 metric 5
/usr/local/etc/network-scripts/ifdown-eth47:
#!/bin/bash
ip route del default via 217.76.32.61
/usr/local/etc/network-scripts/ifup-eth11:
#!/bin/bash
ip route add default via 194.87.5.17 metric 15
/usr/local/etc/network-scripts/ifdown-eth11:
#!/bin/bash
ip route del default via 194.87.5.17
/etc/apcupsd/apccontrol doshutdown

berrywizard ★★★★★
()
Ответ на: комментарий от kronos

спасибо еще раз, работает как надо ^^°

kronos
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.