Там некоторый путь состоит в том, чтобы отключить сети путем передачи опции ядра через личинку? Prefereably я мог только отключить 2 интерфейса, но запрещающий все сети, будет хорошо также.
Мой вариант использования - то, что я работаю над операционной системой SELinux и хочу отключить доступ к сети, когда система находится в разрешающем режиме.
Править: Я использую CentOS 5.4
Много дистрибутивов отключат доступ к сети в runlevel 2, и большинство отключит его в runlevel 1, также названном "единственный режим", так как только единственная корневая консоль/оболочка запускается. Добавить 2
или 1
к строке начальной загрузки ядра, как желаемый.
Я не знаю ни о каком готовом решении. Что я сделал бы, чтобы иметь разрешающий runlevel и сжатый runlevel, принять меры только, чтобы постоянные интерфейсы были подняты автоматически и явно подняли другие интерфейсы в сжатом runlevel.
У Вас есть 4 настраиваемых runlevels, пронумерованные 2, 3, 4, 5. В зависимости от Вашего распределения они могут быть идентичными по умолчанию или нет. Обычно, чем больше runlevel число, тем больше служб активно. Скажем, мы хотим, чтобы runlevels 2 и 3 был разрешающим и 4 и 5, чтобы быть сжатым.
Не поднимайте опасные сетевые интерфейсы автоматически. Например, на Debian или Ubuntu, которая означает /etc/network/interfaces
объявляет опасные сетевые интерфейсы, но имеет нет auto
оператор для них; и никогда выполняемый Администратор сети.
Запишите сценарий /etc/init.d/tightened-mode
переключаться между разрешающим режимом и сжатым режимом. Что-то как (потребует излагающий в деталях):
case $1 in
start) switch SELinux to tightened mode; ifup eth1; ifup eth2;;
stop) ifdown eth1; ifdown eth2; switch SELinux to permissive mode;;
esac
Добавьте символьные ссылки K88tightened-mode
→ ../init.d/tightened-mode
в /etc/rc2.d
и /etc/rc3.d
. Добавьте символьные ссылки S12tightened-mode
→ ../init.d/tightened-mode
в /etc/rc4.d
и /etc/rc5.d
. Детали могут варьироваться в зависимости от какой init
вариант Вы используете.
Когда Вы загрузитесь, добавьте желаемое runlevel число в конце командной строки ядра, например,
корневой =/dev/sda1 ro magic=0xf00bar 2