hosts-Datei in Ubuntu. So bearbeiten Sie die Hosts-Datei in Ubuntu

Gute Zeit, liebe Leser. Ich poste den zweiten Teil. Der aktuelle Abschnitt konzentriert sich auf Netzwerkimplementierung unter Linux(wie man ein Netzwerk unter Linux einrichtet, wie man ein Netzwerk unter Linux diagnostiziert und wie man das Netzwerk-Subsystem unter Linux wartet).

Konfigurieren von TCP/IP unter Linux für Ethernet-Netzwerke

Um mit TCP / IP-Netzwerkprotokollen unter Linux zu arbeiten, reicht es aus, nur zu haben 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 ist es notwendig, installiert zu haben (usw.), normalerweise geliefert in . Es muss auch über ein Netzwerk (z. B. /etc/hosts) und Netzwerkunterstützung verfügen.

Netzwerkeinstellungen

Beginnen wir mit dem Verständnis der Linux-Netzwerkmechanismen, indem wir das Netzwerk manuell konfigurieren, dh von dem Fall an, wann IP Adresse Netzwerkschnittstelle statisch. Wenn Sie also ein Netzwerk einrichten, müssen Sie 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 durch Punkte getrennten Dezimalzahlen. Wenn Sie in einem lokalen Netzwerk arbeiten, wird es normalerweise aus privaten Bereichen ausgewählt, zum Beispiel: 192.168.0.1

Subnetzmaske- außerdem 4 Dezimalzahlen, die bestimmen, welcher Teil der Adresse sich auf die Netzwerk-/Subnetzadresse und welcher Teil auf die Hostadresse bezieht. Die Subnetzmaske ist eine Zahl, die (in binärer Form) zu einer IP-Adresse hinzugefügt wird, um herauszufinden, zu welchem ​​Subnetz die Adresse gehört. Beispielsweise 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. Gleichzeitig gibt es keine Subnetze für Loopback-Schnittstellen.

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

Gateway-IP-Adresse ist die Adresse des Computers, der das Standard-Gateway für die Kommunikation mit der Außenwelt ist. 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 nirgendwo Pakete außerhalb des Netzwerks senden können, dasselbe gilt für Loopback-Schnittstellen.

IP-Adresse des Nameservers (DNS-Server)- Adresse des Servers, der Hostnamen in IP-Adressen umwandelt. Wird normalerweise vom ISP bereitgestellt.

Linux-Netzwerkeinstellungsdateien (Konfigurationsdateien)

Um die Vernetzung unter Linux zu verstehen, würde ich Ihnen auf jeden Fall raten, den Artikel "" zu lesen. Im Allgemeinen basiert alle Linux-Arbeit darauf, was beim Booten des Betriebssystems entsteht und seine Nachkommen produziert, die wiederum alle notwendigen Arbeiten erledigen, unabhängig davon, ob sie Bash oder einen Daemon ausführen. Ja, und der gesamte Linux-Boot basiert darauf, was die gesamte Startsequenz kleiner Dienstprogramme mit verschiedenen Parametern darstellt, die nacheinander gestartet / gestoppt werden, wenn das System startet / stoppt. Das Linux-Netzwerksubsystem startet auf die gleiche Weise.

