Wie booten Sie Linux mit deaktiviertem Netzwerk?

6512
Jason Axelson

Gibt es eine Möglichkeit, das Netzwerk zu deaktivieren, indem Sie eine Kernel-Option über Grub übergeben? Ich könnte vorzugsweise nur 2 Schnittstellen deaktivieren, aber das Deaktivieren aller Netzwerke wäre auch in Ordnung.

Mein Anwendungsfall ist, dass ich an einem SELinux-Betriebssystem arbeite und den Netzwerkzugriff deaktivieren möchte, wenn sich das System im zulässigen Modus befindet.

Edit: Ich verwende CentOS 5.4

6
verwandt: https://unix.stackexchange.com/questions/197866/how-do-i-disable-network-interfaces-from-loading-at-boot-without-networkmanager Ciro Santilli 新疆改造中心 六四事件 法轮功 vor 6 Jahren 0

2 Antworten auf die Frage

3
Ignacio Vazquez-Abrams

Viele Distros deaktivieren den Netzwerkzugriff in Runlevel 2 und die meisten deaktivieren ihn in Runlevel 1, auch "Single Mode" genannt, da nur eine einzige Root-Konsole / Shell gestartet wird. Fügen Sie nach Bedarf 2oder 1zur Kernel-Bootline hinzu.

Danke, es sieht so aus, als würde CentOS das Netzwerk auf Runlevel 2 nicht standardmäßig deaktivieren, aber ich habe chkconfig verwendet, um es auf Runlevel 2 zu deaktivieren und dann ein ifup eth0 in rc.local. Und das ist gerade gut genug für meine Bedürfnisse. Jason Axelson vor 13 Jahren 0
1
Gilles

Ich kenne keine schlüsselfertige Lösung. Was ich tun würde, um einen zulässigen Runlevel und einen zugespannten Runlevel zu haben, veranlassen, dass nur die Always-On-Interfaces automatisch aktiviert werden, und explizit die anderen Interfaces im gespannten Runlevel.

  • Sie haben 4 konfigurierbare Runlevel, die mit 2, 3, 4, 5 nummeriert sind. Abhängig von Ihrer Distribution können sie standardmäßig identisch sein oder nicht. Je größer die Runlevel-Nummer ist, desto mehr Services sind im Allgemeinen aktiv. Nehmen wir an, wir wollen, dass Runlevel 2 und 3 tolerant sind und 4 und 5 angezogen werden.

  • Rufen Sie die riskanten Netzwerkschnittstellen nicht automatisch auf. Bei Debian oder Ubuntu bedeutet dies beispielsweise, dass /etc/network/interfacesdie riskanten Netzwerkschnittstellen deklariert werden, für die jedoch keine autoAngabe erfolgt. und niemals Network Manager ausführen.

  • Schreiben Sie ein Skript /etc/init.d/tightened-mode, um zwischen dem zulässigen Modus und dem verschärften Modus zu wechseln. Etwas wie (erfordert das Ausarbeiten):

    case $1 in start) switch SELinux to tightened mode; ifup eth1; ifup eth2;; stop) ifdown eth1; ifdown eth2; switch SELinux to permissive mode;; esac 
  • Fügen Sie symbolische Links hinzu K88tightened-mode../init.d/tightened-modein /etc/rc2.dund /etc/rc3.d. Fügen Sie symbolische Links hinzu S12tightened-mode../init.d/tightened-modein /etc/rc4.dund /etc/rc5.d. Die Details können je nach verwendeter initVariante variieren .

  • Fügen Sie beim Booten die gewünschte Runlevel-Nummer am Ende der Kernel-Befehlszeile hinzu, z. B.

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