Debian Netzwerkkonfiguration
Netzwerke Konfigurieren
Die Netzwerkkonfiguration ist einer der wichtigsten Bestandteile der Linux-Welt.
Grundlagen
Ein paar der grundlegenden Befehle dazu sind ifconfig, route, netstatund arp Oder man verwendet die IP Befehle
Anmerkung
Bei einem Serversystem sollte man statische Adressen verwenden, man sollte den network-manager entfernen!
apt-get remove network-manager
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
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
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:
| -l | listening | Zeigt nur die "Hörenden" Internetverbindungen und Sockets an |
| -n | numerical | Ausgabe der numerischen Adressen statt symbolischen host,port oder Benutzernamen |
| -t | tcp | Nur Verbindungen und Sockets die mit dem Protokoll Tcp ( TransportControlProtocol ) arbeiten |
| -u | udp | Das selbe mit dem Protokoll Udp ( UserDatagrammProtocol ) |
| -x | unix | Hier werden die Unixsockets angezeigt |
| -p | program | Zeigt die PID ( ProzessIDentifikationsnummer ) und die Namen der Programme zu denen die Verbindungen und Sockets gehören |
| -c | continious | Bringt netstat dazu seine jede Sekunde eine neue Ausgabe zu erzeugen bis es abgebrochen wird |
| -r | route | Gibt das selbe aus wie der Befehl route, die routing Tabelle |
| -i | interfaces | Gibt Statistiken der Interfaces aus |
| -a | all | 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 Address Resolution Protocol 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 (delete) kann man Zuordnungen von Adressen aus der Tabelle entfernen.
root@zero:~# arp -d 192.168.247.222
So wie man mit dem Zusatz -s (specify) eine Zuordnung hinzufügen kann
root@zero:~# arp -s 192.168.247.222
Andere Optionen sind -n um statt hostnamen IP Adressen anzuzeigen:
root@zero:~# arp -n 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
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