Veraltete Tools: nslookup & ifconfig

Mit nslookup und ifconfig gibt es zwei wohlbekannte Tools, die dazu dienen das Netzwerk eines Unix/Linux-Hosts zu konfigurieren und DNS zu testen.

ifconfig war 1983 das erste Mal Bestandteil der 4.2BSD-Distribution und entwickelte sich rasch zum Standard-Tool zur Netzwerkkonfiguration unter Linux - auch in kommerziellen Unices, wie Solaris oder HP-UX nahm das Programm Einzug.

Einige Linux-Distributionen setzen ifconfig nicht mehr ein (z. B. ArchLinux) - andere Distributionen (z. B. SuSE/SLES und Fedora) weisen darauf hin, dass das Tool bald nicht mehr zur Verfügung stehen wird:

1# man ifconfig
2...
3       WARNING: Ifconfig is obsolete on system with Linux  kernel  newer  than
4       2.0.  On  this  system  you  should  use ip. See the ip manual page for
5       details
6...
7NOTE
8       This program is obsolete! For replacement check ip addr and ip link.
9       For statistics use ip -s link.

Unter Solaris gibt es seit Version 11 dafür das Kommando ipadm (danke für den Tipp, Prometheus!).

ip funktioniert ab Linux 2.2. Es ist moderner und vereint darüber hinaus u.a. die Funktionen der Tools route und arp.

Anbei einige der wohl meist verwendeten ifconfig-/route-Aufrufe und deren ip-Pendants:

Aufgabeifconfig/routeip
Alle NICs anzeigen
ifconfig
ip addr show
Bestimmte NICS anzeigen
ifconfig eth0
ip addr show eth0
NIC deaktivieren
ifconfig eth0 down
ip link set eth0 down
NIC aktivieren
ifconfig eth0 up
ip link set eth0 up
IP zuweisen
ifconfig eth0 [IP] netmask [NM]
ip addr [IP]/[CIDR] dev eth0
Routing-Tabelle anzeigen
route
netstat -r
ip route
Standard-Route setzen
route add default gw [IP] eth0
ip route add default via [IP]

ip kann natürlich noch eine Menge mehr - um mal ein paar Beispiele zu nennen:

  • MTU und Promiscuous Mode aktivieren/deaktivieren
  • Multicasting und VLANs konfigurieren
  • ARP-Tabellen verwalten

Ähnlich ist es mit nslookup, da schon seit geraumer Zeit obsolet ist. Mit host und dig gibt es zwei Nachfolger-Tools, die einiges mehr beherrschen. Der quelloffene DNS-Server bind rät vom Einsatz von nslookup ab (Quelle):

Due to its arcane user interface and frequently inconsistent behavior, we do not recommend the use of nslookup. Use dig instead.

Anbei einige geläufige nslookup-Befehle und deren dig-Pendants.

Aufgabenslookupdig
Forward-Lookup
nslookup google.de
dig google.de
dig +short google.de
Reverse-Lookup
nslookup [IP]
dig -x [IP]
dig +short -x [IP]
Bestimmten DNS-Server verwenden
nslookup google.de [DNS]
dig @[DNS] google.de
dig @[DNS] +short google.de
MX-Records erfragen
nslookup -query=mx google.de
dig google.de MX
dig +short google.de MX
Benutzerdefinierter Timeout
nslookup -timeout=42 google.de
dig google.de +time=42
dig +short google.de +time=42

Die Option +short ist recht nützlich, wenn man einfach nur eine IP, bzw. einen Hostname erhalten will. Standardmäßig gibt dig noch zahlreiche Zusatzinformationen, wie beispielsweise die IP des verwendeten DNS-Servers und dessen Antwortzeit, aus:

 1; <<>> DiG 9.9.2-P2 <<>> google.de
 2;; global options: +cmd
 3;; Got answer:
 4;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33883
 5;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
 6
 7;; OPT PSEUDOSECTION:
 8; EDNS: version: 0, flags:; udp: 16384
 9;; QUESTION SECTION:
10;google.de.                     IN      A
11
12;; ANSWER SECTION:
13google.de.              300     IN      A       173.194.44.56
14google.de.              300     IN      A       173.194.44.55
15google.de.              300     IN      A       173.194.44.63
16
17;; Query time: 66 msec
18;; SERVER: 208.67.222.222#53(208.67.222.222)
19;; WHEN: Sun Apr  7 17:18:22 2013
20;; MSG SIZE  rcvd: 86
21
22# dig +short google.de
23173.194.44.55
24173.194.44.56
25173.194.44.63

Auch hier lohnt sich ein Blick in die Manpage von dig, da das Tool weitaus mehr Features, als die eben kurz angesprochenen, bietet. 🙂

Übersetzungen: