在禁用网络的情况下如何启动 Linux?

在禁用网络的情况下如何启动 Linux?

有没有办法通过 grub 传递内核选项来禁用网络?最好只禁用 2 个接口,但禁用所有网络也可以。

我的用例是,我正在使用 SELinux 操作系统,并且想要在系统处于宽容模式时禁用网络访问。

编辑:我正在使用 CentOS 5.4

答案1

许多发行版会在运行级别 2 中禁用网络访问,大多数会在运行级别 1 中禁用它,也称为“单一模式”,因为只启动一个根控制台/shell。根据需要将2或添加1到内核启动行。

答案2

我不知道有任何一劳永逸的解决方案。我会怎么做呢?设置一个宽松的运行级别和一个严格的运行级别,安排只自动启动始终开启的接口,并在严格的运行级别中明确启动其他接口。

  • 您有 4 个可配置的运行级别,编号为 2、3、4、5。根据您的发行版,它们可能默认相同或不同。通常,运行级别编号越大,活动服务越多。假设我们希望运行级别 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您使用的变体而异。

  • 启动时,在内核命令行末尾添加所需的运行级别编号,例如,

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

相关内容