Debian Netzwerkkonfiguration: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „=Netzwerke Konfigurieren= Die Netzwerkkonfiguration ist einer der wichtigsten Bestandteile der Linux-Welt. ==Grundlagen== Ein paar der grundlegenden Befehl…“) |
|||
| Zeile 272: | Zeile 272: | ||
192.168.245.200 (unvollständig) eth0 | 192.168.245.200 (unvollständig) eth0 | ||
Einträge: 6 Ignoriert: 0 Gefunden: 6 | Einträge: 6 Ignoriert: 0 Gefunden: 6 | ||
| + | |||
| + | *[[Debian Netzwerk Dateien]] | ||
==Wichtige Dateien== | ==Wichtige Dateien== | ||
Version vom 10. Oktober 2022, 09:30 Uhr
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
Wichtige Dateien
In den Dateien
- /etc/resolv.conf
- /etc/network/interface
- /etc/hosts
- /etc/services
kann man die Konfigurationen des Netzwerks einsehen und auch permanent verändern.
/etc/services
In dieser Datei werden Ports verschiedenen Netzwerkdiensten zugeordnet.
thomas@lydia:~$ grep www /etc/services www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protoco
Namensauflösung
/etc/resolv.conf
Die Datei /etc/resolv.conf enthält Angaben zum DomainNameServer (DNS) Angegeben in folgender Weise:
root@zero:~# cat /etc/resolv.conf search alpha.quadrant nameserver 192.168.240.21
Wobei "192.168.240.21" die ip ihres Nameservers sein muss und "alpha.quadrant" ihre Domain, fals Sie eine haben.
/etc/hosts
Durch die /etc/hosts Datei lassen sich IP-Adressen zu Hostnamen fest zuordnen, was auch mehrere Namen einer IP Adresse ermöglicht.
Eine typische hosts-Datei sieht etwa so aus:
127.0.0.1 zero localhost.localdomain localhost 127.0.1.1 zero 192.168.242.12 zero.delta.int # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Wenn man jetzt ohne einen Domain Name Server einen Rechner über seinen Namen anpingen will kommt das hier dabei raus:
root@zero:~# ping ctu ping: unknown host ctu
Wenn man jetzt nicht gezwungen sein will dessen IP-Adresse einzugeben, dann kann man dank der hosts-Datei der IP einen Namen zuordnen.
root@zero:~# echo 192.168.247.222 ctu >> /etc/hosts
in unserem Beispiel ordnen wir jetzt der IP Adresse 192.168.247.222 den Namen ctu zu.
Nachdem wir eine der Methoden angewendet haben können wir nun auch den Rechner nach seinem Namen anpingen:
root@zero:~# ping ctu PING ctu (192.168.247.222) 56(84) bytes of data. 64 bytes from ctu (192.168.247.222): icmp_seq=1 ttl=64 time=0.626 ms
Man kann ihm auch weitere Namen hinzufügen:
root@zero:~# echo "192.168.247.222 suxer" >> /etc/hosts
root@zero:~# ping suxer PING suxer (192.168.247.222) 56(84) bytes of data. 64 bytes from ctu (192.168.247.222): icmp_seq=1 ttl=64 time=0.724 ms
Somit kann man auch ohne DNS Namen vergeben oder einem Ausfall eines vorhandenen DNS vorbeugen.
host
host ist ein Werkzeug um die zu Hostnamen gehörenden IP's herauszufinden und umgekehrt.
IP Adresse von der domain anzeigen:
root@zero:~# host www.xinux.de www.xinux.de has address 88.198.59.246
Domain Name Pointer anzeigen:
root@zero:~# host 88.198.59.246 246.59.198.88.in-addr.arpa domain name pointer gaius.tuxmen.de.
Mail Server einer domain anzeigen:
root@zero:~# host -t mx xinux.de xinux.de mail is handled by 10 baltar.tuxmen.de.
Name Server einer domain anzeigen:
root@zero:~# host -t ns xinux.de xinux.de name server ns4.schlumbumbel.de. xinux.de name server gaius.tuxmen.de. xinux.de name server ns5.bonis.de.
Start of Authority anzeigen:
root@zero:~# host -t soa xinux.de xinux.de has SOA record gaius.tuxmen.de. technik.xinux.de. 2008091901 14400 1800 604800 86400
Wie ist meine öffentliche IP?
vi /usr/local/bin/howismyip
cat /usr/local/bin/howismyip #!/bin/bash wget http://www.wieistmeineip.de -U "" -qO - | egrep -o 'digit:{1,3}\.digit:{1,3}\.digit:{1,3}\.digit:{1,3}' | uniq
Netzwerkkarte ummappen
Netzwerkbrücke
/etc/network/interface
In der Datei /etc/network/interface befinden sich die allgemeinen Konfigurationen für die Netzwerkkarten und sieht folgendermaßen aus:
root@zero:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.242.12
netmask 255.255.240.0
gateway 192.168.240.100
mtu size 1450
post-up /usr/local/bin/online
post-down /usr/local/bin/offline
auto eth0:13
iface eth0 inet static
address 192.168.242.13
netmask 255.255.240.0
auto eth1
iface eth1 inet dhcp
up route add -net 10.10.1.0 netmask 255.255.255.0 gw 192.168.240.1
down route del -net 10.10.1.0 netmask 255.255.255.0 gw 192.168.240.1
auto lo und iface lo inet loopback bewirkt das der Rechner sich intern selbst eine Adresse zuordnet, mit der verschiedene (Client)-Programme intern untereinander und mit dem Rechner kommunizieren können.
ifup / ifdown
Man kann ebenfalls den Befehl ifup benutzen um eine Netzwerkschnittstelle hochzufahren, respektive ifdown zum abschalten. Diese greifen auf die Datei /etc/network/interfaces zu.
Optionen
| -a | schaltet bei ifup alle Netzwerkschnittstellen mit dem Vermerk auto, schaltet bei ifdown alle aktiven Netzwerkschnittstellen ab |
| --force | erzwingt den Befehl |
| -h | zeigt Hilfe zu dem Befehl an |
| -v | ausführliche Ausgabe |
Schaltet alle Netzwerkschnittstellen ein, die mit auto in /etc/network/interfaces vermerkt sind.
ifup -a
Schaltet eth0 ein
ifup eth0
Schaltet alle eingeschalteten Netzwerkschnittstellen ab
ifdown -a
Konfiguration der Schnittstelle:(In die Datei schreiben)
Setzen einer permanenten virtuellen Netzwerkschnittstelle:
Öffnen der Datei:
vim /etc/network/interfaces
auto eth0:1 iface eth0:1 inet static address 192.168.178.145 netmask 255.255.255.0 network x.x.x.x broadcast x.x.x.x gateway x.x.x.x
Datei speichern