Jede Linux-Distribution hat einen etwas anderen Netzwerkinitialisierungsmechanismus, aber ich denke, das Gesamtbild wird nach dem Lesen klar sein. Wenn Sie sich die Startskripte des Netzwerk-Subsystems einer beliebigen Linux-Distribution ansehen, wird die Konfiguration des Netzwerks mithilfe von Konfigurationsdateien mehr oder weniger klar, z. B. in Debian (wir nehmen diese Distribution als Grundlage) das Skript ist verantwortlich für die Initialisierung des Netzwerks /etc/init.d/networking indem Sie sich ansehen, welche:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Bietet: Netzwerk # Erforderlich-Start: mountkernfs $local_fs # Erforderlich-Stopp: $local_fs # Sollte -Start: ifupdown # Sollte-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Short-Description: Erhöhen Sie Netzwerkschnittstellen. ### 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! Lesen Sie README.Debian von netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || return 0 if [ -e /etc/iscsi/iscsi.initramfs ]; then log_warning_msg "keine Dekonfiguration von Netzwerkschnittstellen: 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 gemounteten Netzwerkdateisystemen suchen ( check_network_file_systems(), check_network_swap()) sowie die Überprüfung der Existenz einer noch unverständlichen Konfiguration /etc/network/options ( Funktion Prozessoptionen()) und ganz unten durch das Design Fall "$1" ein und in Übereinstimmung mit den eingegebenen Parametern (Start/Stopp/Neuladen erzwingen|Neustart oder andere) bestimmte Aktionen ausführt. Von diesen sehr bestimmte Aktionen" zeigt das Beispiel des Startarguments, dass die Funktion zuerst gestartet wird Prozessoptionen, dann wird der Ausdruck an das Protokoll gesendet Netzwerkschnittstellen konfigurieren, und führen Sie den Befehl aus ifup -a. Wenn Sie sich man ifup ansehen, können Sie sehen, dass dieser Befehl die Konfiguration aus der Datei liest /etc/network/interfaces und nach Schlüssel -A startet alle Schnittstellen, die den 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, --alle
Wenn an ifup übergeben, wirkt es sich auf alle Schnittstellen aus, die mit auto gekennzeichnet sind. Schnittstellen werden in der Reihenfolge aufgerufen, in der sie in /etc/network/interfaces definiert sind. Wenn an ifdown übergeben, wirkt es sich auf alle definierten Schnittstellen aus. Schnittstellen werden in der Reihenfolge heruntergefahren, in der sie aktuell in der Zustandsdatei 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 aktiviert werden. 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 static address 192.168.1.1 netmask 255.255.255.0 Gateway 192.168.1.254 Broadcast 192.168.1.255

In dieser Konfigurationszeile Hotplug zulassen Und Auto sind Synonyme und Schnittstellen werden auf Befehl aufgerufen ifup -a. Das ist tatsächlich die gesamte Operationskette des Netzwerksubsystems. Ähnlich bei anderen Distributionen: Bei RedHat und SUSE wird das Netzwerk per Skript gestartet /etc/init.d/network. Nachdem Sie es untersucht haben, können Sie ebenfalls feststellen, wo die Netzwerkkonfiguration liegt.

/etc/hosts

Diese Datei enthält eine Liste IP-Adressen Und ihnen entsprechende Hostnamen (Adressen).Das Dateiformat unterscheidet sich nicht von der Masterdatei:

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 Computer in Ihrem Netzwerk in Einheiten gemessen wird und nicht in Zehnern oder Hunderten, denn in diesem Fall müssen Sie die steuern Korrektheit dieser Datei auf jeder Maschine.

/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 verwaltet werden. Fügen Sie beispielsweise eine Route nicht hinzu Route hinzufügen 192.168.1.12 , A Route hinzufügen.

/etc/nsswitch.conf

Die Datei definiert Reihenfolge der Suche nach Hostnamen/networks 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 /etc/networks bzw.), Parameter DNS gibt an, den Dienst zu verwenden DNS.

/etc/host.conf

Die Datei gibt Namensauflösungsoptionen für den Resolver an

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

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

/etc/resolv.conf

Diese Datei definiert die Parameter des Mechanismus zur Übersetzung des Netzwerknamens in die IP-Adresse. Im Klartext 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 geben DNS-Server an. Die dritte Zeile gibt die Suchdomänen an. Wenn beim Auflösen eines Namens der Name kein FQDN-Name ist, dann wird diese Domäne als "Ende" ersetzt. Wenn Sie beispielsweise den Befehl ping host ausführen, wird die gepingte Adresse in host.domain.local konvertiert. Andere Parameter können in man resolv.conf nachgelesen werden. Sehr oft verwendet Linux die dynamische Generierung dieser Datei unter Verwendung der sogenannten. Programme /sbin/resolvconf. Dieses Programm ist ein Vermittler zwischen Diensten, die Nameserver dynamisch bereitstellen (zum Beispiel DHCP-Client) und Dienste, die Nameserverdaten verwenden. So verwenden Sie eine dynamisch generierte Datei /etc/resolv.conf, müssen Sie diese Datei zu einem symbolischen Link machen /etc/resolvconf/run/resolv.conf. Bei manchen Distributionen kann der Pfad anders sein, das wird auf jeden Fall eingeschrieben man resolvconf.

