Was ist Netzwerke und wie kann man es reparieren? Was ist NFS? Netzwerkdateisystem. Network File System Access Protocol Wozu dient die Netzwerkdatei in Windows?

Das Network File Server (NFS)-Protokoll ist ein offener Standard, um Benutzern den Fernzugriff auf Dateisysteme zu ermöglichen. Seine zentralisierten Dateisysteme erleichtern die Durchführung alltäglicher Aufgaben wie Backups oder Virenscans, und konsolidierte Festplattenpartitionen sind einfacher zu warten als viele kleine und verteilte.

Neben der Bereitstellung zentralisierter Speicherfunktionen hat sich NFS als sehr nützlich für andere Anwendungen erwiesen, darunter plattenlose und Thin Clients, Netzwerk-Clustering und kollaborative Middleware.

Ein besseres Verständnis sowohl des Protokolls selbst als auch der Details seiner Implementierung erleichtert die Bewältigung praktischer Aufgaben. Dieser Artikel konzentriert sich auf NFS und besteht aus zwei logischen Teilen: Zuerst beschreibt er das Protokoll selbst und die Ziele, die während seiner Entwicklung festgelegt wurden, und dann die Implementierung von NFS auf Solaris und UNIX.

WO ALLES BEGANN MIT ...

NFS wurde von Sun Microsystems entwickelt und erschien 1989 im Internet als RFC 1094 unter dem Titel Network File System Protocol Specification (NFS). Interessant ist, dass die Strategie von Novell damals darin bestand, File Services weiter zu verbessern. Bis vor kurzem, bevor die Open-Source-Bewegung an Fahrt gewann, wollte Sun die Geheimnisse seiner Netzwerklösungen nicht enthüllen, aber schon damals wusste das Unternehmen, wie wichtig die Interoperabilität mit anderen Systemen ist.

RFC 1094 enthielt zwei ursprüngliche Spezifikationen. Sun entwickelte zum Zeitpunkt der Veröffentlichung bereits die nächste, dritte Version der Spezifikation, die in der RFC 1813 NFS Version 3 Protocol Specification festgeschrieben ist. Version 4 dieses Protokolls ist in RFC 3010 NFS Version 4 Protocol definiert.

NFS wird häufig auf allen Arten von UNIX-Hosts, Microsoft- und Novell-Netzwerken und IBM-Lösungen wie AS400 und OS / 390 verwendet. Außerhalb des Netzwerkreichs unbekannt, ist NFS vielleicht das am weitesten verbreitete plattformunabhängige Netzwerkdateisystem.

DER PROFESSOR WAR UNIX

Obwohl NFS ein plattformunabhängiges System ist, ist UNIX sein Vorfahre. Mit anderen Worten, die Hierarchie der Architektur und die Methoden für den Zugriff auf Dateien, einschließlich der Struktur des Dateisystems, der Identifizierung von Benutzern und Gruppen und der Arbeit mit Dateien, sind dem UNIX-Dateisystem sehr ähnlich. Beispielsweise wird das NFS-Dateisystem, das in seiner Struktur mit dem UNIX-Dateisystem identisch ist, direkt darauf gemountet. Bei der Arbeit mit NFS auf anderen Betriebssystemen werden Benutzeranmeldeinformationen und Dateiberechtigungen zugeordnet.

NFS

NFS ist für die Verwendung in einer Client-Server-Architektur konzipiert. Der Client greift über einen Mount-Punkt auf dem Client auf das vom NFS-Server exportierte Dateisystem zu. Dieser Zugriff ist normalerweise für die Clientanwendung transparent.

Im Gegensatz zu vielen Client/Server-Systemen verwendet NFS Remote Procedure Calls (RPCs), um Informationen auszutauschen. Typischerweise baut der Client eine Verbindung zu einem vorbestimmten Port auf und sendet dann in Übereinstimmung mit den Besonderheiten des Protokolls eine Anfrage zum Ausführen einer bestimmten Aktion. Bei einem entfernten Prozeduraufruf erstellt der Client einen Prozeduraufruf und sendet ihn dann zur Ausführung an den Server. Eine detaillierte Beschreibung von NFS wird unten präsentiert.

Angenommen, ein Client hat das Verzeichnis usr2 im lokalen Root-Dateisystem gemountet:

/root /usr2 / -> entfernt: /root /usr /

Benötigt eine Client-Anwendung die Ressourcen dieses Verzeichnisses, schickt sie einfach eine Anfrage an das Betriebssystem dafür und nach dem Dateinamen, und dieses gewährt den Zugriff über den NFS-Client. Betrachten Sie als Beispiel einen einfachen UNIX-Befehl cd, der "nichts weiß" über Netzwerkprotokolle. Befehl

CD / root / usr2 /

legt das Arbeitsverzeichnis auf dem entfernten Dateisystem ab, "ohne zu wissen" (der Benutzer braucht dies auch nicht), dass das Dateisystem entfernt ist.

Nach Erhalt der Anfrage überprüft der NFS-Server, ob der angegebene Benutzer berechtigt ist, die angeforderte Aktion auszuführen, und führt sie bei positiver Antwort aus.

LASST UNS NÄHER KOMMEN

Aus Sicht des Kunden umfasst der Prozess des lokalen Mountens eines Remote-Dateisystems mithilfe von NFS mehrere Schritte. Wie bereits erwähnt, gibt der NFS-Client einen Remoteprozeduraufruf zur Ausführung auf dem Server aus. Beachten Sie, dass der Client unter UNIX ein einzelnes Programm ist (mount-Befehl), während der Server tatsächlich als mehrere Programme mit dem folgenden minimalen Satz implementiert ist: Portmapper, Mount-Daemon und NFS-Server ...

Anfänglich interagiert der Client-Mount-Befehl mit dem Port-Übersetzungsdienst des Servers, der auf Anfragen an Port 111 lauscht. Die meisten Client-Mount-Implementierungen unterstützen mehrere Versionen von NFS, was die Wahrscheinlichkeit erhöht, eine gemeinsame Protokollversion zwischen Client und Server zu finden. Die Suche wird beginnend mit der ältesten Version durchgeführt. Wenn eine gemeinsame Version gefunden wird, wird diese automatisch zur neuesten Version, die vom Client und vom Server unterstützt wird.

(Das präsentierte Material konzentriert sich auf die dritte Version von NFS, da diese derzeit am weitesten verbreitet ist. Die vierte Version wird von den meisten Implementierungen noch nicht unterstützt.)

Der Port-Übersetzungsdienst des Servers antwortet auf Anfragen basierend auf dem unterstützten Protokoll und Port, auf dem der Mount-Daemon läuft. Das Mount-Client-Programm stellt zuerst eine Verbindung zum Server-Mount-Daemon her und sendet dann den Mount-Befehl per RPC an ihn. Wenn diese Prozedur erfolgreich ist, verbindet sich die Client-Anwendung mit dem NFS-Server (Port 2049) und erhält mithilfe einer der 20 Remote-Prozeduren, die in RFC 1813 definiert und in Tabelle 1 aufgeführt sind, Zugriff auf das Remote-Dateisystem.

Die Bedeutung der meisten Befehle ist intuitiv und bereitet Systemadministratoren keine Schwierigkeiten. Die folgende tcdump-Auflistung veranschaulicht den Lesebefehl, der vom UNIX-Befehl cat generiert wird, um eine Datei namens test-file zu lesen:

10:30: 16.01.2010 eth0> 192.168.1.254. 3476097947> 192.168.1.252.2049: 144 lookup fh 32.0 / 224145 "test-file" 10: 30: 16.01.2010 eth0> 192.168.1.254. 3476097947> 192.168.1.252.2049: 144 lookup fh 32.0 / 224145 "test-file" 10: 30: 16.012729 eth0 192.168.1.254.3476097947: antworten ok 128 lookup fh 32.0 / 224307 (DF) 10:30: 16.012729 eth0 192.168. 1.254.3476097947: Antwort ok 128 lookup fh 32.0 / 224307 (DF) 10: 30: 16.013124 eth0> 192.168.1.254. 3492875163> 192.168.1.252.2049: 140 lesen fh 32,0 / 224307 4096 Byte @ 0 10: 30: 16.013124 eth0> 192.168.1.254. 3492875163> 192.168.1.252.2049: 140 lesen fh 32,0 / 224307 4096 Byte @ 0 10: 30: 16.013650 eth0 192.168.1.254.3492875163: antworten ok 108 lesen (DF) 10: 30: 16.013650 eth0 192.168.1.254.3492875163 : antworten ok 108 gelesen (DF)

NFS wird traditionell über UDP implementiert. Einige Versionen von NFS unterstützen jedoch TCP (die TCP-Unterstützung ist in der Protokollspezifikation definiert). Der Hauptvorteil von TCP ist ein effizienterer Neuübertragungsmechanismus in unzuverlässigen Netzwerken. (Bei UDP wird im Fehlerfall die komplette RPC-Nachricht, bestehend aus mehreren UDP-Paketen, erneut gesendet. Bei TCP wird nur das Bruchstück erneut gesendet.)

ZUGRIFF IN NFS

NFS-Implementierungen unterstützen im Allgemeinen vier Arten der Gewährung von Zugriffsrechten: durch Benutzer-/Dateiattribute, auf der Ebene der gemeinsam genutzten Ressourcen, auf der Ebene des Masterknotens und eine Kombination anderer Zugriffsmethoden.

