Полдня промучался на тему того, как застви��ь CentOS выполнить некий скрипт после поднятия интерфейса. После первого неудачного гугления появления первых трудностей заставил себя, однако, не действовать по принципу «Лучше грязный хак, чем долгий гемор»: удержался от втыкания костыля в
Дабы и коллег удержать от подобного пишу сюда результат своих изысканий.
1. В чистом виде аналог дебиановского post-up в CentOS отсутствуют. Не надо даже пытаться его искать.
2. Все, что есть, это некая фича описанная в Red Hat Knowledgebase DOC-8695
Если вкрадце: предлагается создать некий /sbin/ifup-local. В который затем поместить свой полезный (или бесполезный) код. Например:
Но это не наш метод. Хранить что-то относящееся к конфигурации в
3. Описанных в статье Настройка сети в Linux через конфиг-файлы, ч.1 каталогов
Исходя из 1,2,3 единственным правильным решением считаю размешение в
Соответственно, в
И напоследок, аналогично дело обстоит и с запуском кода перед поднятием интерфейса (
PS Работа велась на CentOS release 5.4 (Final). Ни одного сервера в результате вскрытия не пострадало.
/etc/sysconfig/network-scripts/ifup-ethДабы и коллег удержать от подобного пишу сюда результат своих изысканий.
1. В чистом виде аналог дебиановского post-up в CentOS отсутствуют. Не надо даже пытаться его искать.
2. Все, что есть, это некая фича описанная в Red Hat Knowledgebase DOC-8695
Если вкрадце: предлагается создать некий /sbin/ifup-local. В который затем поместить свой полезный (или бесполезный) код. Например:
#Set the MTU for eth0 only using the ip command
if [ "$1" = "eth0" ]; then
exec /sbin/ip link set dev ${1} mtu 1200
fiНо это не наш метод. Хранить что-то относящееся к конфигурации в
/sbin/ считаю неочевидным, и даже преступным по отношению к другим админам. Которым, возможно, придется работать с этой системой в будущем.3. Описанных в статье Настройка сети в Linux через конфиг-файлы, ч.1 каталогов
ifup.d и ifdown.d просто не нашлось. О них нет даже упоминания /etc/sysconfig/network-scripts/*Исходя из 1,2,3 единственным правильным решением считаю размешение в
/sbin/ скрипта ifup-local следующего содержания:#!/bin/bash
POSTUPNAME="/etc/sysconfig/network-scripts/post-up-$1"
if [ -x $POSTUPNAME ]; then
exec $POSTUPNAME
fiСоответственно, в
/etc/sysconfig/network-scripts/ после этого помещаются файлы post-up-eth0 и т.д. с полезным кодом внутри.И напоследок, аналогично дело обстоит и с запуском кода перед поднятием интерфейса (
/sbin/ifup-pre-local), перед его отключением (/sbin/ifdown-pre-local) и после его отключения (/sbin/ifdown-local).PS Работа велась на CentOS release 5.4 (Final). Ни одного сервера в результате вскрытия не пострадало.
