Debian Netzwerkkonfiguration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Netzwerke Konfigurieren=
+
[[Kategorie:Debian]]
 +
= Befehle =
 +
* Mit dem Paket [[:Kategorie:iproute2|iproute2]] kann man die Netzwerkkonfiguration eines Linux-Systems überprüfen
 +
* der lange Befehl für das Anzeigen der Netzwerkkonfiguration lautet '''ip address show'''
 +
* Man kann diesen aber abkürzen:
 +
* '''ip a'''
 +
* Die Routen des Systems kann man sich mit '''ip route show''' anzeigen, oder einfach...
 +
* '''ip r'''
  
Die Netzwerkkonfiguration ist einer der wichtigsten Bestandteile der Linux-Welt.
+
= Konfigurationsdateien =
 +
* Unter ''/etc/network/interfaces'' liegt für Debian die persistente Konfigurationsdatei des Netzwerks
 +
* '''vim ''/etc/network/interfaces'' '''
  
==Grundlagen==
+
auto ''name_der_schnittstelle_1''
 
+
  iface ''name_der_schnittstelle_1'' inet static
Ein paar der grundlegenden Befehle dazu sind '''ifconfig''', '''route''', '''netstat'''und '''arp'''
+
  address statische.ip.des.hosts/maske
Oder man verwendet die IP Befehle
+
  gateway ip.des.netzwerk.routers
 
 
==Anmerkung==
 
Bei einem Serversystem sollte man statische Adressen verwenden, man sollte den network-manager entfernen!
 
  apt-get remove network-manager
 
 
=NetworkManager=
 
*http://wiki.ubuntuusers.de/NetworkManager
 
 
 
===ifconfig===
 
 
 
Mit ''ifconfig'' erhält man Informationen über und kann Netzwerkschnittstellen konfigurieren.
 
 
 
Der Befehl ''ifconfig'' alleine gibt den Status der momentan aktiven Netzwerkschnittstellen aus.
 
 
 
Gibt man ''ifconfig'' in einem Terminal ein bekommt man folgende zu anfangs meist kryptische Ausgabe:
 
 
 
root@zero:~# ifconfig
 
eth0      Link encap:Ethernet  Hardware Adresse 00:0c:29:47:62:93 
 
          inet Adresse:192.168.242.12  Bcast:192.168.255.255  Maske:255.255.240.0
 
          inet6-Adresse: fe80::20c:29ff:fe47:6293/64 Gültigkeitsbereich:Verbindung
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
 
          RX packets:504 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:2026 errors:0 dropped:0 overruns:0 carrier:0
 
          Kollisionen:0 Sendewarteschlangenlänge:1000
 
          RX bytes:57947 (57.9 KB)  TX bytes:185058 (185.0 KB)
 
          Interrupt:18 Basisadresse:0x1400
 
 
   
 
   
  lo        Link encap:Lokale Schleife 
+
  auto ''name_der_schnittstelle_2''
          inet Adresse:127.0.0.1  Maske:255.0.0.0
+
  iface ''name_der_schnittstelle_2'' inet static
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
+
   address statische.ip.des.hosts/maske
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
 
          RX packets:67 errors:0 dropped:0 overruns:0 frame:0
 
          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
 
          Kollisionen:0 Sendewarteschlangenlänge:0
 
          RX bytes:6102 (6.1 KB)  TX bytes:6102 (6.1 KB)
 
 
 
Davon sollte man sich jedoch nicht abschrecken lassen, denn die wichtigsten Informationen sind daraus leicht abzulesen.
 
 
 
''eth0'' ist der Name den Ubuntu unserer Netzwerkkarte gegeben hat
 
 
 
Und in folgender Zeile,
 
 
 
inet Adresse:192.168.242.12  Bcast:192.168.255.255 Maske:255.255.240.0
 
 
 
erfahren wir:
 
* Unsere IP Adresse ( zu sehen bei Adresse: )
 
* Unseren Broadcast ( Bcast: )
 
* Und unsere Networkmask ( Maske: )
 
 
 
Wenn man den ''ifconfig'' mit der option ''-a'' erweitert zeigt es auch Netzwerkschnittstellen an die nicht aktiv sind.
 
 
 
Um mit ''ifconfig'' jetzt eine Schnittstelle zu konfigurieren muss man die Einstellungen die man ändern möchte als Option an den Befehl anhängen ( Alle Änderungen die mit ifconfig gemacht werden sind '''temporär''' und gehen verloren wenn man die Schnittstelle reaktiviert ):
 
 
 