Die erste Methode basiert auf dem integrierten Dateiberechtigungssystem von UNIX für einen einzelnen Benutzer oder eine Gruppe. Um die Wartung zu vereinfachen, sollten Benutzer- und Gruppenidentitäten über alle NFS-Clients und -Server hinweg konsistent sein. Sicherheit sollte sorgfältig bedacht werden: NFS kann versehentlich Zugriff auf Dateien gewähren, die bei ihrer Erstellung nicht beabsichtigt waren.

Der Zugriff auf gemeinsam genutzte Ressourcen ermöglicht Ihnen, Rechte einzuschränken, um nur bestimmte Aktionen zuzulassen, unabhängig von Dateibesitz oder UNIX-Berechtigungen. Beispielsweise kann die Arbeit mit dem NFS-Dateisystem auf das Lesen beschränkt werden. Die meisten NFS-Implementierungen ermöglichen es Ihnen, den Zugriff auf freigegebene Ressourcen auf bestimmte Benutzer und / oder Gruppen weiter einzuschränken. Zum Beispiel darf die Gruppe "Human Resources" Informationen anzeigen und nicht mehr.

Der Master-Knoten-Zugriff erlaubt nur das Einhängen des Dateisystems auf bestimmten Knoten, was im Allgemeinen eine gute Idee ist, da Dateisysteme problemlos auf jedem NFS-fähigen Knoten erstellt werden können.

Der Combo-Zugriff kombiniert einfach die oben genannten Typen (z. B. Zugriff auf der Ebene gemeinsam genutzter Ressourcen mit Zugriff, der einem bestimmten Benutzer gewährt wird) oder ermöglicht es Benutzern, nur von einem bestimmten Knoten aus mit NFS zu arbeiten.

NFS IM PINGUIN-STIL

Das präsentierte Linux-bezogene Material basiert auf Red Hat 6.2 mit einem 2.4.9-Kernel, der mit dem 0.1.6 nfs-utils-Paket ausgeliefert wird. Es gibt neuere Versionen: Zum Zeitpunkt der Erstellung dieses Artikels ist das neueste Update des nfs-utils-Pakets 0.3.1. Es kann heruntergeladen werden unter:.

Das Paket nfs-utils enthält die folgenden Binärdateien: exportfs, lockd, mountd, nfsd, nfsstat, nhfsstone, rquotad, showmount und statd.

Leider ist die NFS-Unterstützung manchmal für Linux-Administratoren verwirrend, da die Verfügbarkeit dieser oder jener Funktionalität direkt von den Versionsnummern sowohl des Kernels als auch des nfs-utils-Pakets abhängt. Glücklicherweise verbessert sich die Situation in diesem Bereich derzeit: Die neuesten Distributionskits enthalten die neuesten Versionen von beiden. Für frühere Versionen bietet Abschnitt 2.4 des NFS-HOWTO eine vollständige Liste der Systemfunktionen, die für jede Kombination aus Kernel und nfs-utils-Paket verfügbar sind. Die Entwickler behalten die Abwärtskompatibilität des Pakets mit früheren Versionen mit einem starken Fokus auf Sicherheit und Fehlerbehebungen bei.

Die NFS-Unterstützung sollte zum Zeitpunkt der Kernel-Kompilierung initiiert werden. Gegebenenfalls sollte dem Kernel auch die NFS-Version 3-Fähigkeit hinzugefügt werden.

Bei Distributionen, die linuxconf unterstützen, ist es einfach, NFS-Dienste sowohl für Clients als auch für Server zu konfigurieren. Die schnelle Installation von NFS mit linuxconf liefert jedoch keine Informationen darüber, welche Dateien erstellt oder bearbeitet wurden, was für einen Administrator sehr wichtig ist, um die Situation bei einem Systemausfall zu verstehen. Die NFS-Architektur von Linux ist eng mit BSD verwandt, sodass die erforderlichen Dateien und Hilfsprogramme für Administratoren mit BSD, Sun OS 2.5 oder früheren Versionen von NFS leicht zu finden sind.