Netzwerkkonfiguration

Nachdem Sie sich mit den wichtigsten Konfigurationsdateien vertraut gemacht haben, können Sie sich die . Der Befehl wurde bereits oben erwähnt. ifup, wenn unten, aber diese Tools sind nicht ganz universell, zum Beispiel sind diese Befehle in RH-Distributionen nicht standardmäßig verfügbar. Außerdem verfügen neue Distributionen über ein neues High-Level-Netzwerkverwaltungstool - , das zum iproute-Paket gehört. Ihm (dem iproute-Paket) werde ich widmen. Und im aktuellen Beitrag werde ich es nicht berücksichtigen. Die unten beschriebenen Befehle gehören zu .

Um also sicher zu sein, dass der Befehl in jeder Linux-Distribution funktioniert, müssen Sie zwei grundlegende altmodische Befehle verwenden. Dies ist , und arp. Erste Mannschaft (verantwortlich für Netzwerkschnittstellen einrichten(IP, Maske, Gateway), zweite () - Routing-Setup, dritte (arp) - arp-Tabellenverwaltung. Ich möchte darauf hinweisen, dass die Ausführung dieser Befehle ohne Deaktivierung des Standard-SystemV-Startskripts des Netzwerksubsystems nur bis zum ersten Neustart / Neustart des Netzwerkdienstes Änderungen vornimmt, da. Wenn Sie mit Ihrem Gehirn darüber nachdenken, können Sie das Drehbuch verstehen /etc/init.d/networking Beim nächsten Start werden die obigen Konfigurationen erneut gelesen und die alten Einstellungen angewendet. Dementsprechend ist der Ausweg für das dauerhafte Setzen der Einstellungen entweder das ifconfig-Kommando mit den entsprechenden Parametern - einzugeben oder die entsprechenden Netzwerkinterface-Configs manuell zu korrigieren.

Ebenso, wenn der Befehl ifconfig mit fehlenden Optionen(z. B. nur die IP-Adresse), dann wird der Rest automatisch ausgefüllt (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 verfügbare Schnittstellen in modernen Kerneln wird immer automatisch vom Kernel ausgelöst. Oder besser gesagt, der Kernel bildet automatisch direkte Routen zum Netzwerk gemäß den IP-Einstellungen und dem Subnetz, in das die hochgezogene Schnittstelle schaut. Das Feld Gateway (Gateway) für solche Einträge zeigt die Adresse der Ausgangsschnittstelle oder *. In älteren Versionen des Kernels (die Nummer des Kernels, ab dem die Routen automatisch zu steigen begannen - ich werde es Ihnen nicht sagen) war es notwendig, die Route manuell hinzuzufügen.

Wenn Organisationsbedarf besteht Strecken, dann müssen Sie verwenden. Sie können mit diesem Befehl Routen hinzufügen und entfernen, aber auch dies hilft nur, bis Sie /etc/init.d/networking (oder ein anderes Netzwerkskript in Ihrer Distribution) neu starten. Damit Routen automatisch hinzugefügt werden, ist es wie beim ifconfig-Befehl erforderlich, Befehle zum Hinzufügen von Routen in rc.local hinzuzufügen oder die entsprechenden Netzwvon Hand zu korrigieren (z. B. in Deb - /etc/network/options).

Nach welchen Regeln Routen zu Netzwerken werden gebildet, ich in

Linux-Netzwerkdiagnose

Unter Linux gibt es eine Vielzahl von Netzwerkdiagnosetools, die denen von Microsoft oft sehr ähnlich sind. Ich werde 3 Hauptnetzwerkdiagnoseprogramme betrachten, ohne die es problematisch sein wird, Probleme zu identifizieren.

Ich denke, dass dieses Dienstprogramm fast jedem bekannt ist. Die Aufgabe dieses Dienstprogramms ist es Senden sogenannt ICMP-Pakete Remote-Server, der in den Befehlsparametern angegeben wird, gibt der Server die gesendeten Befehle zurück, und KlingelnZeit zählen 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 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 Bytes von www .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 Zeit=41,9 ms ^C --- ja .ru Ping-Statistiken --- 5 Pakete übertragen, 5 empfangen, 0 % Paketverlust, Zeit 4012 ms rtt min/avg/max/mdev = 41,922/42,588/43,255/0,500 ms

Wie aus obigem Beispiel ersichtlich, 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 "ya.ru-Host für uns verfügbar ist"). Zweitens, wir sehen das DNS funktioniert korrekt, weil der "gepingte" Name korrekt in eine IP-Adresse umgewandelt wurde (PING ya.ru (87.250.251.3)). Weiter, auf dem Feld icmp_seq= Nummerierung der gesendeten Pakete festlegen. Jedem gesendeten Paket wird nacheinander eine Nummer zugewiesen, und wenn diese Nummerierung „Lücken“ enthält, sagt uns das, dass die Verbindung mit dem „Ping“ instabil ist, und es kann auch bedeuten, dass der Server, an den die Pakete gesendet werden ist überlastet. Nach Wert Zeit = wir sehen, wie lange war das paket unterwegs bis 87.250.251.3 und zurück. Sie können das Ping-Dienstprogramm stoppen, indem Sie Strg+C drücken.

Auch, Ping-Dienstprogramm interessant, da Sie genau sehen können, wo die Probleme aufgetreten sind. Sagen wir Ping-Dienstprogramm zeigt eine Meldung an Netz nicht erreichbar oder eine ähnliche Nachricht. Dies deutet höchstwahrscheinlich auf eine fehlerhafte Konfiguration Ihres Systems hin. In diesem Fall können Sie Pakete an die IP-Adresse des Internetdienstanbieters senden, um herauszufinden, wo das Problem auftritt (zwischen dem lokalen PC oder „dahinter“). Wenn Sie über einen Router mit dem Internet verbunden sind, können Sie Pakete an dessen IP senden. Tritt das Problem also bereits zu diesem Zeitpunkt auf, deutet dies auf eine fehlerhafte Konfiguration des lokalen Systems oder einen Kabelschaden hin, antwortet der Router und der Server des Providers nicht, dann liegt das Problem im Kommunikationskanal des Providers usw. Wenn schließlich die Konvertierung des Namens in IP fehlschlägt, können Sie die Verbindung über 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 Diagnosetool ist. Der Remote-Server kann Antworten auf ICMP-Anfragen blockieren.

Traceroute

Vereinfacht heißt das Team Streckenverfolgung. Wie Sie dem Namen entnehmen können, zeigt dieses Dienstprogramm an, über welche Route die Pakete zum Host gegangen sind. Traceroute-Dienstprogramm etwas ähnlich Klingeln, zeigt aber interessantere Informationen an. Beispiel:

# traceroute ya.ru traceroute zu ya.ru (213.180.204.3), max. 30 Hops, 60 Byte Pakete 13 ms 5,701 ms 5,636 ms 4 (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 carmine-red-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 endgültigen Host unter www.yandex.ru (213.180.204.3) verfolgen. In Moskau.

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: print cmd ;; bekam Antwort: ;; ->>KOPF<<- 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

Befehl graben eine Anfrage gesendet DNS Server - ns.kuban.ru (@ns.kuban.ru- dieser Parameter ist optional, in diesem Fall wird die Informationsquelle über DNS vom Server aus Ihren Systemeinstellungen übernommen) über den Domänennamen roboti.ru. Als Ergebnis erhielt ich eine Antwort, in der wir im Abschnitt sehen können ANTWORTABSCHNITT Informationen über die IP-Adressen der Domain, im Abschnitt ABSCHNITT BEHÖRDE Informationen über die sog. autoritative DNS-Server. Die dritte Zeile von unten sagt uns, welcher Server die Antwort geliefert 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 besteht aus wenigen Schritten:

1. Physische Verbindung der Karte

3. Sehen Sie sich die Ausgabe an, damit das System eine neue Netzwerkkarte erkennt:

Sehen 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 ist Up 1000 Mbps Full Duplex, Flow Control: RX [15.681056] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

Die Ausgabe zeigt, dass das System über 2 Netzwerkkarten eth1 und eth2 verfügt. Wir verbinden die dritte und sehen uns die Ausgabe an:

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: Netzwerkschnittstelle eth2 in eth3 umbenannt [ 39.287661] udev: Netzwerkschnittstelle eth1_rename_ren in eth2 umbenannt [ 45.670744] e1000: eth2: e1000_watchdog: NIC-Verbindung ist aktiv 1000 MBit/s Vollduplex, Flusskontrolle: Empfang [ 46.237232] e1000: eth0: e1000_watchdog: NIC-Link ist mit 1000 Mbit/s Vollduplex aktiv, Flusskontrolle: RX [ 96.977468] e1000: eth3: e1000_watchdog: NIC-Link ist mit 1000 MBit/s vollduplex aktiv, Flusskontrolle: RX

IN dmesg Wir sehen, dass eine neue Netzwerkkarte aufgetaucht ist – eth3, die eigentlich eth2 ist, aber vom udev-Gerätemanager in eth3 umbenannt wurde, und eth2 ist eigentlich eine umbenannte eth1 (wir werden in einem separaten Beitrag über udev sprechen). Das Erscheinen unseres neuen Netzwerks in dmesg sagt uns, dass die Netzwerkkarte unterstützt Kern und richtig entschieden. Es bleibt nur noch, eine neue Schnittstelle einzurichten /etc/network/interfaces(Debian), da die angegebene Karte nicht vom Startskript initialisiert wurde /etc/init.d/network. ifconfig sieht diese Karte:

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

aber dabei - nicht konfigurieren. Wie man eine Netzwerkkarte konfiguriert, 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 zu unterteilen. Insgesamt habe ich versucht, nicht Schritt für Schritt zu erklären, wie das Netzwerk konfiguriert wird, sondern das Prinzip zu erklären und zu erklären, wie das Netzwerk unter Linux startet und funktioniert. Ich hoffe sehr, dass es mir gelungen ist. Ich freue mich auf Ihre Kommentare und Ergänzungen. Im Laufe der Zeit werde ich den Artikel ergänzen.

Wenn Sie eine Netzwerkkarte konfigurieren müssen, wählen Sie die IP-Adresse, den vollqualifizierten Domänennamen (FQDN) sowie mögliche Aliase aus, die in der Datei /etc/hosts angegeben werden. Die Syntax ist die folgende:

IP_Adresse myhost.example.org-Aliase

Wenn Sie nicht möchten, dass Ihr Computer im Internet sichtbar ist (d. h. eine registrierte Domain und einen gültigen Bereich zugewiesener IP-Adressen haben – die meisten Benutzer tun dies nicht), stellen Sie einfach sicher, dass sich die IP-Adresse im IP-Adressbereich des privaten Netzwerks befindet . Gültige Bereiche:

Adressbereich privates Netzwerk Reguläres Präfix 10.0.0.1 - 10.255.255.254 8 172.x.0.1 - 172.x.255.254 16 192.168.y.1 - 192.168.y.254 24

x kann eine beliebige Zahl zwischen 16 und 31 sein. y kann eine beliebige Zahl zwischen 0 und 255 sein.

Eine gültige private IP-Adresse wäre 192.168.1.1. Ein gültiger FQDN für diese IP wäre lfs.example.org.

Auch wenn keine Netzwerkkarte verwendet wird, kann der FQDN dennoch erforderlich sein. Es ist in einigen Programmen erforderlich, damit sie ordnungsgemäß funktionieren.

Erstellen Sie die /etc/hosts-Datei wie folgt:

cat > /etc/hosts< "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost <192.168.1.1> # Ende /etc/hosts (Netzwerkkartenversion) EOF

Werte<192.168.1.1>Und geändert werden, um bestimmte Benutzer- oder andere Anforderungen zu erfüllen (wenn die IP-Adresse vom Netzwerk-/Systemadministrator zugewiesen wird und das Gerät mit einem bestehenden Netzwerk verbunden ist). Optionale Aliasnamen können weggelassen werden.

Wenn Sie keine Netzwerkkarte konfigurieren müssen, erstellen Sie die Datei /etc/hosts wie folgt:

cat > /etc/hosts< "EOF" # Begin /etc/hosts (no network card version) 127.0.0.1 localhost # /etc/hosts beenden (keine Netzwerkkartenversion) EOF

Vorherige Sektion:

Ich sagte, dass ich darüber schreiben werde, wie man virtuelle Hosts in Ubuntu einrichtet und das Verzeichnis für Hosting-Sites ändert. Nun, ich schreibe.

Im Internet wurde viel über virtuelle Hosts geschrieben und wie man sie einrichtet. Aber irgendwo sind die Informationen veraltet, irgendwo funktioniert es halb. Dadurch zieht sich die Prozedur, die höchstens fünf Minuten dauert, über mehrere Stunden hin. Ich hatte das. Um also beim nächsten Mal nicht wieder viel Zeit zu verschwenden, schreibe ich diesen Artikel.

Einrichten eines Stammverzeichnisses für Websites

Standardmäßig sucht Apache nach Webseiten in /var/www/html. Für den Benutzer kann dies jedoch unbequem sein. Daher kann bei Bedarf das Root-Verzeichnis geändert werden. Für meine Websites verwende ich beispielsweise den Ordner public_html im Homeverzeichnis. Außerdem werde ich sofort einen Ordner für die Testsite erstellen testsite.loc und direkt den Ordner, in dem sich die Site-Dateien befinden werden www. Das heißt, Sie müssen eine Verzeichnisstruktur wie diese erstellen: /public_html/testsite.loc/www/. Sie können dies über den Dateimanager tun, Sie können über das Terminal:

mkdir -p public_html/testsite.loc/www

Erstellen Sie sofort eine einfache Testseite index.html

Virtuelle Hosts einrichten

Hallo!!

Und speichern Sie es im www-Ordner.

Bearbeiten Sie nun die virtuelle Hostdatei 000-default.conf um Apache mitzuteilen, wo wir jetzt Websites hosten:

sudo gedit /etc/apache2/sites-available/000-default.conf

Suchen Sie in der sich öffnenden Datei die Zeile, die mit DocumentRoot beginnt, und ändern Sie den Pfad in einen neuen: /home/user/public_html/. Wo Benutzer- dein Benutzername.

Speichern Sie die Datei und schließen Sie den Editor.

Änderungen an der Einstellungsdatei vornehmen apache2.conf:

Sudo gedit /etc/apache2/apache2.conf

Fügen Sie der geöffneten Datei den folgenden Block hinzu:

Optionen Indizes FollowSymLinks AllowOverride None Erfordert alle Gewährung

Auch hier das Ersetzen nicht vergessen Benutzer zu Ihrem Benutzernamen. Wir speichern die Datei.

Erstellen Sie eine neue Hostkonfigurationsdatei. Kopieren Sie dazu die Standarddatei 000-default.conf und benennen Sie sie um testsite.conf:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf

Jetzt bearbeiten wir es:

Sudo gedit /etc/apache2/sites-available/testsite.conf

Der Einfachheit halber können Sie alle kommentierten Zeilen (die mit # beginnen) entfernen.

"ServerName testsite.loc" hinzufügen

Fügen Sie "Serveralias www.testsite.loc" hinzu

Geben Sie den Pfad zum Verzeichnis mit den Site-Dateien im DocumentRoot an.

Wir speichern die Änderungen.

Und schalten Sie die Seite ein:

sudo a2ensite testsite.conf

Apache neu starten:

Dienst apache2 neu laden

hosts-Datei

Um Browseranfragen an unseren Server umzuleiten. Bearbeiten wir die hosts-Datei:

sudo gedit /etc/hosts

Fügen Sie in der ersten Zeile mit einem Leerzeichen neben localhost die Domains unserer Website hinzu testsite.loc Und www.testsite.loc

Änderungen speichern

Wir können das Ergebnis unserer Arbeit überprüfen. Wir geben in den Browser die Adresse unserer Website ein - testsite.loc.

Ordnerberechtigungen

Apache-Server, der als Gruppe und Benutzer ausgeführt wird www-Daten. Im selben Home-Verzeichnis ist der Eigentümer der Dateien der aktuelle Benutzer. Um Probleme zu vermeiden, müssen Sie daher die Rechte an den Dateien und Ordnern in public_html und an ihm selbst ändern. Geben Sie dazu im Terminal ein.

Das DNS-Domänennamensystem wird verwendet, um festzustellen, welche IP zur richtigen Domäne im Internet gehört. Wenn ein Programm über seinen Domänennamen auf eine Site zugreifen muss, sendet das Betriebssystem eine Anfrage an den DNS-Server, um herauszufinden, an welche IP es als nächstes Pakete senden soll. Aber das ist nicht immer der Fall. Wenn wir beispielsweise auf die localhost-Domäne zugreifen, wird die Anfrage immer an unseren lokalen Computer gesendet.

Es dreht sich alles um die hosts-Datei. Wenn Sie Windows bereits verwendet haben, haben Sie wahrscheinlich schon einmal von dieser Datei gehört. Dort wurde es meistens verwendet, um den Zugriff auf eine Ressource schnell zu blockieren. Aber seine Anwendung ist viel breiter. In diesem Artikel werden wir uns ansehen, wie die Hosts-Datei unter Linux eingerichtet wird und welche Funktionen sie uns bietet.

Bevor wir zur hosts-Datei selbst kommen, müssen wir verstehen, wie Linux eine IP-Adresse für einen Domänennamen sucht. Ich sagte, dass das Betriebssystem sofort eine Anfrage an den DNS-Server sendet, aber das stimmt nicht ganz. Es gibt eine bestimmte Suchreihenfolge, in der sie ausgeführt wird. Diese Reihenfolge wird in der Konfigurationsdatei /etc/nsswitch.conf festgelegt

cat /etc/nsswitch.conf

Hier interessiert uns die hosts-Zeile. Es listet nach Priorität geordnet die Dienste auf, die verwendet werden, um eine IP-Adresse für einen Domänennamen nachzuschlagen. Das Element files bedeutet, dass die Datei /etc/hosts verwendet wird, und dns bedeutet, dass der Internet-Domain-Name-Service verwendet wird. Wenn files vor hosts liegt, bedeutet dies, dass das System zuerst versucht, die Domain in /etc/hosts und erst dann in DNS zu finden. So ist es standardmäßig.

Linux hostet die Dateieinrichtung

Die benötigte Datei befindet sich im Verzeichnis /etc/. Um es zu öffnen, können Sie einen beliebigen Texteditor sowohl in der Befehlszeile als auch in der grafischen Oberfläche verwenden, Sie müssen es nur mit Superuser-Rechten öffnen. Zum Beispiel mit vim:

sudo vi /etc/hosts

sudo gedit /etc/hosts

Die Dateisyntax ist ziemlich einfach. Es enthält mehrere Zeilen mit Domänennamen und IP-Adressen, die Sie dafür verwenden müssen. Jeder von ihnen sieht so aus:

ip_address-Domäne alias

Normalerweise erstellt die erste Zeile eine Regel, um alle Anfragen an die localhost-Domäne an die lokale IP-Adresse - 127.0.0.1 - umzuleiten:

127.0.0.1 lokaler Host

Diese Datei enthält standardmäßig auch Weiterleitungen für Ihren Computernamen und für IPv6-Adressen. Sie können Ihre eigenen Einstellungen für jede gewünschte Domain erstellen. Fügen Sie dazu am Ende der Datei ..0.0.1 eine Zeile hinzu:

127.0.0.1-Website

Bitte beachten Sie, dass hier nur die Domain ohne das Protokoll angegeben wird. Sie müssen das http- oder https-Präfix nicht angeben, sonst funktioniert nichts. Für die Subdomain www müssen Sie jedoch einen separaten Eintrag erstellen oder als Alias ​​schreiben. Zum Beispiel:

127.0.0..site

Wenn Sie jetzt eine Domain anfordern, öffnet die Site unsere lokale IP. Um den Zugriff auf die ursprüngliche Ressource wiederherzustellen, entfernen Sie einfach die hinzugefügte Zeile. Aber Sie können nicht nur die lokale Adresse verwenden, sondern jede andere. Dies ist sehr praktisch, wenn Sie gerade eine Domain registriert haben und die Domainzone noch nicht aktualisiert wurde, Sie aber bereits mit einer neuen Website arbeiten möchten. Fügen Sie einfach die Daten zu /etc/hosts hinzu und arbeiten Sie wie gewohnt.

Schlussfolgerungen

In diesem kurzen Artikel haben wir analysiert, wie DNS über die Linux-Hosts-Datei konfiguriert wird. Wie Sie sehen, können Sie mit seiner Hilfe beispielsweise den Zugriff auf unerwünschte Ressourcen blockieren, auf die Programme keinen Zugriff haben sollten, und sie auch für die Arbeit des Webmasters verwenden.

Über den Autor

Als Gründer und Administrator der Website bin ich ein Fan von Open-Source-Software und dem Linux-Betriebssystem. Ich verwende derzeit Ubuntu als mein Hauptbetriebssystem. Neben Linux interessiere ich mich für alles, was mit Informationstechnologie und modernen Wissenschaften zu tun hat.

Wenn Sie in anderen OCs arbeiten, wissen Sie möglicherweise bereits, wo sich die Hosts-Datei befindet, aber wenn Sie zu Ubuntu Linux wechseln, können Sie sich ein wenig verlaufen, wo sich diese Datei befindet und wie Sie sie bearbeiten.

Was ist eine hosts-Datei? Wo es sich in Ubuntu befindet und wie es bearbeitet wird, lesen Sie bei Interesse das Material unten.

HOSTS ist eine Textdatei, die eine Datenbank mit Domänennamen enthält und verwendet wird, um sie in Host-Netzwerkadressen zu übersetzen. Eine Anfrage an diese Datei spielt eine sehr wichtige Rolle und hat eine sehr hohe Priorität gegenüber dem Zugriff auf DNS-Server. Im Gegensatz zu DNS, das zwischen 30 Minuten und 2-3 Tagen aktualisiert wird, wird der Inhalt der Datei vom Computeradministrator kontrolliert und kann bei Bedarf jederzeit aktualisiert werden.

Wenn Sie in anderen OCs arbeiten, wissen Sie möglicherweise bereits, wo sich die Hosts-Datei befindet, aber wenn Sie zu einem anderen wechseln, z. B. Ubuntu Linux, werden Sie lange ohne Nachfrage suchen, wo sich diese Datei befindet und wie Sie sie bearbeiten können .

  • C:\WINDOWS\system32\drivers\etc - unter Windows
  • /etc/hosts - Auf Ubuntu

Um die Hosts-Datei zur Bearbeitung in Ubuntu zu öffnen, öffnen Sie ein Terminal (STRG+ALT+T) und führen Sie den Befehl aus:

sudo gedit /etc/hosts

Danach wird diese Datei in einem Standardeditor geöffnet, der zum Bearbeiten geeignet ist, der Standardinhalt der Datei:

127.0.0.1 localhost 127.0.1.1 your-pc # Die folgenden Zeilen sind für IPv6-fähige Hosts wünschenswert::1 ff02::2 ip6-allrouter

Wenn Sie die benötigte Domain und IP registrieren möchten, können Sie direkt nach der zweiten Zeile ganz am Anfang der Datei schreiben, nachdem Sie alles Notwendige geschrieben haben, klicken Sie im Gedit-Editor auf die Schaltfläche Speichern und Sie sind fertig, Sie don Sie müssen den Computer nicht neu starten.

Datei Gastgeber hat folgendes Format:

(IP – IP-Adresse des Hosts) (Hostname – Hostname in der Domäne) (Domain – Domänenname) (Alias ​​– definiert einen zusätzlichen Hostnamen)

Ausführlichere Informationen zum Arbeiten mit der Hosts-Datei erhalten Sie, indem Sie den Befehl im Terminal ausführen Mann Gastgeber.

Aufzeichnungsbeispiel:

193.109.247.234 linuxsoid.com 88.212.202.38 li.ru

alles ist so einfach, wir nehmen änderungen vor, speichern und fertig, es wird fragen geben, fragen sie in den kommentaren zum material.

mob_info