root@zero:~# ifconfig eth0 192.168.250.79 netmask 255.255.240.0 broadcast 192.168.255.255 mtu 1400 up
 
 
 
* eth0: Name der Netzwerkschnittstelle die bearbeitet wird gefolgt von der neuen IP Adresse
 
* netmask: neue Netzwerkmaske
 
* broadcast: neuer Broadcast
 
* mtu: maximum Transmit Unit
 
 
 
root@zero:~# ifconfig eth0 down
 
 
 
Schaltet die Schnittstelle eth0 aus und entsprechend
 
 
 
root@zero:~# ifconfig eth0 up
 
 
 
wieder ein.
 
 
 
Setzen einer temporären virtuellen Netzwerkschnittstelle:
 
 
 
root@zero:~# ifconfig eth0:1 192.168.178.145 up
 
 
 
 
 
 
 
===route===
 
 
 
Mit dem Befehl ''route'' lässt sich die IP Routing Tabelle konfigurieren und anschauen.
 
Alle Änderungen sind wie bei ''ifconfig'' nur '''temporär'''.
 
Der Befehl allein führt wieder zur reinen Information:
 
 
 
root@zero:~# route
 
Kernel-IP-Routentabelle
 
Ziel            Router          Genmask        Flags Metric Ref    Use Iface
 
192.168.240.0  *              255.255.240.0  U    0      0        0 eth0
 
link-local      *              255.255.0.0    U    1000  0        0 eth0
 
default        brunt.alpha.qua 0.0.0.0        UG    100    0        0 eth0
 
 
 
und mit der Option ''-n'' das selbe in numerischer Ausgabe:
 
 
 
Kernel IP routing table
 
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
 
192.168.240.0  0.0.0.0        255.255.240.0  U    0      0        0 eth0
 
169.254.0.0    0.0.0.0        255.255.0.0    U    1000  0        0 eth0
 
10.9.0.0        0.0.0.0        255.255.0.0    U    0      0        0 eth0
 
0.0.0.0        192.168.240.100 0.0.0.0        UG    100    0        0 eth0
 
 
 
Man kann einen standart gateway bestimmen mit:
 
 
 
root@zero:~# route add default gw 192.168.240.21
 
 
 
und ihn wieder entfernen mit:
 
 
 
root@zero:~# route del default
 
 
 
Setzen der Default Route mit Metric
 
 
 
root@zero:~# route add default gw 192.168.240.21 metric 150
 
 
 
Setzen einer Netz Route
 
 
 
root@zero:~# route add -net 172.168.34.0 255.255.255.0 gw 192.168.240.45
 
 
 
Setzen einer Host Route
 
 
 
root@zero:~# route add -host 10.12.14.16 gw 192.168.240.57
 
 
 
Setzen einer Reject Route
 
 
 
root@zero:~# route add -net 10.0.0.0 netmask 255.0.0.0 reject
 
 
 
===netstat===
 
 
 
Netstat ist ein sehr vielseitiger Befehl mit dem man unter anderem Netzwerk Verbindungen, Routing Tabellen (wie route), Schnittstellen Statistiken und andere Details einsehen kann.
 
 
 
Ohne Optionen zeigt ''netstat'' eine Liste offener/verbundener Sockets an. (Sockets sind Schnittstellen bestehend aus IP Adressen und Ports die es Anwendungen ermöglichen untereinander übers Netzwerk zu kommunizieren)
 
 
 
root@zero:~# netstat
 
Aktive Internetverbindungen (ohne Server)
 
Proto Recv-Q Send-Q Local Address          Foreign Address        State     
 
tcp        0      0 zero.delta.int:ssh      192.168.247.222:32800   VERBUNDEN 
 
tcp        0      0 zero.delta.int:omirr    arilon.alpha.quadra:nfs VERBUNDEN 
 
Aktive Sockets in der UNIX-Domäne (ohne Server)
 
Proto RefCnt Flags      Type      State        I-Node  Pfad
 
unix  2      [ ]        DGRAM                    2645    @/com/ubuntu/upstart
 
unix  14    [ ]        DGRAM                    5457    /dev/log
 
unix  2      [ ]        DGRAM                    2838    @/org/kernel/udev/udevd
 
...
 
 
 
Mit folgenden Befehlen kann man ''Netstat'' einsetzen:
 
 
 