Die Datei /etc/exports definiert wie in früheren BSD-Versionen die Dateisysteme, auf die NFS-Clients zugreifen dürfen. Darüber hinaus enthält es eine Reihe zusätzlicher Funktionen im Zusammenhang mit Management- und Sicherheitsproblemen, die dem Administrator eine Möglichkeit zur Feinabstimmung geben. Es ist eine Textdatei, die aus Einträgen, leeren oder auskommentierten Zeilen besteht (Kommentare beginnen mit einem #).

Nehmen wir an, wir möchten Clients schreibgeschützten Zugriff auf das / home-Verzeichnis auf dem Lefty-Knoten geben. Der folgende Eintrag entspricht dem in /etc/exports:

/ Zuhause (ro)

Hier müssen wir dem System mitteilen, welche Verzeichnisse wir mit dem Mount-Daemon rpc.mountd verfügbar machen:

# exportfs -r exportfs: Kein Hostname in /home (ro) angegeben, geben Sie * (ro) ein, um Warnungen zu vermeiden #

Beim Ausführen gibt der Befehl exportfs eine Warnung aus, dass /etc/exports den Zugriff auf einen bestimmten Knoten nicht einschränkt, und erstellt einen entsprechenden Eintrag in /var/lib/nfs/etab von /etc/exports, der angibt, welche Ressourcen mit cat angezeigt werden können :

# cat / var / lib / nfs / etab / home (ro, async, wdelay, hide, secure, root_squash, no_all_squash, subtree_check, secure_locks, mapping = identity, anonuid = -2, anongid = -2)

Andere Optionen, die in etab aufgeführt sind, umfassen die von NFS verwendeten Standardeinstellungen. Einzelheiten werden unten beschrieben. Um den Zugriff auf das / home-Verzeichnis zu gewähren, müssen die entsprechenden NFS-Dienste gestartet werden:

# portmap # rpc.mountd # rpc.nfsd # rpc.statd # rpc.rquotad

Über den Inhalt der Datei /proc/fs/nfs/exports können Sie sich jederzeit nach dem Starten des Mount-Daemons (rpc.mountd) über die einzelnen zur Ausgabe verfügbaren Dateien informieren:

# cat / proc / fs / nfs / exports # Version 1.0 # Pfad Client (Flags) # IPs / home 192.168.1.252 (ro, root_squash, async, wdelay) # 192.168.1.252 #

Das gleiche kann mit dem Befehl showmount mit dem Parameter -e angezeigt werden:

# showmount -e Exportliste für Lefty: / home (everyone) #

Der Befehl showmount, der mir etwas voraus ist, kann auch verwendet werden, um alle gemounteten Dateisysteme zu identifizieren, oder anders ausgedrückt, um herauszufinden, welche Knoten NFS-Clients für das System sind, auf dem der Befehl showmount ausgeführt wird. Der Befehl showmount -a listet alle Client-Mount-Punkte auf:

# showmount -a Alle Mount-Punkte auf Lefty: 192.168.1.252:/home #

Wie oben erwähnt, unterstützen die meisten NFS-Implementierungen verschiedene Versionen dieses Protokolls. Mit der Linux-Implementierung können Sie die Liste der auszuführenden NFS-Versionen einschränken, indem Sie den Schalter -N für den Mount-Daemon angeben. Um beispielsweise NFS Version 3 und nur Version 3 zu starten, geben Sie den folgenden Befehl ein:

# rpc.montiert -N 1 -N 2

Anspruchsvolle Benutzer finden es möglicherweise unpraktisch, dass der NFS-Daemon (rpc.nfsd) unter Linux auf Pakete der Version 1 und Version 2 wartet, obwohl dies den gewünschten Effekt erzielt, das entsprechende Protokoll nicht zu unterstützen. Hoffen wir, dass die Entwickler der nächsten Versionen die notwendigen Korrekturen vornehmen und eine größere Konsistenz der Paketkomponenten in Bezug auf verschiedene Versionen des Protokolls erreichen können.

"SCHWIMMEN MIT PINGUINS"

Der Zugriff auf die oben konfigurierte Lefty, ein Linux-basiertes NFS-exportiertes Dateisystem, hängt vom Client-Betriebssystem ab. Der Installationsstil für die meisten UNIX-Betriebssysteme entspricht entweder dem ursprünglichen Sun OS- und BSD-System oder dem neueren Solaris. Da sich dieser Artikel sowohl auf Linux- als auch auf Solaris-Systeme konzentriert, betrachten wir die Solaris 2.6-Clientkonfiguration im Hinblick auf das Herstellen einer Verbindung mit der oben beschriebenen Linux-Version von NFS.

Die von Solaris 2.6 übernommenen Funktionen erleichtern die Konfiguration als NFS-Client. Dies erfordert nur einen Befehl:

# mount -F nfs 192.168.1.254:/home / tmp / tmp2

Angenommen, der vorherige Mount-Befehl war erfolgreich, dann wird der Mount-Befehl ohne Parameter Folgendes ausgeben:

# mount / on / dev / dsk / c0t0d0s0 read / write / setuid / largefiles on Mo Sep 3 10:17:56 2001 ... ... / tmp / tmp2 on 192.168.1.254:/home read / write / remote on Mo 3. September 23:19:25 2001

Analysieren wir die tcpdump-Ausgabe des Lefty-Knotens, nachdem der Benutzer den Befehl ls / tmp / tmp2 am Sunny-Knoten eingegeben hat:

# tcpdump host lefty und host sonnig -s512 06: 07: 43.490583 sunny.2191983953> lefty.mcwrite.n.nfs: 128 getattr fh Unbekannt / 1 (DF) 06: 07: 43.490678 lefty.mcwrite.n.nfs> sonnig. 2191983953: Antwort ok 112 getattr DIR 40755 ids 0/0 sz 0x0000001000 (DF) 06: 07: 43.491397 sunny.2191983954> lefty.mcwrite.n.nfs: 132 Zugriff fh Unbekannt / 10001 (DF) 06: 07: 43.491463 lefty. mcwrite.n.nfs> sunny.2191983954: Antwort ok 120 access c0001 (DF) 06: 07: 43.492296 sunny.2191983955> lefty.mcwrite.n.nfs: 152 readdirplus fh 0,1 / 16777984 1048 Byte @ 0x000000000 (DF) 06: 07: 43.492417 lefty.mcwrite.n.nfs> sunny.2191983955: Antwort ok 1000 readdirplus (DF)

Wir sehen, dass Sunny ls nach einem Dateideskriptor (fh) fragt, worauf Lefty mit OK antwortet und die Verzeichnisstruktur zurückgibt. Anschließend prüft Sunny die Berechtigung für das Recht auf den Inhalt des Verzeichnisses (132 Zugriff fh) und erhält eine Berechtigungsantwort von Lefty. Sunny liest dann den kompletten Verzeichnisinhalt mit der Routine readdirplus aus. Remoteprozeduraufrufe werden in RFC 1813 beschrieben und wir haben am Anfang dieses Artikels darauf verwiesen.

Obwohl die Befehlsfolge für den Zugriff auf entfernte Dateisysteme sehr einfach ist, können eine Reihe von Umständen zu einem falschen System-Mount führen. Der Einhängepunkt muss bereits vorhanden sein, bevor das Verzeichnis eingehängt werden kann, andernfalls muss er mit dem Befehl mkdir erstellt werden. Normalerweise ist die einzige Ursache für clientseitige Fehler das Fehlen eines lokalen Mount-Verzeichnisses. Die meisten Probleme mit NFS sind auf eine Nichtübereinstimmung zwischen Client und Server oder eine falsche Serverkonfiguration zurückzuführen.

Die einfachste Möglichkeit, Serverprobleme zu beheben, ist von der Site aus, auf der der Server ausgeführt wird. Wenn jedoch jemand anders als Sie den Server verwaltet, ist dies nicht immer möglich. Eine schnelle Möglichkeit sicherzustellen, dass die entsprechenden Serverdienste richtig konfiguriert sind, besteht darin, den Befehl rpcinfo mit dem Parameter -p zu verwenden. Vom Solaris Sunny Host aus können Sie ermitteln, welche RPC-Prozesse auf dem Linux-Host registriert sind:

# rpcinfo -p 192.168.1.254 Programm-Vers-Proto-Port-Dienst 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100024 1 udp 692 status 100024 1 tcp 694 status 100005 3 udp 1024 mountd / 100005 3 tcp 1024 mountd 100003 2 udp 100003 3 .n udp 2049 nfs 100021 1 udp 1026 nlockmgr 100021 3 udp 1026 nlockmgr 100021 4 udp 1026 nlockmgr #

Beachten Sie, dass hier auch Versionsinformationen bereitgestellt werden, was sehr nützlich ist, wenn das System Unterstützung für verschiedene NFS-Protokolle benötigt. Wenn auf dem Server kein Dienst ausgeführt wird, sollte diese Situation korrigiert werden. Wenn das Einhängen fehlschlägt, zeigt der folgende Befehl rpcinfo -p an, dass der Dienst mountd auf dem Server ausgefallen ist:

# rpcinfo -p 192.168.1.254 Programm-Vers-Proto-Port-Dienst 100000 2 tcp 111 rpcbind ... ... 100021 4 udp 1026 nlockmgr #

Der Befehl rpcinfo ist sehr nützlich, um herauszufinden, ob ein bestimmter entfernter Prozess aktiv ist. Die Option -p ist die wichtigste der Optionen. Eine vollständige Übersicht über die Funktionen von rpcinfo finden Sie auf der man-Seite.

Ein weiteres nützliches Werkzeug ist der Befehl nfsstat. Es kann verwendet werden, um herauszufinden, ob Clients tatsächlich auf das exportierte Dateisystem zugreifen, sowie statistische Informationen gemäß der Protokollversion anzuzeigen.

Schließlich ist tcpdump ein weiteres nützliches Werkzeug, um die Ursache von Systemabstürzen zu ermitteln:

# tcpdump host lefty und host sunny -s512 tcpdump: Listening on eth0 06: 29: 51.773646 sunny.2191984020> lefty.mcwrite.n.nfs: 140 lookup fh Unknown / 1 "test.c" (DF) 06: 29: 51.773819 lefty.mcwrite.n.nfs> sunny.2191984020: Antwort ok 116 lookup ERROR: No such file or directory (DF) 06: 29: 51.774593 Sunny.2191984021> lefty.mcwrite.n.nfs: 128 getattr fh Unbekannt / 1 ( DF) 06: 29: 51.774670 lefty.mcwrite.n.nfs> sunny.2191984021: Antwort ok 112 getattr DIR 40755 ids 0/0 sz 0x0000001000 (DF) 06: 29: 51.775289 Sunny.2191984022> lefty.mcwrite.n.nfs : 140 lookup fh Unknown / 1 "test.c" (DF) 06: 29: 51.775357 lefty.mcwrite.n.nfs> sunny.2191984022: Antwort ok 116 lookup ERROR: No such file or directory (DF) 06:29: 51.776029 sunny.2191984023> lefty.mcwrite.n.nfs: 184 fh erstellen Unbekannt / 1 "test.c" (DF) 06: 29: 51.776169 lefty.mcwrite.n.nfs> sunny.2191984023: Antwort ok 120 erstellen FEHLER: Erlaubnis verweigert (DF)

Die obige Auflistung, die nach der Ausführung des touch test.c-Statements erhalten wurde, spiegelt die folgende Abfolge von Aktionen wider: Zuerst versucht der touch-Befehl, auf die Datei namens test.c zuzugreifen, dann sucht er nach einem Verzeichnis mit demselben Namen und nach erfolglosem versucht, die Datei test.c zu erstellen, was ebenfalls nicht zum Erfolg führt.

Wenn das Dateisystem eingehängt ist, beziehen sich die häufigsten Fehler auf normale UNIX-Berechtigungen. Suns Verwendung von uid oder NIS+ vermeidet das globale Setzen von Berechtigungen für alle Dateisysteme. Einige Administratoren praktizieren "offene" Verzeichnisse, in denen "der ganzen Welt" Leseberechtigungen erteilt werden. Dies sollte jedoch aus Sicherheitsgründen vermieden werden. Abgesehen von Sicherheitsproblemen müssen Sie immer noch zugeben, dass dies eine schlechte Praxis ist, da Benutzer selten Daten erstellen, um sie für jeden lesbar zu machen.

Der Zugriff des Superusers (root) auf eingehängte NFS-Dateisysteme wird anders behandelt. Um einem privilegierten Benutzer keinen uneingeschränkten Zugriff zu gewähren, werden Anfragen des Root-Benutzers so behandelt, als kämen sie vom Benutzer none. Dieser leistungsstarke Mechanismus beschränkt den privilegierten Benutzerzugriff auf global lesbare und beschreibbare Dateien.

NFS-SERVER SOLARIS-VERSION

Die Konfiguration von Solaris als NFS-Server ist so einfach wie bei Linux. Die Befehle und Dateispeicherorte unterscheiden sich jedoch geringfügig. Wenn Solaris hochfährt und Runlevel 3 erreicht, werden NFS-Dienste automatisch gestartet und alle Dateisysteme werden exportiert. Um diese Prozesse manuell zu starten, geben Sie den Befehl ein:

# /usr/lib/nfs/mountd

Geben Sie Folgendes ein, um den Mount-Daemon und den NFS-Server zu starten:

# /usr/lib/nfs/nfsd

Ab Version 2.6 verwendet Solaris keine Exportdatei mehr, um exportierte Dateisysteme anzugeben. Die Dateien werden nun mit dem Share-Befehl exportiert. Nehmen wir an, wir möchten Remote-Hosts das Mounten / Exportieren / Home ermöglichen. Geben wir dazu folgenden Befehl ein:

Teilen -F nfs / export / home

Sicherheitsmaßnahmen

SICHERHEIT IN LINUX

Einige Linux-basierte NFS-Systemdienste verfügen über einen zusätzlichen Mechanismus, um den Zugriff über Kontrolllisten oder Tabellen einzuschränken. Intern wird dieser Mechanismus mithilfe der Bibliothek tcp_wrapper implementiert, die zwei Dateien verwendet, um Zugriffskontrolllisten zu generieren: /etc/hosts.allow und /etc/hosts/deny. Ein umfassender Überblick über die Regeln für die Arbeit mit tcp_wrapper würde den Rahmen dieses Artikels sprengen, aber das Grundprinzip ist wie folgt: Das Mapping erfolgt zuerst mit etc/hosts.allow und dann mit /etc/hosts. aberkennen. Wenn die Regel nicht gefunden wird, wird der angeforderte Systemdienst nicht präsentiert. Um letztere Anforderung zu umgehen und ein sehr hohes Maß an Sicherheit zu gewährleisten, können Sie am Ende von /etc/hosts.deny den folgenden Eintrag hinzufügen:

Alles alles

Danach können Sie mit /etc/hosts.allow diesen oder jenen Betriebsmodus einstellen. Zum Beispiel die Datei /etc/hosts. Die Erlaubnis, die ich beim Schreiben dieses Artikels verwendet habe, enthielt die folgenden Zeilen:

Lockd: 192.168.1.0/255.255.255.0 Mountd: 192.168.1.0/255.255.255.0 Portmap: 192.168.1.0/255.255.255.0 Rquotad: 192.168.1.0/255.255.255.0 statd: 192.168.1.0/255.255.255.0

Dies ermöglicht eine bestimmte Art des Zugriffs auf die Knoten, bevor der Zugriff auf Anwendungsebene gewährt wird. Unter Linux wird der Zugriff auf Anwendungsebene durch die Datei /etc/exports gesteuert. Es besteht aus Datensätzen im folgenden Format:

Exportiertes Verzeichnis (Leerzeichen) Knoten | Netzwerk (Optionen)

Das "exportierte Verzeichnis" ist das Verzeichnis, für das der nfsd-Daemon Anfragen bearbeiten darf. "Host | Netzwerk" ist der Knoten oder das Netzwerk, das Zugriff auf das exportierte Dateisystem hat, und "Optionen" definieren die Einschränkungen, die der nfsd-Daemon für die Verwendung dieser gemeinsam genutzten Ressource auferlegt - schreibgeschützter Zugriff oder Benutzer-ID-Zuordnung ...

Im folgenden Beispiel erhält die gesamte Domäne mcwrite.net schreibgeschützten Zugriff auf /home/mcwrite.net:

/home/mcwrite.net * .mcwrite.net (ro)

Weitere Beispiele finden Sie auf der Manpage exports.

NFS-SICHERHEIT IN SOLARIS

Unter Solaris ist die Möglichkeit, NFS-Zugriff bereitzustellen, ähnlich wie bei Linux, aber in diesem Fall werden Einschränkungen mithilfe bestimmter Parameter im Share-Befehl mit dem Schalter -o festgelegt. Das folgende Beispiel zeigt, wie Sie den schreibgeschützten Mount /export/mcwrite.net auf einem beliebigen Host in der mcwrite.net-Domäne aktivieren:

#share -F nfs -o ro = .mcwrite.net / export / mcwrite.net

Die Manpage für share_nfs beschreibt detailliert, wie Sie den Zugriff mithilfe von Kontrolllisten unter Solaris gewähren.

Internetressourcen

NFS und RPC sind nicht ohne Löcher. Im Allgemeinen sollte NFS nicht im Internet verwendet werden. Firewalls sollten keine „Löcher“ sein, indem sie irgendeine Art von NFS-Zugriff bereitstellen. Halten Sie Ausschau nach RPC- und NFS-Patches, die auftauchen, und zahlreiche Quellen für Sicherheitsinformationen können Ihnen dabei helfen. Die beiden beliebtesten Quellen sind Bugtraq und CERT:

Die erste kann regelmäßig auf der Suche nach den notwendigen Informationen eingesehen werden oder ein Abonnement eines periodischen Newsletters verwenden. Die zweite bietet im Vergleich zu anderen vielleicht nicht so schnell Informationen, aber in einem ziemlich vollständigen Band und ohne einen Hauch von Sensationslust, der einigen Websites zur Informationssicherheit innewohnt.

Wenn es um Computernetzwerke geht, hört man oft die Erwähnung von NFS. Was bedeutet dieses Akronym?

Es ist ein verteiltes Dateisystemprotokoll, das ursprünglich 1984 von Sun Microsystems entwickelt wurde und es einem Benutzer auf einem Client-Computer ermöglicht, auf Dateien über ein Netzwerk zuzugreifen, ähnlich dem Zugriff auf lokalen Speicher. NFS basiert wie viele andere Protokolle auf dem Open Network Computing Remote Procedure Call (ONC RPC)-System.

Mit anderen Worten, was ist NFS? Es ist ein offener Standard, der im Request for Comments (RFC) definiert ist und es jedem ermöglicht, das Protokoll zu implementieren.

Versionen und Variationen

Der Erfinder verwendete nur die erste Version für eigene Versuchszwecke. Als das Entwicklungsteam wesentliche Änderungen am ursprünglichen NFS vornahm und es außerhalb des Eigentums von Sun veröffentlichte, bezeichneten sie die neue Version als v2, damit die Interoperabilität zwischen den Distributionen getestet und ein Fallback durchgeführt werden konnte.

NFS v2

Version 2 funktionierte ursprünglich nur über das User Datagram Protocol (UDP). Seine Entwickler wollten die Serverseite behalten, ohne außerhalb des Hauptprotokolls zu blockieren.

Die virtuelle Dateisystemschnittstelle ermöglicht eine modulare Implementierung, die sich in einem einfachen Protokoll widerspiegelt. Bis Februar 1986 wurden mit Eunice Lösungen für Betriebssysteme wie System V Release 2, DOS und VAX/VMS demonstriert. NFS v2 erlaubte aufgrund von 32-Bit-Beschränkungen nur das Lesen der ersten 2 GB einer Datei.

NFS v3

Der erste Vorschlag zur Entwicklung von NFS Version 3 bei Sun Microsystems wurde kurz nach der Veröffentlichung der zweiten Distribution angekündigt. Die Hauptmotivation war zu versuchen, das Problem der synchronen Schreibleistung zu mildern. Bis Juli 1992 hatten praktische Verbesserungen viele der Unzulänglichkeiten von NFS Version 2 behoben, während nur eine unzureichende Dateiunterstützung (64-Bit-Dateigrößen und -Offsets) übrig blieb.

  • Unterstützung für 64-Bit-Dateigrößen und -Offsets für die Verarbeitung von Daten, die größer als 2 Gigabyte (GB) sind;
  • Unterstützung für asynchrone Aufzeichnung auf dem Server, um die Leistung zu verbessern;
  • zusätzliche Dateiattribute in vielen Antworten, um sie nicht erneut abrufen zu müssen;
  • eine READDIRPLUS-Operation zum Abrufen von Daten und Attributen zusammen mit Dateinamen beim Scannen eines Verzeichnisses;
  • viele weitere Verbesserungen.

Während der Einführung von Version 3 begann die Unterstützung für TCP als Transportschichtprotokoll zuzunehmen. Die Verwendung von TCP als Mittel zur Datenübertragung mit NFS über das WAN ermöglichte die Übertragung großer Dateigrößen zum Anzeigen und Schreiben. Dies ermöglichte es Entwicklern, die vom User Datagram Protocol (UDP) auferlegte 8K-Grenze zu überwinden.

Was ist NFS v4?

Version 4, beeinflusst vom Andrew File System (AFS) und Server Message Block (SMB, auch CIFS genannt), beinhaltet Leistungsverbesserungen, bessere Sicherheit und ein bedingtes Protokoll.

Version 4 war die erste Distribution, die von der Internet Engineering Task Force (IETF) entwickelt wurde, nachdem Sun Microsystems die Protokollentwicklung ausgelagert hatte.

NFS Version 4.1 zielt darauf ab, Protokollunterstützung für die Nutzung geclusterter Serverbereitstellungen bereitzustellen, einschließlich der Möglichkeit, skalierbaren gleichzeitigen Dateizugriff über mehrere Server hinweg bereitzustellen (pNFS-Erweiterung).

Das neueste Dateisystemprotokoll NFS 4.2 (RFC 7862) wurde im November 2016 offiziell veröffentlicht.

Andere Erweiterungen

Mit der Entwicklung des Standards sind entsprechende Werkzeuge erschienen, um damit zu arbeiten. WebNFS, eine Erweiterung für die Versionen 2 und 3, ermöglicht beispielsweise eine einfachere Integration des Network File System Access Protocol in Webbrowser und ermöglicht die Arbeit durch Firewalls.

Auch verschiedene Protokolle von Drittanbietern wurden mit NFS in Verbindung gebracht. Die bekanntesten von ihnen sind:

  • Network Lock Manager (NLM) mit Byte-Protokoll-Unterstützung (zur Unterstützung der Dateisperr-API von UNIX System V hinzugefügt);
  • Remote-Quota (RQUOTAD), die es NFS-Benutzern ermöglicht, Speicherquoten auf NFS-Servern anzuzeigen;
  • NFS über RDMA – eine Anpassung von NFS, die Remote Direct Memory Access (RDMA) als Übertragungsmedium verwendet;
  • NFS-Ganesha ist ein Userspace-NFS-Server, der CephFS FSAL (Filesystem Abstraction Layer) mit libcephfs unterstützt.

Plattformen

Das Network File System wird häufig mit Unix-Betriebssystemen (wie Solaris, AIX, HP-UX), Apples macOS und Unix-ähnlichen Betriebssystemen (wie Linux und FreeBSD) verwendet.

Es ist auch für Plattformen wie Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare und IBM AS / 400 verfügbar.

Alternative Protokolle für den Remote-Dateizugriff umfassen Server Message Block (SMB, auch CIFS genannt), Apple Transfer Protocol (AFP), NetWare Core Protocol (NCP) und OS / 400 Server File System (QFileSvr.400).

Dies liegt an den Anforderungen von NFS, die sich meist an Unix-ähnlichen "Shells" orientieren.

Gleichzeitig werden SMB- und NetWare (NCP)-Protokolle auf Systemen mit Microsoft Windows häufiger verwendet als NFS. AFP ist am häufigsten auf Apple Macintosh-Plattformen und QFileSvr.400 am häufigsten unter OS / 400.

Typische Implementierung

Angenommen, ein typisches Szenario im Unix-Stil, in dem ein Computer (Client) Zugriff auf Daten benötigt, die auf einem anderen (NFS-Server) gespeichert sind:

  • Der Server implementiert Network File System-Prozesse, die standardmäßig als nfsd gestartet werden, um seine Daten den Clients öffentlich zugänglich zu machen. Der Serveradministrator bestimmt, wie Verzeichnisnamen und -optionen exportiert werden, normalerweise mit der Konfigurationsdatei /etc/exports und dem Befehl exportfs.
  • Durch die Verwaltung der Serversicherheit wird sichergestellt, dass ein verifizierter Client erkannt und genehmigt werden kann. Seine Netzwerkkonfiguration stellt sicher, dass geeignete Clients mit ihm durch jedes Firewall-System verhandeln können.
  • Der Client-Rechner fordert den Zugriff auf die exportierten Daten an, normalerweise indem er den entsprechenden Befehl ausgibt. Es fragt den Server (rpcbind) ab, der den NFS-Port verwendet und verbindet sich anschließend mit ihm.
  • Wenn alles gut geht, können Benutzer auf dem Client-Rechner die installierten Dateisysteme auf dem Server innerhalb der zulässigen Optionen anzeigen und mit ihnen interagieren.

Es sei darauf hingewiesen, dass die Automatisierung des Network File System-Prozesses auch erfolgen kann - möglicherweise mit etc / fstab und / oder anderen ähnlichen Mitteln.

Entwicklung bis heute

Bis zum 21. Jahrhundert haben die konkurrierenden Protokolle DFS und AFS keinen größeren kommerziellen Erfolg über das Network File System erzielt. IBM, das zuvor alle kommerziellen Rechte an den oben genannten Technologien erworben hatte, spendete im Jahr 2000 den größten Teil des AFS-Quellcodes an die Free-Software-Community. Das Open-AFS-Projekt existiert noch heute. Anfang 2005 gab IBM den Abschluss der AFS- und DFS-Verkäufe bekannt.

Im Januar 2010 führte Panasas wiederum NFS v 4.1 ein, eine Technologie, die gleichzeitige Datenzugriffsfunktionen verbessert. Das Protokoll Network File System v 4.1 definiert eine Methode zum Trennen von Dateisystem-Metadaten vom Speicherort bestimmter Dateien. Es geht also über eine einfache Namens-/Datentrennung hinaus.

Was ist NFS dieser Version in der Praxis? Die obige Funktion unterscheidet es vom traditionellen Protokoll, das die Namen von Dateien und deren Daten unter derselben Bindung an den Server enthält. Mit Network File System Version 4.1 können einige Dateien auf Server mit mehreren Standorten verteilt werden, aber die Beteiligung des Clients an der Trennung von Metadaten und Daten ist begrenzt.

Bei der Implementierung des vierten Verteilungskits des NFS-Protokolls ist der Server ein Satz von Serverressourcen oder -komponenten; Es wird davon ausgegangen, dass sie vom Metadatenserver gesteuert werden.

Der Client kontaktiert immer noch denselben MDS-Server, um den Namespace zu crawlen oder mit ihm zu interagieren. Wenn es Dateien zum und vom Server verschiebt, kann es direkt mit dem Dataset interagieren, das zur NFS-Gruppe gehört.


Manchmal hängen Netzwerk- und andere Windows-Systemfehler mit der Windows Registry zusammen. Verschiedene Programme können dieselbe network-Datei teilen, aber wenn diese deinstalliert oder geändert werden, bleiben manchmal verwaiste (ungültige) WindowsRegistryeinträge zurück.

Im Grunde bedeutet dies, dass sich zwar der tatsächliche Pfad zur Datei geändert hat, der falsche frühere Speicherort jedoch immer noch in der Windows-Registrierung aufgezeichnet wird. Wenn Windows versucht, diese ungültigen Dateiverweise aufzurufen (Speicherorte auf Ihrem PC), Netzwerke. Darüber hinaus kann eine Malware-Infektion die mit Microsoft Windows verbundenen Registrierungseinträge beschädigt haben. Daher müssen diese ungültigen Windows-Registrierungseinträge repariert werden, um die Wurzel des Problems zu beheben.

Das manuelle Editieren der Windows Registry, um ungültige Netzwerkschlüssel zu entfernen ist nicht zu empfehlen, so lange sie kein Kundendienstmitarbeiter sind. Fehler beim Bearbeiten der Registrierung können zu Fehlfunktionen Ihres PCs und irreparablen Schäden an Ihrem Betriebssystem führen. Tatsächlich kann sogar ein einzelnes Komma an der falschen Stelle Ihren Computer am Booten hindern!

Aufgrund dieses Risikos empfehlen wir dringend die Verwendung eines vertrauenswürdigen Registry-Cleaners wie z.B. WinThruster (entwickelt von einem Microsoft Gold), um alle Netzwerke zu scannen und zu reparieren. Die Verwendung eines a Software zu Bereinigung der Registry automatisiert den Prozess des Auffindens ungültiger Registry-Einträge, fehlender Dateiverweise (wie der, der Ihren Netzwerkfehler verursacht) und kaputter Links in der Registry. Vor jedem Scan wird automatisch ein Backup erstellt, mit dem Sie alle Änderungen mit einem Klick rückgängig machen können und Sie vor möglichen Schäden an Ihrem Computer geschützt sind. Das Beste daran ist, dass das Beheben von Registrierungsfehlern die Systemgeschwindigkeit und -leistung erheblich verbessern kann.


Eine Warnung: Sofern Sie kein erfahrener PC-Benutzer sind, empfehlen wir NICHT, die Windows-Registrierung manuell zu bearbeiten. Eine falsche Verwendung des Registrierungseditors kann zu schwerwiegenden Problemen führen und eine Neuinstallation von Windows erforderlich machen. Wir garantieren nicht, dass Probleme, die aus einer unsachgemäßen Verwendung des Registrierungseditors resultieren, behoben werden können. Die Nutzung des Registrierungseditors erfolgt auf eigene Gefahr.

Um Ihre Windows Registry per Hand zu reparieren müssen Sie zuerst ein Backup erstellen, indem Sie einen Teil Registry, der mit Netzwerken zusammenhängt (z.B. Microsoft Windows) exportieren:

  1. Klicken Sie auf die Schaltfläche Start.
  2. Eintreten " Befehl"v Suchleiste ... NOCH NICHT DRÜCKEN EINTRETEN!
  3. Die Tasten halten STRG-Umschalt Drücken Sie auf der Tastatur EINTRETEN.
  4. Ein Dialogfeld für den Zugriff wird angezeigt.
  5. Klicke auf Jawohl.
  6. Die Blackbox öffnet sich mit einem blinkenden Cursor.
  7. Eintreten " regedit" und drücke EINTRETEN.
  8. Wählen Sie im Registry-Editor den Schlüssel, der mit Netzwerken zusammenhängt (zB Microsoft Windows), den Sie speichern möchten.
  9. Auf der Speisekarte Datei wählen Export.
  10. In der Liste Speichern unter Wählen Sie den Ordner aus, in dem Sie den Microsoft Windows-Sicherungsschlüssel speichern möchten.
  11. Auf dem Feld Dateiname Geben Sie einen Namen für Ihre Sicherungsdatei ein, z. B. "Microsoft Windows Backup".
  12. Stellen Sie sicher, dass in der Box Exportbereich Wert ausgewählt Ausgewählte Filiale.
  13. Klicke auf Speichern.
  14. Die Datei wird gespeichert mit der Erweiterung .reg.
  15. Sie haben jetzt ein Backup Ihrer Netzwerke.

Die nächsten Schritte zum manuellen Bearbeiten der Registrierung werden in diesem Artikel nicht beschrieben, da sie höchstwahrscheinlich Ihr System beschädigen können. Weitere Informationen zum manuellen Bearbeiten der Registrierung finden Sie unter den folgenden Links.

Etc-Ordner ist der Ordner, der die folgenden Textdateien enthält hosts, lmhosts.sam, networks, protocol, services ist der Standardinhalt des etc-Ordners für Windows XP und Windows 7.

Alles über den etc-Ordner

Finden Sie heraus, wo der etc-Ordner einfach ist, klicken Sie auf "Start" - "Computer" - "Lokales Laufwerk C" - "Windows" - "System32" - "Treiber" - "etc".

Welche Dateien befinden sich im etc-Ordner?

Wenn Sie den etc-Ordner verloren haben, können Sie den etc-Ordner für Windows 7 und für Windows 8 herunterladen.

Jetzt werde ich beschreiben, wie Sie den etc-Ordner wiederherstellen, indem Sie das Archiv des etc-Ordners herunterladen und entpacken. Nur kopieren usw., finden Sie, wo es sein sollte und fügen Sie es ein. Der Ordner etc für Windows 7 unterscheidet sich nicht vom Ordner etc für Windows XP. Der Inhalt des Ordners etc in Windows 7 unterscheidet sich von Windows 8. In Windows 8 befinden sich zwei weitere Dateien im Ordner etc: hosts.backup und hosts.rollback. Der vollständige Inhalt der Ordner etc. Windows 8 hosts, lmhosts.sam, networks, protocol, services, hosts.backup und hosts.rollback. Viren verändern normalerweise den Inhalt von zwei Dateien: der Datei hosts im Ordner etc. und der Datei services im Ordner etc.. Sie können Dateien im Ordner etc mit Notepad öffnen.

Gute Zeit, liebe Leser. Ich veröffentliche den zweiten Teil. Im aktuellen Teil liegt der Schwerpunkt auf Linux-Netzwerk(wie man ein Netzwerk unter Linux einrichtet, wie man ein Netzwerk unter Linux diagnostiziert und das Netzwerk-Subsystem unter Linux in Ordnung hält).

TCP/IP unter Linux für Ethernet konfigurieren

Um mit TCP/IP-Netzwerkprotokollen unter Linux zu arbeiten, reicht es nur Loopback-Schnittstelle, aber wenn Sie Hosts miteinander kombinieren müssen, benötigen Sie natürlich eine Netzwerkschnittstelle, Datenübertragungskanäle (z. B. Twisted Pair), möglicherweise eine Art Netzwerkausrüstung. Außerdem müssen Sie installiert haben (usw.), normalerweise im Lieferumfang enthalten. Es erfordert auch Netzwerkverfügbarkeit (zB /etc/hosts) und Netzwerkunterstützung.

Netzwerkparameter

Beginnen wir mit dem Verständnis von Linux-Netzwerkmechanismen mit manueller Netzwerkkonfiguration, d. h. mit dem Fall, wenn IP Adresse Netzwerkschnittstelle statisch... Beim Einrichten eines Netzwerks müssen Sie also die folgenden Parameter berücksichtigen und konfigurieren:

IP Adresse- wie bereits im ersten Teil des Artikels erwähnt - ist dies eine eindeutige Adresse der Maschine, im Format von vier Dezimalzahlen, getrennt durch Punkte. Normalerweise wird es bei der Arbeit in einem lokalen Netzwerk aus privaten Bereichen ausgewählt, zum Beispiel: 192.168.0.1

Subnetzmaske- außerdem 4 Dezimalzahlen, die bestimmen, welcher Teil der Adresse zur Netzwerk-/Subnetzadresse gehört und welcher zur Hostadresse. Eine Subnetzmaske ist eine Zahl, die logisch UND (in binärer Form) zu einer IP-Adresse hinzugefügt wird, um zu bestimmen, zu welchem ​​Subnetz die Adresse gehört. Zum Beispiel gehört die Adresse 192.168.0.2 mit der Maske 255.255.255.0 zum Subnetz 192.168.0.

Subnetzadresse- bestimmt durch die Subnetzmaske. Es gibt jedoch keine Subnetze für Loopback-Schnittstellen.

Broadcastadresse ist die Adresse, die zum Senden von Broadcast-Paketen verwendet wird, die von allen Hosts im Subnetz empfangen werden. Normalerweise entspricht sie der Subnetzadresse mit einem Hostwert von 255, d. h. für das Subnetz 192.168.0 lautet der Broadcast 192.168.0.255, für das Subnetz 192.168 lautet der Broadcast 192.168.255.255. Für Loopback-Schnittstellen gibt es keine Broadcast-Adresse.

Gateway-IP-Adresse ist die Adresse des Geräts, das als Standard-Gateway für die Kommunikation mit der Außenwelt dient. Es kann mehrere Gateways geben, wenn der Computer gleichzeitig mit mehreren Netzwerken verbunden ist. Die Gateway-Adresse wird in isolierten Netzwerken (nicht mit dem WAN verbunden) nicht verwendet, da diese Netzwerke keine Möglichkeit haben, Pakete außerhalb des Netzwerks zu senden, dasselbe gilt für Loopback-Schnittstellen.

Nameserver (DNS) IP-Adresse- die Adresse des Servers, der Hostnamen in IP-Adressen umwandelt. Wird normalerweise von Ihrem ISP bereitgestellt.

Linux-Netzwerkkonfigurationsdateien (Konfigurationsdateien)

Um das Netzwerken unter Linux zu verstehen, würde ich Ihnen auf jeden Fall raten, den Artikel "" zu lesen. Im Allgemeinen basiert die gesamte Arbeit von Linux darauf, die beim Booten des Betriebssystems entsteht und seine Nachkommen zeugt, die wiederum alle notwendigen Arbeiten erledigen, egal ob es die Bash oder einen Daemon ausführt. Ja, und das gesamte Booten von Linux basiert darauf, dass die gesamte Startsequenz kleiner Dienstprogramme mit verschiedenen Parametern geschrieben wird, die beim Starten / Stoppen des Systems sequentiell gestartet / gestoppt werden. Das Linux-Netzwerk-Subsystem startet auf die gleiche Weise.

Jede Linux-Distribution hat einen etwas anderen Mechanismus zur Netzwerkinitialisierung, aber ich denke, das allgemeine Bild wird nach dem Lesen klar sein. Wenn Sie sich die Startup-Skripte des Netzwerk-Subsystems einer beliebigen Linux-Distribution ansehen, wird mehr oder weniger klar, wie die Netzwerkkonfiguration mithilfe von Konfigurationsdateien eingerichtet wird, zum Beispiel Debian (wir nehmen diese Distribution als Grundlage) das Skript ist verantwortlich für die Initialisierung des Netzwerks /etc/init.d/networking indem man sich anschaut, welche:

Net-Server: ~ # cat /etc/init.d/networking #! / Bin / sh -e ### BEGIN INIT INFO # Liefert: network # Erforderlicher-Start: mountkernfs $ local_fs # Erforderlicher-Stop: $ local_fs # Sollte -Start: ifupdown # Sollte-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Kurzbeschreibung: Netzwerkschnittstellen erhöhen. ### END INIT INFO PATH = "/usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: /usr / bin" [-x / sbin / ifup] || Ausgang 0. / lib / lsb / init-functions process_options () ([-e / etc / network / options] || return 0 log_warning_msg "/etc / network / options existiert noch und wird IGNORIERT! Lies README.Debian von netbase." ) check_network_file_systems () ([-e / proc / mounts] || return 0 if [-e /etc/iscsi/iscsi.initramfs]; then log_warning_msg "Netzwerkschnittstellen werden nicht dekonfiguriert: iSCSI-Root ist gemountet." exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

finden Sie mehrere Funktionen, die nach zugeordneten Netzwerkdateisystemen suchen ( check_network_file_systems (), check_network_swap ()), sowie die Existenz einiger noch unverständlicher Konfigurationen zu überprüfen /etc / Netzwerk / Optionen ( Funktion process_options ()) und ganz unten mit der Konstruktion Fall "$ 1" in und in Übereinstimmung mit dem eingegebenen Parameter (Start / Stopp / Force-Reload | Neustart oder andere) bestimmte Aktionen ausführt. Von diesen " bestimmte Aktionen", das Beispiel des start-Arguments zeigt, dass die Funktion zuerst gestartet wird Prozessoptionen, dann wird die Phrase an das Protokoll gesendet Netzwerkschnittstellen konfigurieren, und der Befehl wird ausgeführt ifup -a... Wenn Sie sich man ifup ansehen, können Sie sehen, dass dieser Befehl die Konfiguration aus der Datei liest / etc / Netzwerk / Schnittstellen und nach dem schlüssel -ein startet alle Schnittstellen, die einen Parameter haben Auto.

Die Befehle ifup und ifdown können verwendet werden, um Netzwerkschnittstellen basierend auf Schnittstellendefinitionen in der Datei /etc/network/interfaces zu konfigurieren (bzw. zu dekonfigurieren).

-a, --all
Betrifft alle Schnittstellen, die mit auto gekennzeichnet sind, wenn sie an ifup übergeben werden. Schnittstellen werden in der Reihenfolge aufgerufen, in der sie in /etc/network/interfaces definiert sind. Wenn es an ifdown übergeben wird, betrifft es alle definierten Schnittstellen. Schnittstellen werden in der Reihenfolge heruntergefahren, in der sie aktuell in der Statusdatei aufgeführt sind. Nur Schnittstellen, die in /etc/network/interfaces definiert sind, werden heruntergefahren.

ip-server: ~ # cat /etc /network /interfaces # Diese Datei beschreibt die auf Ihrem System verfügbaren #Netzwerkschnittstellen und wie Sie diese aktivieren. Weitere Informationen finden Sie unter Schnittstellen (5). # Die Loopback-Netzwerkschnittstelle auto lo iface lo inet loopback # Die primäre Netzwerkschnittstelle allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet statische Adresse 192.168.1.1 Netzmaske 255.255.255.0 Gateway 192.168.1.254 Broadcast 192.168.1.255

In dieser Konfiguration sind die Zeilen erlauben-hotplug und Auto- dies sind Synonyme und Schnittstellen werden auf Befehl aufgerufen ifup -a... Das ist in der Tat die gesamte Arbeitskette des Netzwerk-Subsystems. Ähnlich in anderen Distributionen: In RedHat und SUSE wird das Netzwerk durch ein Skript gestartet /etc/init.d/network... Wenn Sie es untersucht haben, können Sie ebenfalls herausfinden, wo die Netzwerkkonfiguration liegt.

/ etc / hosts

Diese Datei speichert eine Liste IP-Adressen und entsprechende Hostnamen (Adressen) Das Dateiformat unterscheidet sich nicht vom Mastday-Format:

IP-Server: ~ # cat / etc / hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

In der Vergangenheit wurde diese Datei anstelle des DNS-Dienstes verwendet. Derzeit kann die Datei auch anstelle des DNS-Dienstes verwendet werden, jedoch nur unter der Bedingung, dass die Anzahl der Maschinen in Ihrem Netzwerk in Einheiten und nicht in Dutzenden oder Hunderten gemessen wird, da Sie in diesem Fall die Richtigkeit kontrollieren müssen dieser Datei auf jedem Computer.

/etc/hostname

Diese Datei enthält NetBIOS-Hostname:

IP-Server: ~ # cat / etc / Hostname IP-Server

Diese Datei speichert die Namen und Adressen von lokalen und anderen Netzwerken. Beispiel:

IP-Server: ~ # cat / etc / networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 home-network 192.168.1.0

Bei Verwendung dieser Datei können Netzwerke nach Namen gesteuert werden. Zum Beispiel eine Route hinzufügen not Route hinzufügen 192.168.1.12 , ein Route hinzufügen.

/etc/nsswitch.conf

Die Datei definiert Hostnamen-Suchreihenfolge/Netzwerke sind folgende Zeilen für diese Einstellung zuständig:

Für Hosts: Hosts: Dateien DNS Für Netzwerke: Netzwerke: Dateien

Parameter Dateien gibt an, die angegebenen Dateien zu verwenden (/etc/hosts und / usw / Netzwerke bzw.), Parameter DNS gibt an, den Dienst zu nutzen DNS.

/etc/host.conf

Die Datei legt die Namensauflösungsoptionen für den Resolver fest

IP-Server: ~ # cat /etc/host.conf multi on

Diese Datei weist die resolv-Bibliothek an, alle gültigen Hostadressen zurückzugeben, die in der Datei /etc/hosts erscheinen, nicht nur die erste.

/etc/resolv.conf

Diese Datei definiert die Parameter des Mechanismus zum Konvertieren von Netzwerknamen in IP-Adressen. In einfacher Sprache, definiert DNS-Einstellungen... Beispiel:

IP-Server: ~ # cat /etc/resolv.conf Nameserver 10.0.0.4 Nameserver 10.0.0.1 Suche domain.local

Die ersten 2 Zeilen DNS-Server angeben... Die dritte Zeile gibt die Suchdomänen an. Wenn bei der Namensauflösung der Name kein FQDN-Name ist, wird diese Domain in der Form "Endung" ersetzt. Wenn Sie beispielsweise den Befehl ping host ausführen, wird die Ping-Adresse in host.domain.local umgewandelt. Die restlichen Parameter können in man resolv.conf gelesen werden. Sehr oft wird unter Linux die dynamische Generierung dieser Datei mit der sogenannten . Programme /sbin/resolvconf. Dieses Programm vermittelt zwischen Diensten, die dynamisch Nameserver bereitstellen (zum Beispiel DHCP-Client) und Dienste, die Nameserver-Daten verwenden. So verwenden Sie eine dynamisch generierte Datei /etc/resolv.conf, müssen Sie diese Datei zu einem symbolischen Link zu machen /etc/resolvconf/run/resolv.conf... In einigen Distributionen kann der Pfad anders sein, dies wird auf jeden Fall in geschrieben Mann resolvconf.

Netzwerkkonfiguration

Nachdem Sie sich mit den wichtigsten Konfigurationsdateien vertraut gemacht haben, können Sie sich ansehen. Es wurde bereits oben über den Befehl erwähnt wennup, ifdown, aber diese Tools sind nicht ganz universell. Nehmen wir an, es gibt solche Befehle standardmäßig in RH-Distributionen nicht. Darüber hinaus verfügen neue Distributionen über ein neues High-Level-Netzwerkmanagement-Tool, das zum iproute-Paket gehört. Ich werde ihm widmen (das iproute-Paket). Und im aktuellen Beitrag werde ich es nicht berücksichtigen. Die folgenden Befehle sind im Besitz von.

Um also sicher zu gehen, dass der Befehl in jeder Linux-Distribution funktioniert, müssen Sie zwei grundlegende alte Befehle verwenden. Dies und Arp. Die erste Mannschaft (verantwortlich für Netzwerkschnittstellen konfigurieren(IP, Maske, Gateway), der Zweite () - Routing konfigurieren, dritte (arp) - Arp-Tabellenverwaltung... Ich möchte darauf hinweisen, dass die Ausführung dieser Befehle ohne Deaktivieren des standardmäßigen SystemV-Startskripts des Netzwerksubsystems Änderungen nur vor dem ersten Neustart / Neustart des Netzwerkdienstes vornimmt, da Wenn Sie Ihr Gehirn benutzen, können Sie verstehen, dass das Skript /etc/init.d/networking Beim nächsten Start liest es die obigen Konfigurationen erneut und übernimmt die alten Einstellungen. Dementsprechend wird die Ausgabe zum dauerhaften Setzen der Einstellungen - entweder das ifconfig-Kommando mit den entsprechenden Parametern - eingegeben oder die entsprechenden Configs der Netzwerkschnittstellen manuell korrigiert.

Ebenso, wenn der Befehl ausgeführt wird ifconfig mit fehlenden Parametern(z. B. nur die IP-Adresse), der Rest wird automatisch hinzugefügt (z. B. wird die Broadcast-Adresse standardmäßig mit einer Hostadresse hinzugefügt, die auf 255 endet und die Standard-Subnetzmaske ist 255.255.255.0).

Routing für bestehende Schnittstellen in modernen Kerneln wird es immer automatisch vom Kernel hochgeladen. Direkte Routen zum Netzwerk entsprechend den IP-Einstellungen und das Subnetz, in das die angehobene Schnittstelle schaut, werden vielmehr automatisch durch die Kräfte des Kernels gebildet. Das Gateway-Feld für solche Einträge zeigt die Adresse der ausgehenden Schnittstelle oder *. In älteren Versionen des Kernels (die Nummer des Kernels, von dem aus Routen automatisch aufgestiegen wurden - ich werde nicht nachfragen) war es notwendig, eine Route manuell hinzuzufügen.

Wenn es notwendig ist, Ihre Routen dann musst du verwenden. Mit diesem Befehl können Sie Routen hinzufügen und entfernen, aber auch dies hilft nur, bis Sie /etc/init.d/networking (oder ein anderes Skript, das für das Netzwerk in Ihrer Distribution verantwortlich ist) neu starten. Damit Routen automatisch hinzugefügt werden, ist es auf die gleiche Weise wie beim ifconfig-Befehl erforderlich - Befehle zum Hinzufügen von Routen zu rc.local hinzufügen oder die entsprechenden Konfigurationen von Netzwerkschnittstellen manuell korrigieren (z. B. in Deb - / etc / Netzwerk / Optionen).

Wie lauten die Regeln Wege zu Netzen werden gebildet, ich in

Linux-Netzwerkdiagnose

Es gibt eine große Anzahl von Linux-Netzwerkdiagnosetools, die denen von Microsoft oft sehr ähnlich sind. Ich werde 3 grundlegende Netzwerkdiagnose-Dienstprogramme behandeln, ohne die es problematisch sein wird, Probleme zu beheben.

Ich denke, dass dieses Dienstprogramm fast jedem bekannt ist. Die Arbeit dieses Dienstprogramms ist versenden sogenannt ICMP-Pakete an den entfernten Server, der in den Befehlsparametern angegeben wird, gibt der Server die gesendeten Befehle zurück und Klingelnzählt die Zeit erforderlich, damit das gesendete Paket den Server erreicht und zurückkehrt. Zum Beispiel:

# ping ya.ru PING ya.ru (87.250.251.3) 56 (84) Datenbytes. 64 Byte von www.yandex.ru (87.250.251.3): icmp_seq = 1 ttl = 57 Zeit = 42,7 ms 64 Byte von www.yandex.ru (87.250.251.3): icmp_seq = 2 ttl = 57 Zeit = 43,2 ms 64 Byte von www.yandex.ru (87.250.251.3): icmp_seq = 3 ttl = 57 Zeit = 42,5 ms 64 Byte von www.yandex.ru (87.250.251.3): icmp_seq = 4 ttl = 57 Zeit = 42,5 ms 64 Byte von www .yandex.ru (87.250.251.3): icmp_seq = 5 ttl = 57 time = 41,9 ms ^ C --- ya.ru Ping-Statistik --- 5 Pakete übertragen, 5 empfangen, 0% Paketverlust, Zeit 4012ms rtt min / Durchschnitt / max / mdev = 41,922 / 42,588 / 43,255 / 0,500 ms

Wie Sie am obigen Beispiel sehen können, Klingeln gibt uns viele nützliche Informationen. Vor allem, wir haben erfahren, dass wir können eine Verbindung mit dem Host ya.ru . herstellen(manchmal sagen sie, dass "der Host ya.ru für uns verfügbar ist"). Zweitens, wir sehen das DNS funktioniert korrekt, weil der "gepingte" Name korrekt in eine IP-Adresse übersetzt wurde (PING ya.ru (87.250.251.3)). Weiter, auf dem Feld icmp_seq = Nummerierung der gesendeten Pakete ist festgelegt... Jedem gesendeten Paket wird sequentiell eine Nummer zugewiesen, und wenn diese Nummerierung "Lücken" hat, dann sagt uns dies, dass die Verbindung mit dem "Pingen" instabil ist, und kann auch bedeuten, dass der Server, an den die Pakete gesendet werden, ist überladen. Nach Wert Zeit = wir sehen, wie lange ist das pauschal gereist bis 87.250.251.3 und zurück. Sie können das Ping-Dienstprogramm stoppen, indem Sie Strg + C drücken.

Gleicher Weg, Ping-Dienstprogramm interessant, dass Sie damit genau sehen können, wo das Problem aufgetreten ist. Sagen wir Ping-Dienstprogramm zeigt eine Nachricht an Netzwerk nicht erreichbar, oder eine andere ähnliche Nachricht. Dies weist höchstwahrscheinlich auf eine falsche Konfiguration Ihres Systems hin. In diesem Fall können Sie Pakete an die IP-Adresse des Providers senden, um zu verstehen, wo das Problem auftritt (zwischen dem lokalen PC oder "weiter"). Wenn Sie über einen Router mit dem Internet verbunden sind, können Sie Pakete über dessen IP senden. Wenn sich das Problem bereits zu diesem Zeitpunkt manifestiert, bedeutet dies, dass das lokale System falsch konfiguriert oder das Kabel beschädigt ist. Wenn der Router antwortet, der Server des Anbieters jedoch nicht, liegt das Problem im Kommunikationskanal des Anbieters , etc. Wenn schließlich die Umwandlung des Namens in IP fehlgeschlagen ist, können Sie die Verbindung per IP überprüfen. Wenn die Antworten korrekt sind, können Sie vermuten, dass das Problem im DNS liegt.

Es sollte beachtet werden, dass dieses Dienstprogramm nicht immer ein zuverlässiges Diagnosewerkzeug ist. Der Remote-Server kann Antworten auf ICMP-Anfragen blockieren.

Traceroute

Einfach ausgedrückt heißt der Befehl Routenverfolgung... Wie der Name schon sagt, zeigt dieses Dienstprogramm an, welche Route die Pakete zum Host genommen haben. Traceroute-Dienstprogramm etwas ähnlich zu Klingeln zeigt aber interessantere Informationen an. Beispiel:

# traceroute ya.ru traceroute zu ya.ru (213.180.204.3), 30 Hops max, 60 Byte Pakete 1 243-083-free.kubtelecom.ru (213.132.83.243) 6,408 ms 6,306 ms 6,193 ms 2 065-064-free .kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 3 lgw.kubtelecom.ru (213.132.75.54) 5.713 ms 5.701 ms 5.636 ms 4 KubTelecom-lgw.Krasnodar.gldn.net (194.186.6.177) 81 .430 ms 81.581 ms 81,687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47,789 ms 47,888 ms 48,011 ms 6 213.33.201.230 (213.33.201.230) 43,322 ms 41,783 ms 41,106 ms 7 karminrot-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42,126 ms 42.679 ms

Wie Sie sehen, können Sie die Route vom Router des Anbieters 243-083-free.kubtelecom.ru (213.132.83.243) (Südrussland) bis zum Endhost auf www.yandex.ru (213.180.204.3) in Moskau verfolgen .

graben

Dieses Dienstprogramm sendet Abfragen an DNS-Server und gibt Informationen über die angegebene Domäne zurück. Beispiel:

# dig @ ns.kuban.ru roboti.ru;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru; (1 Server gefunden) ;; globale Optionen: printcmd ;; Antwort erhalten: ;; - >> HEADER<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

Grabbefehl eine Anfrage gesendet DNS Server - ns.kuban.ru (@ ns.kuban.ru- dieser Parameter ist optional, in diesem Fall wird der Server aus den Einstellungen Ihres Systems als Informationsquelle über DNS verwendet) über den Domainnamen roboti.ru... Als Ergebnis erhielt ich eine Antwort, in der wir im Abschnitt sehen können ANTWORTABSCHNITT Informationen zu den IP-Adressen der Domain, im Abschnitt BEHÖRDE-ABSCHNITT Informationen über die sog autoritative DNS-Server. Die dritte Zeile von unten sagt uns, welcher Server die Antwort bereitgestellt hat.

Andere Diagnoseprogramme

ping, dig und andere Diagnoseprogramme mit Parametern finden Sie im Beitrag.

Anschließen einer neuen Netzwerkkarte

Das Anschließen und Starten einer neuen Netzwerkkarte erfordert mehrere Schritte:

1. Physischer Anschluss der Karte

3. Anzeigen der Ausgabe zur Erkennung einer neuen Netzwerkkarte durch das System:

Schauen wir uns die Ausgabe an BEVOR Sie eine neue Karte anschließen:

Server: ~ # dmesg | grep eth [4.720550] e1000: eth0: e1000_probe: Intel (R) PRO / 1000 Netzwerkverbindung [5.130191] e1000: eth1: e1000_probe: Intel (R) PRO / 1000 Netzwerkverbindung [15.285527] e1000: eth2: e1000_watchdog: NIC Link is Bis 1000 Mbit/s Vollduplex, Flusskontrolle: RX [15.681056] e1000: eth0: e1000_watchdog: NIC-Link ist Bis 1000 Mbit/s Vollduplex, Flusskontrolle: RX

Die Ausgabe zeigt, dass das System 2 Netzwerkkarten eth1 und eth2 hat. Wir verbinden die dritte und sehen die Ausgabe:

Server: ~ # dmesg | grep eth [4.720513] e1000: eth0: e1000_probe: Intel (R) PRO / 1000 Netzwerkverbindung [5.132029] e1000: eth1: e1000_probe: Intel (R) PRO / 1000 Netzwerkverbindung [5.534684] e1000: eth2: e1000_probe: Intel (R ) PRO / 1000 Netzwerkverbindung [39.274875] udev: umbenannte Netzwerkschnittstelle eth2 in eth3 [39.287661] udev: umbenannte Netzwerkschnittstelle eth1_rename_ren in eth2 [45.670744] e1000: eth2: e1000_watchdog: NIC Link ist Up 1000 Mbit/s Vollduplex, Flusskontrolle: RX [46.237232] e1000: eth0: e1000_watchdog: NIC-Link ist bis zu 1000 Mbit/s Vollduplex, Flusskontrolle: RX [96.977468] e1000: eth3: e1000_watchdog: NIC-Link ist bis zu 1000 Mbit/s Vollduplex, Flusskontrolle: RX

V dmesg wir sehen, dass es ein neues Netzwerkmädchen gibt - eth3, das eigentlich eth2 ist, aber vom udev-Gerätemanager in eth3 umbenannt wurde, und eth2 ist eigentlich ein umbenanntes eth1 (wir werden über udev in einem separaten Beitrag sprechen). Das Erscheinungsbild unseres neuen Netzwerks in dmesg sagt uns, dass die Netzwerkkarte unterstützt durch Kernel und richtig beschlossen... Das einzige, was Sie noch tun müssen, ist die neue Benutzeroberfläche in anzupassen / etc / Netzwerk / Schnittstellen(Debian), weil die angegebene Karte nicht vom Startskript initialisiert wurde /etc/init.d/network. ifconfig Diese Karte wird gesehen von:

Server: ~ # ifconfig eth3 eth3 Link encap: Ethernet HWaddr 08: 00: 27: 5f: 34: ad inet6 addr: fe80 :: a00: 27ff: fe5f: 34ad / 64 Geltungsbereich: Link UP BROADCAST RUNNING MULTICAST MTU: 1500 Metrisch: 1 RX-Pakete: 311847 Fehler: 0 verworfen: 0 Überläufe: 0 Frame: 0 TX-Pakete: 126 Fehler: 0 verworfen: 0 Überläufe: 0 Träger: 0 Kollisionen: 0 txqueuelen: 1000 RX-Bytes: 104670651 (99,8 MiB) TX-Bytes: 16184 (15,8 KiB)

aber wieder - es lässt sich nicht konfigurieren. Wie die Netzwerkkarte konfiguriert wird, wurde oben besprochen.

Zusammenfassung

Ich denke, das ist alles für heute. Als ich anfing, diesen Artikel zu schreiben, dachte ich, dass ich in einen Beitrag passen würde, aber er stellte sich als riesig heraus. Daher wurde beschlossen, den Artikel in zwei Teile aufzuteilen. Insgesamt habe ich versucht, keine Schritt-für-Schritt-Anleitung für den Aufbau eines Netzwerks zu skizzieren, sondern das Prinzip zu skizzieren und das Verständnis dafür zu erklären, wie ein Netzwerk unter Linux startet und funktioniert. Ich hoffe sehr, dass es mir gelungen ist. Über Kommentare und Ergänzungen würde ich mich freuen. Im Laufe der Zeit werde ich den Artikel ergänzen.