Как вы загружаете Linux с отключенной сетью?

6404
Jason Axelson

Есть ли способ отключить сеть, передав опцию ядра через grub? Желательно, чтобы я мог отключить только 2 интерфейса, но отключить все сети тоже можно.

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

Изменить: я использую CentOS 5.4

6
связанные: https://unix.stackexchange.com/questions/197866/how-do-i-disable-network-interfaces-from-loading-at-boot-without-network-manager Ciro Santilli 新疆改造中心 六四事件 法轮功 6 лет назад 0

2 ответа на вопрос

3
Ignacio Vazquez-Abrams

Многие дистрибутивы отключают доступ к сети на уровне выполнения 2, а большинство отключают его на уровне запуска 1, также называемом «одиночным режимом», поскольку запускается только одна корневая консоль / оболочка. Добавьте 2или 1в строку загрузки ядра по желанию.

Спасибо, похоже, что CentOS не отключает работу сети на уровне выполнения 2 по умолчанию, но я использовал chkconfig, чтобы отключить его на уровне запуска 2, а затем сделал ifup eth0 в rc.local. И что это достаточно хорошо для моих нужд прямо сейчас. Jason Axelson 13 лет назад 0
1
Gilles

Я не знаю ни одного готового решения. Что бы я сделал, чтобы иметь разрешающий уровень запуска и сжатый уровень запуска, организовывать автоматическое включение только постоянно включенных интерфейсов и явно вызывать другие интерфейсы в сжатом уровне запуска.

  • У вас есть 4 настраиваемых уровня выполнения, пронумерованных 2, 3, 4, 5. В зависимости от вашего дистрибутива они могут быть идентичны по умолчанию или нет. Как правило, чем больше число уровней выполнения, тем больше служб активно. Допустим, мы хотим, чтобы уровни запуска 2 и 3 были разрешительными, а 4 и 5 - сжатыми.

  • Не включайте рискованные сетевые интерфейсы автоматически. Например, в Debian или Ubuntu это означает, что /etc/network/interfacesобъявляет опасные сетевые интерфейсы, но не имеет autoдля них никакого заявления; и никогда не запускайте Network Manager.

  • Напишите скрипт /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вариант вы используете.

  • При загрузке добавьте желаемый номер уровня выполнения в конце командной строки ядра, например,

    root = / dev / sda1 ro magic = 0xf00bar 2

Похожие вопросы