{| Border=1 Cellpadding=4
 
|'''<nowiki>-l</nowiki>'''
 
|'''l'''istening
 
|Zeigt nur die "Hörenden" Internetverbindungen und Sockets an
 
|-
 
|'''<nowiki>-n</nowiki>'''
 
|'''n'''umerical
 
|Ausgabe der numerischen Adressen statt symbolischen host,port oder Benutzernamen
 
|-
 
|'''<nowiki>-t</nowiki>'''
 
|'''t'''cp
 
|Nur Verbindungen und Sockets die mit dem Protokoll Tcp ( TransportControlProtocol ) arbeiten
 
|-
 
|'''<nowiki>-u</nowiki>'''
 
|'''u'''dp
 
|Das selbe mit dem Protokoll Udp ( UserDatagrammProtocol )
 
|-
 
|'''<nowiki>-x</nowiki>'''
 
|uni'''x'''
 
|Hier werden die Unixsockets angezeigt
 
|-
 
|'''<nowiki>-p</nowiki>'''
 
|'''p'''rogram
 
|Zeigt die PID ( ProzessIDentifikationsnummer ) und die Namen der Programme zu denen die Verbindungen und Sockets gehören
 
|-
 
|'''<nowiki>-c</nowiki>'''
 
|'''c'''ontinious
 
|Bringt ''netstat'' dazu seine jede Sekunde eine neue Ausgabe zu erzeugen bis es abgebrochen wird
 
|-
 
|'''<nowiki>-r</nowiki>'''
 
|'''r'''oute
 
|Gibt das selbe aus wie der Befehl ''route'', die routing Tabelle
 
|-
 
|'''<nowiki>-i</nowiki>'''
 
|'''i'''nterfaces
 
|Gibt Statistiken der Interfaces aus
 
|-
 
|'''<nowiki>-a</nowiki>'''
 
|'''a'''ll
 
|Eine Liste der "Hörenden" und "Nichthörenden" sockets
 
|}
 
 
 
Bespiele:
 
 
 
Liste der hörenden Verbindungen:
 
root@zero:~# netstat -l
 
Aktive Internetverbindungen (Nur Server)
 
Proto Recv-Q Send-Q Local Address          Foreign Address        State     
 
tcp        0      0 *:ldap                  *:*                    LISTEN   
 
tcp        0      0 *:netbios-ssn          *:*                    LISTEN   
 
tcp        0      0 *:sunrpc                *:*                    LISTEN
 
...
 
Liste der TCP Verbindungen:
 
root@zero:~# netstat -t
 
Aktive Internetverbindungen (ohne Server)
 
Proto Recv-Q Send-Q Local Address          Foreign Address        State     
 
tcp        0      0 zero.delta.int:ssh      192.168.247.222:32800  VERBUNDEN 
 
tcp        0      0 zero.delta.int:omirr    arilon.alpha.quadra:nfs VERBUNDEN 
 
Numerische Liste der Verbindungen:
 
root@zero:~# netstat -n
 
Aktive Internetverbindungen (ohne Server)
 
Proto Recv-Q Send-Q Local Address          Foreign Address        State     
 
tcp        0      0 192.168.242.12:22      192.168.247.222:32800  VERBUNDEN 
 
tcp        0      0 192.168.242.12:808      192.168.240.1:2049      TIME_WAIT 
 
Aktive Sockets in der UNIX-Domäne (ohne Server)
 
Proto RefCnt Flags      Type      State        I-Node  Pfad
 
unix  2      [ ]        DGRAM                    2645    @/com/ubuntu/upstart
 
unix  14    [ ]        DGRAM                    5457    /dev/log
 
unix  2      [ ]        DGRAM                    2838    @/org/kernel/udev/udevd
 
...
 
Numerische Liste der hörenden TCP Verbindungen:
 
root@zero:~# netstat -ltn
 
Aktive Internetverbindungen (Nur Server)
 
Proto Recv-Q Send-Q Local Address          Foreign Address        State     
 
tcp        0      0 0.0.0.0:389            0.0.0.0:*              LISTEN   
 
tcp        0      0 0.0.0.0:139            0.0.0.0:*              LISTEN   
 
tcp        0      0 0.0.0.0:111            0.0.0.0:*              LISTEN   
 
tcp        0      0 0.0.0.0:80              0.0.0.0:*              LISTEN   
 
tcp        0      0 0.0.0.0:54737          0.0.0.0:*              LISTEN 
 
...
 
 
 
===arp===
 
 
 
''arp'' steht für '''A'''ddress '''R'''esolution '''P'''rotocol das dazu benutzt wird ist IP Adressen die Physikalischen Adressen von Netzwerkkarten ( Hardware- bzw. MAC-Adressen ) zuzuordnen.
 
 
 
