Ура! Это свершилось... Моя дорогая африканка воцарилась на сервере, т.к. dhcp норнально заработал. А помогло мне это сделать великое Open Source - сообщество.
Итак проблема с dhcp заключалась в том, что он почему-то падал после старта NetworkManager'а. Поэтому он был остановлен:
sudo /etc/init.d/NetworkManager stopИ из папок автозагрузки (rc.d) были удалены все его ссылки. А сеть настроена вручную правкой файла /etc/network/interface
# Обратная петляauto loiface lo inet loopback# Ethernet карта со статическим IPauto eth0iface eth0 inet staticaddress Х.Х.Х.X #ваш IP-адрес, например 192.168.0.1netmask 255.255.255.X #маска сетиgateway Х.Х.Х.X# IP-адрес шлюза (необязательно)hwaddress ether XX:XX:XX:XX:XX:XX #ваш MAC-адрес (необязательно)broadcast Х.Х.Х.X #широковещательный запросdns-nameservers Х.Х.Х.X Х.Х.Х.Х #первичный и вторичный DNS# Ethernet карта конфигурируеся по DHCPauto eth1iface eth1 inet dhcpСохраняем и перезапускаем сеть
sudo /etc/init.d/networking restartВыключить любое соединение можно командой:
sudo ifconfig ethX downгде Х - номер сетевой карты.
Хотелось бы отдельно коснуться этих папок, их в системе 8 шт. соответсвующие runlevel (0-6) :
/etc/rc0.d - уровень исполнения 0, выполняет скрипт при выключении системы.
/etc/rc1.d - уровень исполнения 1, однопользовательский режим (single user mode) аналогичен Safe Mode в Windows.
/etc/rc2.d - уровень исполнения 2, многопользовательский консольный режим
/etc/rc3.d - уровень исполнения 3, зарезервированно
/etc/rc4.d - уровень исполнения 4, зарезервированно
/etc/rc5.d - уровень исполнения 5, многопользовательский графический режим
/etc/rc6.d - уровень исполнения 6, выполнение при при перезагрузки
Папки содержат символические ссылки на скрипты в /etc/init.d/ с именем вида:
ABBNameгде
А - действие: K - завершить, S - запустить
BB - последовательность запуска: 0 - 99 чем меньше число, тем скорее исполниться скрипт
Name - имя скрипта из /etc/init.d
Например, запуск скрипта старта dhcp у меня:
S02dhcp3-serverСсылки можно создать вручную, например:
sudo ln -s /etc/ini.d/dhcp3-server /etc/rc3.d/S02dhcp3-serverили с помощью команды:
в Debian:
sudo ls -l /etc/rc?.d/*dhcp3-server - просмотреть на каких уровнях прописаны скрипты
sudo update-rc.d dhcp3-server defaults - установить запуск по умолчанию
sudo update-rc.d dhcp3-server start 20 2 3 4 5 - установить на уровни 2, 3, 4, 5 на запуск 20-мsudo update-rc.d dhcp3-server remove - убрать запуск
Fedora Core
sudo chkconfig --list dhcp3-server - просмотреть на каких уровнях прописаны скрипты
sudo chkconfig --add dhcp3-server - установить запуск по умолчанию
sudo chkconfig --level 2345 dhcp3-server on - установить на уровни 2, 3, 4, 5 на запускsudo chkconfig --del dhcp3-server - убрать запуск
SuSE
sudo chkconfig dhcp3-server - просмотреть на каких уровнях прописаны скрипты
sudo chkconfig dhcp3-server on - установить запуск по умолчанию
sudo chkconfig dhcp3-server 2345 - установить на уровни 2, 3, 4, 5 на запуск
sudo chkconfig dhcp3-server off - убрать запуск
в Gentoo:
sudo rc-update add dhcp3-server defaultАргументы следующие:
действие init.d_скрипт уровен_загрузкиДействие может быть:add/on (добавить), del/off/remove (удалить) или show (показать).
Уровни запуска: boot, default, nonetwork и single. Уровень boot запускает все службы, необходимые системе и используемые всеми остальными уровнями. Остальные уровни отличаются друг от друга запускаемыми службами: default используется для повседневной работы, nonetwork — для тех случаев, когда не требуется сеть, а single — при необходимости восстановления системы.
В папке
/etc/init.d расположены сами скрипты. Каждый сценарий из
/etc/init.d может запускаться с аргументами
start,
stop,
restart,
pause,
zap,
status, reload, force-reload,
ineed,
iuse,
needsme,
usesme и
broken. Параметры зависят в основном от самих скриптов и вашего дистрибутива, обязательными же являются start и stop.
Для запуска, остановки или перезапуска службы (и всех, зависящих от нее) следует использовать
start,
stop и
restart.
Обычно для прочтения демоном новых настроек без его остановки используют reload.
Если вы хотите остановить службу, но оставить зависимые от нее работающими, можно использовать аргумент
pause.
Чтобы узнать текущее состояние службы (запущена, остановлена, приостановлена и т.д.), можно использовать аргумент
status.
Если указано, что служба работает, но вы знаете, что это не так, можно сбросить состояние на stopped (остановлена), используя аргумент
zap.
Для того, чтобы выяснить зависимости службы, можно использовать аргументы
iuse или
ineed. С помощью
ineed вы увидите те службы, которые действительно необходимы для правильного функционирования интересующей вас службы. С другой стороны,
iuse покажет те службы, которые могут использоваться нашей службой, но не обязательны для ее работы.
Аналогично вы можете узнать, какие службы нуждаются в данной службе (
needsme) или могут ее использовать (
usesme).
Наконец, можно просмотреть список служб, требующихся для данной, но отсутствующих в системе (broken).
В отличии от многих других классический Linux дистрибьютивов (Slackware), Ubuntu и Debian использует upstart для запуска скриптов инициализации. Поэтому не удивляйтесь, если в /etc/ не окажется файла inittab (его заменили скрипты upstart, которые находятся в /etc/event.d). Upstart это замена демону init, которая контролирует процессы и задачи во время загрузки, выключения системы и непосредственно во время работы.
Кроме того в системе есть скрипт /etc/rc.local, также предназначенный для целей автозапуска. Занеся в который любую команду, до строки exit0, вы получите ее исполнение.
По материалам:
www.gentoo.org,
www.openkazan.info/node/1531,
linsovet.com/rc.d-add-remove и моей светлой головы :)