https://wiki.debian.org/NetworkConfiguration#Bridging_without_Switching
Die obige URL sagt Folgendes aus. Aber es ist mir nicht klar, wann sie optional sind und wann nicht. Können Sie mir einen Link zu Referenzen geben, die dies beschreiben? Vielen Dank.
Wenn Sie es manuell konfigurieren, wird so etwas das Standard-Gateway festlegen (Netzwerk, Broadcast und Gateway sind optional):
auto eth0
iface eth0 inet static
address 192.0.2.7
netmask 255.255.255.0
gateway 192.0.2.254
networking
gateway
user1424739
quelle
quelle
Antworten:
So richten Sie eine statische IP-Adresse ein und warum
Beachten! Ich spreche nicht über andere Möglichkeiten zum Einrichten eines Netzwerks wie mit NetworkManager. Alle in genannten Geräte
/etc/network/interfaces
werden von NM nicht berührtUm über ein IP-Netzwerk (IPv4 und IPv6) kommunizieren zu können, muss der Computer wissen, über welche IP-Adresse er verfügt. Daher
address
ist eine Anweisung erforderlich, um dem Computer dies mitzuteilen.Wenn der Computer dann mit einem anderen Computer kommunizieren möchte, verwendet er die IP-Adresse dieses anderen Computers, um zu überprüfen, ob sich dieser Computer im selben Netzwerk, LAN, befindet. In diesem Fall kann der Computer direkt mit dem anderen Computer kommunizieren.
Woher weiß der Computer, wann er mit einem Computer im selben LAN kommuniziert? Bei Verwendung der Netzwerke
netmask
, in denen der Netzteil der Adresse auf Einsen und der Hostteil auf Null gesetzt ist. Wenn Sie also eine bitweise UND-Verknüpfung zwischen jedem Bit in einer IP-Adresse und der Netzmaske ausführen, erhalten Sie die Netzwerkadresse der IP-Adresse, wobei der Host-Teil Null ist. Wenn wir dies also auf der IP-Adresse des Computers und der IP-Adresse des anderen Computers tun, erhalten wir jede Netzwerkadresse. Wenn sie gleich sind, bedeutet dies, dass sich die Computer im selben Netzwerk befinden und direkt miteinander kommunizieren können.Wenn die Netzwerkadressen nicht gleich sind, befinden sie sich in einem anderen LAN und können nicht direkt miteinander kommunizieren. Dann muss der Computer einen speziellen Computer verwenden, der mit anderen LANs verbunden ist. Dieser Computer ist ein Router (der auch eine Firewall und NAT haben kann). Wenn der Computer mit anderen Computern außerhalb des LAN kommunizieren möchte, muss er die Adresse des Computers kennen, der mit der
gateway
Anweisung festgelegt wurde. Wenn eine andere Schnittstelle bereits einengateway
Wert festgelegt hat, sollten und sollten Sie keine andere Gateway-Direktive für diese Schnittstelle festlegen. Diegateway
Direktive legt die Standardroute für den Computer fest, sodass Sie auf jedem Computer nur eine für IPv4 und nur eine für IPv6 benötigen. Diese Netzwerkadresse kann manuell mit dernetwork
Direktive eingestellt werden.Manchmal möchte der Computer mit allen Computern im LAN kommunizieren und verwendet die Broadcast-Adresse. Diese Adresse wird von allen Computern im selben LAN abgehört. Dies entspricht im Wesentlichen der Netzwerkadresse, außer dass der Host-Teil nicht alle Nullen und stattdessen alle Einsen enthält. Diese Broadcast-Adresse wird durch die Direktive
broadcast
in der Schnittstelle festgelegt.Die Schnittstellenadresse muss
network
nur einmal berechnet werden und wird normalerweise korrekt aus dieseraddress
und dennetmask
Anweisungen berechnet . Gleiches gilt für diebroadcast
Adresse. Sie müssen sie also nicht einstellen. Wenn Sie einen oder beide auf die falschen Werte einstellen, kann die Verbindung zum Internet und zu anderen Computern in Ihrem LAN unterbrochen werden. Wenn Sie also keine seltsamen Werte haben, lassen Sie sie vom Computer für Sie berechnen.Eine minimale statische Einstellung oder Zeilengruppe in
/etc/network/interfaces
könnte für das Geräteth1
in einem privaten Netzwerk folgendermaßen aussehen :Wie die Namensauflösung funktioniert und wie sie an DNS gebunden ist.
Domain-Namen werden verwendet, um zwischen für Menschen leicht lesbaren und zu merkenden Domain-Namen und den oben nicht so leicht zu merkenden IP-Adressen der Computer zu konvertieren. Dies wird als Namensauflösung bezeichnet .
Dies wird normalerweise durch die Datei
/etc/nsswitc.conf
und die Zeile gesteuert , die mit beginnenhosts:
. Wenn Sie den Computer auffordern, eine Verbindung zum Computermy.example.com
herzustellen, prüft er diese Datei und versucht, die IP-Adresse anhand des Namens zu ermittelnmy.example.com
. Diese Datei beantwortet nicht die Frage "Welche IP hat my.example.com?", Sondern teilt dem Computer nur mit, wo er die Antwort finden könnte.Normalerweise versucht es die
/etc/hosts
Datei zuerst für statische lokale Namen, dann avahimDNS
für dynamische lokale Namen und dann einen DNS-Domainnamen-Resovler, um einen Namen aus dem Internet zu erhalten.Wenn einige von ihnen Ihre Fragen nur langsam beantworten, sieht es möglicherweise so aus, als würde der Computer für eine Weile hängen bleiben. Wenn Sie das bekommen, überprüfen Sie zuerst die Namensauflösung.
Wenn Sie also statische Adressen hinzufügen, können Sie diese einfach zu Ihrer
/etc/hosts
Datei hinzufügen . Übrigens, wenn Sie eine statische Adresse haben, sollten Sie dort wahrscheinlich die IP-Adresse Ihres Computers in Ihre IP-Adresse ändern und nicht in die Standardadresse127.0.1.1
(die sich im lokalen Netzwerk befindet, in dem sich localhost befindet127.0.0.1
). Das funktioniert nur für Clients und nicht für Server.Die dynamischen Adressen, die Sie von Linux-Computern mit dem
avahi
Paket und von Apple-Computern (und MS Windows mit iTunes?) Erhalten. Das wird von "Magie" erledigt und Sie müssen das nicht beheben.Der DNS wird verwendet, um das Internet zu erreichen, und Sie müssen dem Computer mitteilen, wo sich die DNS-Server befinden, die Sie verwenden möchten, welche IP-Adresse verwendet werden soll und wie Ihre Standard-DNS-Domäne lautet.
Dies erfolgt in der Datei
/etc/resolv.conf
und kann statisch eingerichtet werden. Dies funktioniert in unserer nicht so statischen Welt nicht so gut, daher haben Sie normalerweise ein Paket namensresolvconf
installiert. Auf diese Weise können Sie diese Einstellungen in der/e/n/interfaces
Datei einrichten .Wenn wir also davon ausgehen, dass wir einen der Googles-DNS-Server,
8.8.8.8
den DNS-Server Ihres Internetdienstanbieters192.0.2.1
und Ihremy.example.org
Domänendomäne als Standard hinzufügen möchten, bearbeiten Sie einfach die/etc/network/interfaces
Datei und fügen diese beiden Zeilen in die Zeilengruppe für das statische Gerät ein.Möglicherweise stellen Sie auch fest, dass der DNS-Resolver nur maximal drei DNS-Server verwendet. Bitte schauen Sie auf der
man
Seite von nachresolv.conf
. Wie üblich, können Sie den Befehl verwendenman nsswitch.conf
,man resolv.conf
undman resolvconf
für weitere Informationen.Beachten Sie auch, dass ich für den ISP-Beispiel-DNS-Server die Domain example.com und example.org sowie das IP-Netzwerk 192.0.2.0/24 verwende. Diese sind explizit definiert, um in Beispielen verwendet zu werden. Siehe http://example.com/ oder http://tools.ietf.org/html/rfc2606 und rfc5735
Wie überprüfen Sie dann, ob es funktioniert?
Sie können das auf viele Arten tun, aber ich benutze normalerweise
um das gesamte Setup auf Namensauflösung zu testen. Wenn ich nur überprüfen möchte, ob DNS funktioniert, verwende ich einen der folgenden Befehle:
Denken Sie jedoch daran, dass diese DNS nur über die Einstellungen in der
/etc/resolv.conf
Datei und nicht über das/etc/nsswitch.conf
Teil testen . Es könnte sein, was Sie wollen oder nicht.quelle
/etc/internet/interfaces
sind kurz davor, von Ubuntu zugunsten ihrer eigenen veraltet zu werdenNetPlan
, siehe/etc/netplan/*.yaml
undNM
(die mit modifiziert werden könnennm-tools
).