Der gleichnahmige Linuxbefehl ermöglicht es die Tabelle der zugeordneten Adressen zu Konfigurieren oder Anzusehen.
 
 
 
Der Befehl ''arp'' alleine zeigt wie üblich nur Informationen zu oben genannter Tabelle:
 
 
 
root@zero:~# arp
 
Adresse Hardware-Typ Hardware-Adresse Optionen Maske Schnittstelle
 
192.168.245.200                  (unvollständig)                          eth0
 
arilon.alpha.quadrant    ether  00:0e:0c:62:c4:04  C                    eth0
 
caprica.alpha.quadrant  ether  00:18:51:2b:c0:7f  C                    eth0
 
192.168.247.222          ether  00:19:5b:54:8b:9e  C                    eth0
 
aquaria.alpha.quadrant  ether  00:18:51:2b:c0:7f  C                    eth0
 
 
 
 
 
Mit dem Zusatz ''-d'' ('''d'''elete) kann man Zuordnungen von Adressen aus der Tabelle entfernen.
 
 
 
root@zero:~# arp -d 192.168.247.222
 
 
 
So wie man mit dem Zusatz ''-s'' ('''s'''pecify) eine Zuordnung hinzufügen kann
 
 
 
root@zero:~# arp -s 192.168.247.222
 
  
Andere Optionen sind ''-n'' um statt hostnamen IP Adressen anzuzeigen:
+
* Um diese Konfiguration anzuwenden muss man einen der beiden Befehle ausführen:
root@zero:~# arp -n
+
** '''systemctl restart networking'''
Adresse Hardware-Typ Hardware-Adresse Optionen Maske Schnittstelle
+
** '''ifdown -va; ifup -va'''
192.168.240.21          ether  00:18:51:2b:c0:7f  C                    eth0
+
* Der Nameserver wird unter ''/etc/resolv.conf'' eingetragen
192.168.240.100          ether  00:16:3e:6f:d2:a4  C                    eth0
+
* '''vim ''/etc/resolv.conf'' '''
192.168.240.20          ether  00:18:51:2b:c0:7f  C                    eth0
 
192.168.247.222          ether  00:19:5b:54:8b:9e  C                    eth0
 
192.168.240.1            ether  00:0e:0c:62:c4:04  C                    eth0
 
192.168.245.200                  (unvollständig)                          eth0
 
Oder ''-v'' um die Ausgabe zu erweitern:
 
root@zero:~# arp -nv
 
Adresse Hardware-Typ Hardware-Adresse Optionen Maske Schnittstelle
 
192.168.240.21          ether  00:18:51:2b:c0:7f  C                    eth0
 
192.168.240.100          ether  00:16:3e:6f:d2:a4  C                    eth0
 
192.168.240.20          ether  00:18:51:2b:c0:7f  C                    eth0
 
192.168.247.222          ether  00:19:5b:54:8b:9e  C                    eth0
 
192.168.240.1            ether  00:0e:0c:62:c4:04  C                    eth0
 
192.168.245.200                  (unvollständig)                          eth0
 
Einträge: 6  Ignoriert: 0  Gefunden: 6
 
  
*[[Debian Netzwerk Dateien]]
+
nameserver ip.des.name.servers

Aktuelle Version vom 2. September 2024, 05:55 Uhr

Befehle

  • Mit dem Paket iproute2 kann man die Netzwerkkonfiguration eines Linux-Systems überprüfen
  • der lange Befehl für das Anzeigen der Netzwerkkonfiguration lautet ip address show
  • Man kann diesen aber abkürzen:
  • ip a
  • Die Routen des Systems kann man sich mit ip route show anzeigen, oder einfach...
  • ip r

Konfigurationsdateien

  • Unter /etc/network/interfaces liegt für Debian die persistente Konfigurationsdatei des Netzwerks
  • vim /etc/network/interfaces
auto name_der_schnittstelle_1
iface name_der_schnittstelle_1 inet static
 address statische.ip.des.hosts/maske
 gateway ip.des.netzwerk.routers

auto name_der_schnittstelle_2
iface name_der_schnittstelle_2 inet static
 address statische.ip.des.hosts/maske
  • Um diese Konfiguration anzuwenden muss man einen der beiden Befehle ausführen:
    • systemctl restart networking
    • ifdown -va; ifup -va
  • Der Nameserver wird unter /etc/resolv.conf eingetragen
  • vim /etc/resolv.conf
nameserver ip.des.name.servers