Systemverwaltungshandbuch: IP Services

Kapitel 8 Verwaltung eines TCP/IP-Netzwerks (Aufgaben)

In diesem Kapitel werden die Aufgaben zur Verwaltung eines TCP/IP-Netzwerks beschrieben. Es umfasst die folgenden Themen:

Bei den folgenden Aufgaben wird davon ausgegangen, dass ein betriebsfähiges TCP/IP-Netzwerk an Ihrem Standort installiert ist, das entweder nur IPv4 oder den Dual-Stack IPv4/IPv6 unterstützt. Wenn IPv6 an Ihrem Standort implementiert werden soll, dies aber noch nicht erfolgt ist, lesen Sie zunächst die folgenden Kapitel:

Aufgaben bei der Verwaltung von TCP/IP Netzwerken (Übersicht der Schritte)

In der folgenden Tabelle werden weitere Aufgaben zur Netzwerkverwaltung nach der anfänglichen Konfiguration aufgeführt, wie beispielsweise das Anzeigen von Netzwerkinformationen. Die Tabelle enthält Beschreibungen des Zwecks der einzelnen sowie die Abschnitte, in denen die Schritte zur Ausführung der einzelnen Aufgaben beschrieben sind.

Aufgabe 

Beschreibung 

Weitere Informationen 

Anzeigen der Konfigurationsinformationen einer Schnittstelle. 

Ermitteln Sie die aktuelle Konfiguration jeder Schnittstelle auf einem System. 

So zeigen Sie Informationen zu einer bestimmten Schnittstelle an

Anzeigen der Schnittstellen-Adresszuweisungen. 

Ermitteln Sie die Adresszuweisungen für alle Schnittstellen auf dem lokalen System. 

So zeigen Sie die Schnittstellen-Adresszuweisungen an

Anzeigen der Statistiken auf Protokollbasis. 

Zeigen Sie die Leistung der Netzwerkprotokolle eines bestimmten Systems an. 

So zeigen Sie Statistiken nach dem Protokoll an

Anzeigen des Netzwerkstatus. 

Überwachen Sie Ihr System, indem Sie alle Socket- und Routing-Tabellen-Einträge anzeigen. Die Ausgabe umfasst die inet-Adressfamilie für IPv4 und die inet6-Adressfamilie für IPv6.  

So zeigen Sie den Status der Sockets an

Anzeigen des Status der Netzwerkschnittstellen. 

Überwachen Sie die Leistung der Netzwerkschnittstellen. Dies eignet sich insbesondere für die Behebung von Übertragungsproblemen. 

So zeigen Sie den Netzwerkschnittstellenstatus an

Anzeigen des Paket-Übertragungsstatus. 

Überwachen Sie den Status der Pakete, während sie über das Netzwerk gesendet werden. 

So zeigen Sie den Status von Paketübertragungen eines bestimmten Adresstyps an

Steuern der Ausgabe von IPv6-bezogenen Befehlen. 

Steuern Sie die Ausgabe der Befehle ping, netstat, ifconfig und traceroute. Erstellen Sie eine Datei mit dem Namen inet_type. Richten Sie die Variable DEFAULT_IP in dieser Datei ein.

So steuern Sie die Anzeige der Ausgabe von IP-bezogenen Befehlen

Überwachen des Netzwerkverkehrs. 

Zeigen Sie alle IP-Pakete mit dem Befehl snoop an.

So überwachen Sie den IPv6-Netzwerkverkehr

Verfolgen aller Routen, die dem Netzwerk-Routern bekannt sind. 

Verwenden Sie den Befehl traceroute, um alle Routen anzuzeigen.

So verfolgen Sie alle Routen

Überwachen der Schnittstellenkonfiguration mit dem Befehl ifconfig

Mit dem Befehl ifconfig können Sie Schnittstellen manuell IP-Adressen zuweisen und die Schnittstellenparameter manuell konfigurieren. Darüber hinaus führen die Oracle Solaris-Startskripten ifconfig aus, um Pseudoschnittstellen wie z. B. 6to4-Tunnelendpunkte zu konfigurieren.

Dieses Buch enthält zahlreiche Aufgaben, die verschiedene Optionen des vielseitigen Befehls ifconfig nutzen. Eine vollständige Beschreibung dieses Befehls, seiner Optionen und der Variablen finden Sie in der Manpage ifconfig(1M) Die allgemeine Syntax des Befehls ifconfig lautet:

ifconfig Schnittstelle [Protokollfamilie]

ProcedureSo zeigen Sie Informationen zu einer bestimmten Schnittstelle an

Mit dem Befehl ifconfig können Sie allgemeine Informationen zu den Schnittstellen eines bestimmten Systems ermitteln. Beispielsweise kann eine einfache ifconfig -Abfrage folgende Informationen liefern:

Im folgenden Verfahren wird gezeigt, wie Sie den Befehl ifconfig verwenden, um allgemeine Konfigurationsinformationen zu den Schnittstellen eines Systems zu beziehen.

  1. Nehmen Sie auf dem lokalen Host die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.

    Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.

  2. Rufen Sie die Informationen einer bestimmten Schnittstelle ab.


    # ifconfig interface
    

    Die Ausgabe des ifconfig-Befehls hat das folgende Format:

    • Statuszeile

      Die erste Zeile der Ausgabe des ifconfig-Befehls enthält den Schnittstellennamen sowie die Status-Flags, die der Schnittstelle derzeit zugeordnet sind. Darüber hinaus enthält die Statuszeile die Höchstzahl an Übertragungseinheiten (Maximum Transmission Unit, MTU), die für die Schnittstelle konfiguriert wurde, sowie eine Indexnummer. Anhand der Statuszeile stellen Sie den aktuellen Status der Schnittstelle fest.

    • Informationszeile mit der IP-Adresse

      Die zweite Zeile der Ausgabe des ifconfig-Befehls enthält die IPv4- oder die IPv6-Adresse, die für die Schnittstelle konfiguriert wurde. Bei einer IPv4-Adresse werden darüber hinaus die konfigurierte Netzmaske und die Broadcast-Adresse angezeigt.

    • MAC-Adresszeile

      Wenn Sie den Befehl ifconfig als Superuser oder in einer ähnlichen Rolle ausführen, enthält die Ausgabe des Befehls ifconfig eine dritte Zeile. Bei einer IPv4-Adresse finden Sie hier die der Schnittstelle zugewiesene MAC-Adresse (Ethernet-Schicht-Adresse). Bei einer IPv6-Adresse wird in der dritten Zeile die Link-lokale Adresse angezeigt, die der in.ndpd-Daemon aus der MAC-Adresse erzeugt hat.


Beispiel 8–1 Allgemeine Schnittstelleninformationen des Befehls ifconfig

Das folgende Beispiel zeigt, wie Sie mithilfe des Befehls ifconfig Informationen zur Schnittstelle eri auf einem bestimmten Host beziehen.


# ifconfig eri
eri0: flags=863<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 1
      inet 10.0.0.112 netmask ffffff80 broadcast 10.8.48.127
      ether 8:0:20:b9:4c:54 
	

In der folgenden Tabelle werden die Variableninformationen in einer ifconfig-Abfrage beschrieben, sowie wie die Variable auf dem Bildschirm angezeigt werden kann und welche Informationen bereitgestellt werden. Als Beispiel wird die vorherige Ausgabe verwendet.

Variable 

Bildschirmausgabe 

Beschreibung 

Schnittstellen- name 

eri0

Gibt den Gerätenamen der Schnittstelle an, deren Status mit dem Befehl ifconfig angefordert wurde.

Schnittstellen- status 

flags=863<UP

Zeigt den Status der Schnittstelle an, einschließlich aller Flags, die der Schnittstelle derzeit zugeordnet sind. Hier können Sie feststellen, ob die Schnittstelle momentan initialisiert ist (UP) oder nicht (DOWN).

Broadcaststatus 

BROADCAST

Gibt an, ob die Schnittstelle IPv4-Broadcasts unterstützt. 

Übertragungs- status 

RUNNING

Gibt an, ob das System derzeit Pakete über die Schnittstelle überträgt. 

Multicaststatus 

MULTICAST, IPv4

Zeigt an, ob die Schnittstelle Multicast-Übertragungen unterstützt. Die Beispielschnittstelle unterstützt IPv4-Multicast-Übertragungen. 

Maximale Übertragungs- einheit 

mtu 1500

Zeigt an, das diese Schnittstelle über eine maximale Übertragungsgröße von 1500 Oktetts verfügt. 

IP-Adresse 

inet 10.0.0.112

Zeigt die der Schnittstelle zugewiesene IPv4- oder IPv6-Adresse an. Die Beispielschnittstelle eri0 hat die IPv4-Adresse 10.0.0.112 .

Netzmaske 

netmask ffffff80

Zeigt die IPv4-Netzmaske der betreffenden Schnittstelle an. Beachten Sie, dass IPv6-Adressen keine Netzmasken verwenden. 

MAC-Adresse 

ether 8:0:20:b9:4c:54

Zeigt die Ethernet-Schicht-Adresse der Schnittstelle an. 


ProcedureSo zeigen Sie die Schnittstellen-Adresszuweisungen an

Router und Multihomed-Hosts verfügen über mehrere Schnittstellen, häufig sind jeder Schnittstelle sogar mehrere IP-Adressen zugewiesen. Mit dem Befehl ifconfig können Sie alle Adressen anzeigen, die den Schnittstellen eines Systems zugewiesen sind. Darüber hinaus können Sie mit dem Befehl ifconfig auch ausschließlich die IPv4- oder die IPv6-Adresszuweisungen anzeigen. Um zusätzlich die MAC-Adressen der Schnittstellen anzuzeigen, müssen Sie sich entweder als Superuser angemeldet oder eine entsprechende Rolle angenommen haben.

Weitere Informationen zum Befehl ifconfig finden Sie in der Manpage ifconfig(1M).

  1. Nehmen Sie auf dem lokalen System die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Zeigen Sie die Informationen zu allen Schnittstellen an.

    Sie können auch Variationen des Befehls ifconfig -a verwenden, um Folgendes auszuführen:

    • Anzeigen aller Adressen aller Schnittstellen eines Systems.


      # ifconfig -a
      
    • Anzeigen aller IPv4-Adressen, die den Schnittstellen eines Systems zugewiesen sind.


      # ifconfig -a4
      
    • Wenn das lokale System IPv6-konform ist, Anzeigen aller IPv6-Adressen, die den Schnittstellen eines Systems zugewiesen sind.


      ifconfig -a6
      

Beispiel 8–2 Anzeigen der Adressinformationen aller Schnittstellen

In diesem Beispiel werden die Einträge eines Hosts gezeigt, der nur über eine primäre Netzwerkschnittstelle, qfe0, verfügt. Dennoch zeigt die Ausgabe des Befehls ifconfig, dass qfe0 derzeit drei Adressformen zugewiesen sind: Loopback (lo0), IPv4 (inet) und IPv6 (inet6). Im IPv6-Abschnitt der Ausgabe enthält eine Zeile für die Schnittstelle qfe0 die Link-lokale IPv6-Adresse. Die zweite Adresse für qfe0 wird in der Zeile qfe0:1 angezeigt.


% ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 
        inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127
        ether 8:0:20:b9:4c:54 
lo0: flags=2000849 <UP,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
        inet6 ::1/128 
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        ether 8:0:20:b9:4c:54 
        inet6 fe80::a00:20ff:feb9:4c54/10 
qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
        inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64 


Beispiel 8–3 Anzeigen der Adressinformationen aller IPv4-Schnittstellen

Das folgende Beispiel zeigt die IPv4-Adresse, die für einen Multihomed-Host konfiguriert wurde. Um diese Form des ifconfig-Befehls auszuführen, müssen Sie nicht als Superuser angemeldet sein.


% ifconfig -a4
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127
        ether 8:0:20:b9:4c:54 
qfe1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127
        ether 8:0:20:6f:5e:17


Beispiel 8–4 Anzeigen der Adressinformationen aller IPv6-Schnittstellen

In diesem Beispiel wird gezeigt nur die IPv6-Adressen, die für einen bestimmten Host konfiguriert wurden. Um diese Form des ifconfig-Befehls auszuführen, müssen Sie nicht als Superuser angemeldet sein.


% ifconfig -a6
lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
        inet6 ::1/128 
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        ether 8:0:20:b9:4c:54 
        inet6 fe80::a00:20ff:feb9:4c54/10
qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
        inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64 

Diese Ausgabe des Befehls ifconfig zeigt die folgenden drei Arten von IPv6-Adressformen, die einer einzelnen Schnittstelle eines Hosts zugewiesen sind:

lo0

IPv6-Loopback-Adresse.

inet6 fe80::a00:20ff:feb9:4c54/10

Link-lokale Adresse, die der primären Netzwerkschnittstelle zugewiesen wurde.

inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64

IPv6-Adresse, einschließlich Teilnetzpräfix. Der Begriff ADDRCONF in der Ausgabe deutet darauf hin, dass diese Adresse automatisch vom Host konfiguriert wurde.


Überwachen des Netzwerkstatus mit dem Befehl netstat

Der Befehl netstat erzeugt eine Anzeige, in der Netzwerkstatus und Protokollstatistiken aufgeführt werden. Sie können den Status von TCP-, SCTP- und UDP-Endpunkten in einem Tabellenformat anzeigen. Darüber hinaus können Sie Routing-Tabelleninformationen sowie Schnittstelleninformationen anzeigen.

Der Befehl netstat zeigt, abhängig von der gewählten Befehlszeilenoption, verschiedene Arten von Netzwerkdaten an. Diese Anzeigen eignen sich besonders für die Systemverwaltung. Die allgemeine Syntax für den Befehl netstat lautet:

netstat [-m] [-n] [-s] [-i | -r] [-f Adressfamilie]

In diesem Abschnitt werden die am häufigsten verwendeten Optionen des Befehls netstat beschrieben. Eine ausführliche Beschreibung aller netstat-Optionen finden Sie in der Manpage netstat(1M).

ProcedureSo zeigen Sie Statistiken nach dem Protokoll an

Mit der Option netstat -s zeigen Sie Protokollstatistiken für die Protokolle UDP, TCP, SCTP, ICMP und IP an.


Hinweis –

Zum Anzeigen der Ausgabe des netstat-Befehls können Sie Ihr Oracle Solaris-Benutzerkonto verwenden.


  1. Zeigen Sie den Protokollstatus an.


    $ netstat -s
    

Beispiel 8–5 Netzwerkprotokollstatistiken

Das folgende Beispiel zeigt die Ausgabe des Befehls netstat - s an. Die Ausgabe wurde teilweise verkürzt. Die Ausgabe kann Bereiche enthalten, in denen ein Problem bei einem Protokoll auftritt. Beispielsweise können statistische Informationen von ICMPv4 und ICMPv6 darauf hindeuten, wo das ICMP-Protokoll Fehler gefunden hat.


RAWIP
        rawipInDatagrams    =  4701     rawipInErrors       =     0
        rawipInCksumErrs    =     0     rawipOutDatagrams   =     4
        rawipOutErrors      =     0

UDP
        udpInDatagrams      = 10091     udpInErrors         =     0
        udpOutDatagrams     = 15772     udpOutErrors        =     0

TCP     tcpRtoAlgorithm     =     4     tcpRtoMin           =   400
        tcpRtoMax           = 60000     tcpMaxConn          =    -1
        .
        .
        tcpListenDrop       =     0     tcpListenDropQ0     =     0
        tcpHalfOpenDrop     =     0     tcpOutSackRetrans   =     0

IPv4    ipForwarding        =     2     ipDefaultTTL        =   255
        ipInReceives        =300182     ipInHdrErrors       =     0
        ipInAddrErrors      =     0     ipInCksumErrs       =     0
        .
        .
        ipsecInFailed       =     0     ipInIPv6            =     0
        ipOutIPv6           =     3     ipOutSwitchIPv6     =     0

IPv6    ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      = 13986     ipv6InHdrErrors     =     0
        ipv6InTooBigErrors  =     0     ipv6InNoRoutes      =     0
        .
        .
        rawipInOverflows    =     0     ipv6InIPv4          =     0
 
       ipv6OutIPv4         =     0     ipv6OutSwitchIPv4   =     0

ICMPv4  icmpInMsgs          = 43593     icmpInErrors        =     0
        icmpInCksumErrs     =     0     icmpInUnknowns      =     0
        .
        .
        icmpInOverflows     =     0

ICMPv6  icmp6InMsgs         = 13612     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
        .
        .
        icmp6OutGroupQueries=     0     icmp6OutGroupResps  =     2
        icmp6OutGroupReds   =     0

IGMP:
      12287 messages received
          0 messages received with too few bytes
          0 messages received with bad checksum
      12287 membership queries received
SCTP  sctpRtoAlgorithm     =  vanj    
      sctpRtoMin           =  1000 
      sctpRtoMax           = 60000
      sctpRtoInitial       =  3000
      sctpTimHearBeatProbe =     2
      sctpTimHearBeatDrop  =     0
      sctpListenDrop       =     0
      sctpInClosed         =     0 

ProcedureSo zeigen Sie den Status von Transportprotokollen an

Mit dem Befehl netstat können Sie den Status der Transportprotokolle anzeigen. Ausführliche Informationen finden Sie in der Manpage netstat(1M).

  1. Zeigen Sie den Status der Transportprotokolle TCP und SCTP auf einem System an.


    $ netstat
    
  2. Zeigen Sie den Status eines bestimmten Transportprotokolls auf einem System an.


    $ netstat -P transport-protocol
    

    Werte für die Variable Transportprotokoll sind z. B. tcp, sctp oder udp.


Beispiel 8–6 Anzeigen des Status der Transportprotokolle TCP und SCTP

Das folgende Beispiel zeigt die Ausgabe des allgemeinen Befehls netstat. Beachten Sie, dass nur IPv4-Informationen angezeigt werden.


$ netstat

TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost-1.login      ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost-1.1014     mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT
SCTP:                  
Local Address    Remote Address  Swind  Send-Q  Rwind  Recv-Q StrsI/O  State 
---------------- --------------  -----  ------ ------ ------  ------   -------
 *.echo            0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.discard         0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.9001            0.0.0.0            0       0 102400      0   128/1   LISTEN


Beispiel 8–7 Anzeigen des Status eines bestimmten Transportprotokolls

Das folgende Beispiel zeigt die Ausgabe, wenn Sie die Option -P mit dem Befehl netstat angeben.


$ netstat -P tcp
   
TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost.login        ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost.1014       mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT

TCP: IPv6
 Local Address    Remote Address        Swind Send-Q Rwind Recv-Q   State If 
---------------- ---------------------- ------ ----- ------ ----------- -----
localhost.38983   localhost.32777       49152      0 49152      0 ESTABLISHED      
localhost.32777   localhost.38983       49152      0 49152      0 ESTABLISHED      
localhost.38986   localhost.38980       49152      0 49152      0 ESTABLISHED      

ProcedureSo zeigen Sie den Netzwerkschnittstellenstatus an

Mit der Option i des Befehls netstat zeigen Sie den Status der Netzwerkschnittstellen an, die im lokalen System konfiguriert wurden. So können Sie die Anzahl der Pakete ermitteln, die ein System in jedem Netzwerk empfängt und sendet.

  1. Zeigen Sie den Status der Netzwerkschnittstelle an.


    $ netstat -i
    

Beispiel 8–8 Anzeige des Netzwerkschnittstellenstatus

Das nächste Beispiel zeigt den Status des IPv4- und IPv6-Paketflusses durch die Schnittstellen des Hosts.

Beispielsweise kann der Zähler für eingehende Pakete (Ipkts) eines Servers jedes Mal um eins erhöht werden, wenn ein Client zu booten versucht, während der Zähler für abgehende Pakete (Opkts) konstant bleibt. Dieses Ergebnis deutet darauf hin, dass der Server die Boot-Anforderungspakete der Client empfängt. Jedoch weiß der Server nicht, wie er auf diese Pakete antworten soll. Dieses Fehlverhalten könnte durch eine falsche Adresse in einer der Datenbanken hosts, ipnodes oder ethers verursacht werden.

Bleibt der Zähler für eingehende Pakete jedoch konstant, sieht der Computer überhaupt keine Pakete. Dieses Ergebnis deutet auf einen anderen Fehler hin, möglicherweise ein Hardwareproblem.


Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue 
lo0   8232 loopback      localhost      142    0     142    0     0      0     
hme0  1500 host58        host58        1106302 0     52419  0     0      0     

Name  Mtu  Net/Dest      Address                    Ipkts  Ierrs Opkts  Oerrs Collis
lo0   8252 localhost     localhost                   142    0     142    0     0     
hme0  1500 fe80::a00:20ff:feb9:4c54/10 fe80::a00:20ff:feb9:4c54 1106305 0 52422 0  0

ProcedureSo zeigen Sie den Status der Sockets an

Mit der Option -a des Befehls netstat können Sie den Status der Sockets auf dem lokalen Host anzeigen.

  1. Geben Sie den folgenden Befehl ein, um den Status der Sockets und die Routing-Tabelleneinträge anzuzeigen:

    Zum Ausführen dieser Option von netstat können Sie Ihr Benutzerkonto verwenden.


    % netstat -a  
    

Beispiel 8–9 Anzeigen aller Socket und Routing-Tabelleneinträge

Die Ausgabe des Befehls netstat -a zeigt umfangreiche Statistiken an. Das folgende Beispiel zeigt Teile einer typischen Ausgabe des Befehls netstat -a.


UDP: IPv4
   Local Address         Remote Address     State
-------------------- -------------------- -------
      *.bootpc                              Idle
host85.bootpc                               Idle
      *.*                                   Unbound
      *.*                                   Unbound
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32771                               Idle
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32775                               Idle
      *.time                                Idle
       .
       .
      *.daytime                             Idle
      *.echo                                Idle
      *.discard                             Idle
      
UDP: IPv6
   Local Address                     Remote Address                   State      If  
--------------------------------- --------------------------------- ---------- -----
      *.*                                                           Unbound   
      *.*                                                           Unbound   
      *.sunrpc                                                      Idle      
      *.*                                                           Unbound   
      *.32771                                                       Idle      
      *.32778                                                       Idle      
      *.syslog                                                      Idle      
      .
      .
TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
      *.*                  *.*                0      0 49152      0 IDLE
localhost.4999             *.*                0      0 49152      0 LISTEN
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      *.*                  *.*                0      0 49152      0 IDLE
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      .
      .
      *.printer            *.*                0      0 49152      0 LISTEN
      *.time               *.*                0      0 49152      0 LISTEN
      *.daytime            *.*                0      0 49152      0 LISTEN
      *.echo               *.*                0      0 49152      0 LISTEN
      *.discard            *.*                0      0 49152      0 LISTEN
      *.chargen            *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.kshell             *.*                0      0 49152      0 LISTEN
      *.login  
       .
       .
            *.*                0      0 49152      0 LISTEN
   *TCP: IPv6
 Local Address            Remote Address        Swind Send-Q Rwind Recv-Q   State If
----------------------- ----------------------- ----- ------ ----- ------    ----
   *.*                         *.*                0      0 49152      0      IDLE
   *.sunrpc                    *.*                0      0 49152      0      LISTEN
   *.*                         *.*                0      0 49152      0      IDLE
   *.32774                     *.*                0      0 49152

ProcedureSo zeigen Sie den Status von Paketübertragungen eines bestimmten Adresstyps an

Mit der Option -f des Befehls netstat können Sie Statistiken zu den Paketübertragungen einer bestimmten Adressfamilie anzeigen.

  1. Zeigen Sie die Statistiken entweder von IPv4- oder von IPv6-Paketübertragungen an.


    $ netstat -f inet  |  inet6
    

    Zum Anzeigen von Informationen zu IPv4-Übertragungen geben Sie inet als Argument für netstat -f ein. Zum Anzeigen von Informationen zu IPv6-Übertragungen geben Sie inet6 als Argument für netstat -f ein.


Beispiel 8–10 Status von IPv4-Paketübertragungen

Das folgende Beispiel zeigt die Ausgabe des Befehls netstat -f inet.


TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
host58.734         host19.nfsd       49640      0 49640      0 ESTABLISHED
host58.38063       host19.32782      49640      0 49640      0 CLOSE_WAIT
host58.38146       host41.43601      49640      0 49640      0 ESTABLISHED
host58.996         remote-host.login 49640      0 49206      0 ESTABLISHED


Beispiel 8–11 Status von IPv6-Paketübertragungen

Das folgende Beispiel zeigt die Ausgabe des Befehls netstat -f inet6.


TCP: IPv6
 Local Address          Remote Address        Swind Send-Q Rwind Recv-Q   State    If
------------------ ------------------------- ----- ------ ----- ------ --------- -----
localhost.38065         localhost.32792       49152   0 49152      0    ESTABLISHED  
localhost.32792         localhost.38065       49152   0 49152      0    ESTABLISHED 
localhost.38089         localhost.38057       49152   0 49152      0    ESTABLISHED 

ProcedureSo zeigen Sie den Status bekannter Routen an

Mit der Option -r des Befehls netstat zeigen Sie die Routing-Tabelle des lokalen Hosts an. Diese Tabelle zeigt den Status aller dem Host bekannten Routen. Sie können diese Option des Befehls netstat von Ihrem Benutzerkonto aus ausführen.

  1. Zeigen Sie die IP-Routing Tabelle an.


    $ netstat -r
    

Beispiel 8–12 Ausgabe der Routing-Tabelle des Befehls netstat

Das folgende Beispiel zeigt die Ausgabe des Befehls netstat -r.


Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
host15               myhost               U         1  31059  hme0
10.0.0.14            myhost               U         1      0  hme0
default              distantrouter        UG        1      2  hme0
localhost            localhost            UH        42019361  lo0

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use   If  
--------------------------- --------------------------- ----- --- ------ -----
2002:0a00:3010:2::/64    2002:0a00:3010:2:1b2b:3c4c:5e6e:abcd U  1      0 hme0:1
fe80::/10                fe80::1a2b:3c4d:5e6f:12a2    U       1     23 hme0 
ff00::/8                 fe80::1a2b:3c4d:5e6f:12a2    U       1      0 hme0 
default                  fe80::1a2b:3c4d:5e6f:12a2    UG      1      0 hme0 
localhost                localhost                   UH      9  21832 lo0 

In der folgenden Tabelle wird die Bedeutung der verschiedenen Parameter der Bildschirmausgabe des Befehls netstat —r beschrieben.

Parameter 

Beschreibung 

Destination

Destination/Mask

Gibt den Host an, der als Ziel-Endpunkt der Route fungiert. Beachten Sie, dass die IPv6-Routing-Tabelle das Präfix für einen 6to4-Tunnelendpunkt (2002:0a00:3010:2::/64) als Ziel-Endpunkt der Route anzeigt.

Gateway

Gibt das zum Weiterleiten von Paketen zu verwendende Gateway an. 

Flags

Zeigt den aktuellen Status der Route an. Das Flag U gibt an, dass die Route hochgefahren ist. Das Flag G gibt an, dass die Route zu einem Gateway führt.

Use

Zeigt die Anzahl der gesendeten Pakete an. 

Interface

Zeigt die Schnittstelle auf dem lokalen Host an, die als Ursprungs-Endpunkt der Übertragung dient. 


Ermitteln des Status von Remote-Hosts mit dem Befehl ping

Mit dem Befehl ping können Sie den Status eines Remote-Hosts ermitteln. Wenn Sie den Befehl ping ausführen, sendet das ICMP-Protokoll ein Datagramm an den angegebenen Host und fordert eine Antwort an. ICMP ist das Protokoll, das in einem TCP/IP-Netzwerk für die Fehlerbehandlung verantwortlich ist. Mit dem Befehl ping können Sie feststellen, ob eine IP-Verbindung zum angegebenen Remote-Host besteht.

Im Folgenden ist die allgemeine Syntax des Befehls ping aufgeführt:

/usr/sbin/ping Host [Timeout]

In dieser Syntax ist Host der Name des Remote-Hosts. Das optionale Argument Timeout gibt eine Zeit in Sekunden an, über die der Befehl ping versucht, den Remote-Host zu erreichen. Der Standardwert beträgt 20 Sekunden. Weitere Informationen zur Syntax und den gültigen Optionen finden Sie in der Manpage ping(1M).

ProcedureSo ermitteln Sie, ob ein Remote-Host ausgeführt wird

  1. Geben Sie den Befehl ping in der folgenden Form ein:


    $ ping hostname
    

    Wenn der Host Hostname ICMP-Übertragungen akzeptiert, wird die folgende Meldung angezeigt:


    hostname is alive

    Diese Meldung zeigt, dass Hostname auf die ICMP-Anforderung reagiert. Wenn Hostname jedoch heruntergefahren ist oder keine ICMP-Pakete empfangen kann, erhalten Sie die folgende Antwort vom ping-Befehl:


    no answer from hostname
    

ProcedureSo stellen Sie fest, ob ein Host Pakete abwirft

Mit der Option -s des Befehls ping können Sie feststellen, ob ein Remote-Host zwar ausgeführt wird, aber dennoch Pakete verliert.

  1. Geben Sie den Befehl ping in der folgenden Form ein:


    $ ping -s hostname
    

Beispiel 8–13 ping-Ausgabe zur Erkennung abgeworfener Pakete

Der Befehl ping -s Hostname sendet kontinuierlich Pakete an den angegebenen Host, bis ein Interrupt-Zeichen gesendet wird oder ein Timeout eintritt. Die Antworten auf Ihren Bildschirm sollten etwa wie folgt aussehen:


& ping -s host1.domain8
PING host1.domain8 : 56 data bytes
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=0. time=1.67 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=1. time=1.02 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=2. time=0.986 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=3. time=0.921 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=4. time=1.16 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=5. time=1.00 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=5. time=1.980 ms

^C

----host1.domain8  PING Statistics----
7 packets transmitted, 7 packets received, 0% packet loss
round-trip (ms)  min/avg/max/stddev = 0.921/1.11/1.67/0.26

Die Paketverluststatistiken geben an, ob der Host Pakete verloren hat. Falls der Befehl ping fehlschlägt, prüfen Sie den Netzwerkstatus, der von den Befehlen ifconfig und netstat gemeldet wird. Lesen Sie dazu auch Überwachen der Schnittstellenkonfiguration mit dem Befehl ifconfig und Überwachen des Netzwerkstatus mit dem Befehl netstat.


Verwalten und Protokollieren der Netzwerkstatusanzeigen

Die folgenden Aufgaben zeigen, wie Sie den Netzwerkstatus mit bekannten Netzwerkbefehlen prüfen.

ProcedureSo steuern Sie die Anzeige der Ausgabe von IP-bezogenen Befehlen

Sie können die Ausgabe der Befehle netstat und ifconfig so steuern, dass nur IPv4- oder sowohl IPv4- und IPv6-Informationen angezeigt werden.

  1. Erstellen Sie die /etc/default/inet_type-Datei.

  2. Fügen Sie einen der folgenden Einträge zur /etc/default/inet_type-Datei hinzu, je nachdem, welche Angabe für Ihr Netzwerk erforderlich ist:

    • So zeigen Sie nur IPv4-Informationen an:


      DEFAULT_IP=IP_VERSION4
    • So zeigen Sie sowohl IPv4- als auch IPv6-Informationen an


      DEFAULT_IP=BOTH

      oder


      DEFAULT_IP=IP_VERSION6

      Weitere Informationen zur inet_type-Datei finden Sie in der Manpage inet_type(4).


    Hinweis –

    Die Flags -4 und -6 im Befehl ifconfig setzen die Werte in der inet_type-Datei außer Kraft. Darüber hinaus überschreibt das Flag -f im Befehl netstat die Werte in der inet_type-Datei.



Beispiel 8–14 Steuern der Ausgabe zur Auswahl von IPv4- und IPv6-Informationen


ProcedureSo protokollieren Sie die Aktionen des IPv4-Routing-Daemon

Wenn Sie eine Fehlfunktion des IPv4-Routing-Daemons routed vermuten, können Sie ein Protokoll starten, das die Aktivitäten des Daemon aufzeichnet. Das Protokoll enthält alle Paketübertragungen, die nach dem Start des routed-Daemon ausgeführt wurden.

  1. Nehmen Sie auf dem lokalen Host die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.

    Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.

  2. Erstellen Sie eine Protokolldatei, in der die Aktionen des Routing-Daemons aufgezeichnet werden:


    # /usr/sbin/in.routed /var/log-file-name
    

    Achtung – Achtung –

    Bei einem stark ausgelasteten Netzwerk kann dieser Befehl eine extrem umfangreiche Ausgabe erzeugen.



Beispiel 8–15 Netzwerkprotokoll für den in.routed-Daemon

Das folgende Beispiel zeigt den Anfang des Protokolls, das nach dem Verfahren unter So protokollieren Sie die Aktionen des IPv4-Routing-Daemon erstellt wurde.


-- 2003/11/18 16:47:00.000000 --
Tracing actions started
RCVBUF=61440
Add interface lo0  #1   127.0.0.1      -->127.0.0.1/32   
   <UP|LOOPBACK|RUNNING|MULTICAST|IPv4> <PASSIVE> 
Add interface hme0 #2   10.10.48.112    -->10.10.48.0/25   
    <UP|BROADCAST|RUNNING|MULTICAST|IPv4> 
turn on RIP
Add    10.0.0.0        -->10.10.48.112      metric=0  hme0  <NET_SYN>
Add    10.10.48.85/25  -->10.10.48.112      metric=0  hme0  <IF|NOPROP>

ProcedureSo verfolgen Sie die Aktivitäten des IPv6 Neighbor Discovery-Daemon

Wenn Sie eine Fehlfunktion des in.ndpd-Daemons vermuten, können Sie ein Protokoll starten, das die Aktivitäten des Daemon aufzeichnet. Diese Ablaufverfolgung wird bis zur Beendigung in der standardmäßigen Ausgabe angezeigt. Dieses Protokoll enthält alle Paketübertragungen, die nach dem Start des in.ndpd-Daemon ausgeführt wurden.

  1. Nehmen Sie die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser bei dem lokalen IPv6-Knoten an.

    Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.

  2. Starten Sie eine Verfolgung des in.ndpd-Daemon.


    # /usr/lib/inet/in.ndpd -t
    
  3. Beenden Sie die Verfolgung gegebenenfalls durch Drücken von Strg-C.


Beispiel 8–16 Verfolgung des in.ndpd-Daemon

Die folgende Ausgabe zeigt den Beginn der Verfolgung des in.ndpd-Daemon.


# /usr/lib/inet/in.ndpd -t
Nov 18 17:27:28 Sending solicitation to  ff02::2 (16 bytes) on hme0
Nov 18 17:27:28         Source LLA: len 6 <08:00:20:b9:4c:54>
Nov 18 17:27:28 Received valid advert from fe80::a00:20ff:fee9:2d27 (88 bytes) on hme0
Nov 18 17:27:28         Max hop limit: 0
Nov 18 17:27:28         Managed address configuration: Not set
Nov 18 17:27:28         Other configuration flag: Not set
Nov 18 17:27:28         Router lifetime: 1800
Nov 18 17:27:28         Reachable timer: 0
Nov 18 17:27:28         Reachable retrans timer: 0
Nov 18 17:27:28         Source LLA: len 6 <08:00:20:e9:2d:27>
Nov 18 17:27:28         Prefix: 2001:08db:3c4d:1::/64
Nov 18 17:27:28                 On link flag:Set
Nov 18 17:27:28                 Auto addrconf flag:Set
Nov 18 17:27:28                 Valid time: 2592000
Nov 18 17:27:28                 Preferred time: 604800
Nov 18 17:27:28         Prefix: 2002:0a00:3010:2::/64
Nov 18 17:27:28                 On link flag:Set
Nov 18 17:27:28                 Auto addrconf flag:Set
Nov 18 17:27:28                 Valid time: 2592000
Nov 18 17:27:28                 Preferred time: 604800

Anzeigen von Routing-Informationen mit dem Befehl traceroute

Mit dem Befehl traceroute zeichnen Sie die Route auf, der ein IP-Paket zu einem Remote-System folgt. Technische Informationen zum Befehl traceroute finden Sie in der Manpage traceroute(1M).

Mit dem Befehl traceroute können Sie alle falschen Routing-Konfigurationen und mögliche Probleme im Routing-Pfad aufdecken. Ist ein bestimmter Host nicht erreichbar, können Sie mit traceroute feststellen, welchen Pfad das Paket zum Remote-Host eingeschlagen hat, und wo mögliche Probleme aufgetreten sind.

Der Befehl traceroute kann auch zur Anzeige der Round-Trip-Zeit jedes Gateway im Pfad zum Ziel-Host verwendet werden. Mit diesen Informationen kann beispielsweise analysiert werden, warum der Datenverkehr zwischen den beiden Hosts nur langsam erfolgt.

ProcedureSo ermitteln Sie die Route zu einem Remote-Host

  1. Geben Sie den folgenden Befehl ein, um die Route zu einem Remote-System zu ermitteln:


    % traceroute destination-hostname
    

    Sie können den Befehl traceroute in diesem Format von Ihrem Benutzerkonto aus ausführen.


Beispiel 8–17 Verwenden des Befehls traceroute zum Anzeigen der Route zu einem Remote-Host

Die folgende Ausgabe des Befehls traceroute zeigt einen Pfad mit sieben Hops an, den ein Paket vom lokalen System nearhost zum Remote-System farhost eingeschlagen hat. Darüber hinaus zeigt die Ausgabe, wie lange ein Paket bis zur jeweils nächsten Hop benötigt.


istanbul% traceroute farhost.faraway.com
	traceroute to farhost.faraway.com (172.16.64.39), 30 hops max, 40 byte packets
	 1  frbldg7c-86 (172.16.86.1)  1.516 ms  1.283 ms  1.362 ms
	 2  bldg1a-001 (172.16.1.211)  2.277 ms  1.773 ms  2.186 ms
	 3  bldg4-bldg1 (172.16.4.42)  1.978 ms  1.986 ms  13.996 ms
	 4  bldg6-bldg4 (172.16.4.49)  2.655 ms  3.042 ms  2.344 ms
	 5  ferbldg11a-001 (172.16.1.236)  2.636 ms  3.432 ms  3.830 ms
	 6  frbldg12b-153 (172.16.153.72)  3.452 ms  3.146 ms  2.962 ms
	 7  sanfrancisco (172.16.64.39)  3.430 ms  3.312 ms  3.451 ms

ProcedureSo verfolgen Sie alle Routen

Bei diesem Verfahren wird die Option -a des Befehls traceroute verwendet, um alle Routen zu verfolgen.

  1. Geben Sie den folgenden Befehl auf dem lokalen System ein:


    % traceroute -ahost-name
    

    Sie können den Befehl traceroute in diesem Format von Ihrem Benutzerkonto aus ausführen.


Beispiel 8–18 Verfolgen aller Routen zu einem Dual-Stack-Host

In diesem Beispiel werden alle möglichen Routen zu einem Dual-Stack-Host gezeigt.


% traceroute -a v6host.remote.com
traceroute: Warning: Multiple interfaces found; using 2::56:a0:a8 @ eri0:2
traceroute to v6host (2001:db8:4a3b::102:a00:fe79:19b0),30 hops max, 60 byte packets
 1  v6-rout86 (2001:db8:4a3b:56:a00:fe1f:59a1)  35.534 ms  56.998 ms * 
 2  2001:db8::255:0:c0a8:717  32.659 ms  39.444 ms *
 3  farhost.faraway.COM (2001:db8:4a3b::103:a00:fe9a:ce7b)  401.518 ms  7.143 ms *
 4  distant.remote.com (2001:db8:4a3b::100:a00:fe7c:cf35)  113.034 ms  7.949 ms *
 5  v6host (2001:db8:4a3b::102:a00:fe79:19b0)  66.111 ms *  36.965 ms

traceroute to v6host.remote.com  (192.168.10.75),30 hops max,40 byte packets
 1  v6-rout86 (172.16.86.1)  4.360 ms  3.452 ms  3.479 ms
 2  flrmpj17u.here.COM (172.16.17.131)  4.062 ms  3.848 ms  3.505 ms
 3  farhost.farway.com (10.0.0.23)  4.773 ms *  4.294 ms
 4  distant.remote.com (192.168.10.104)  5.128 ms  5.362 ms *
 5  v6host  (192.168.15.85)  7.298 ms  5.444 ms *
 

Überwachen der Paketübertragungen mit dem Befehl snoop

Mit dem Befehl snoop können Sie den Status der Datenübertragungen überwachen. snoop erfasst Netzwerkpakete und zeigt deren Inhalte in dem von Ihnen geforderten Format an. Pakete können entweder direkt nach dem Empfang angezeigt oder in einer Datei gespeichert werden. Wenn der Befehl snoop in eine Datei schreibt, sind Paketverluste aufgrund hoher Auslastung während der Verfolgung unwahrscheinlich. snoop wird dann zum Auswerten des Dateiinhalts verwendet.

Zum Erfassen von Paketen, die im promiskuitiven Modus von der Standardschnittstelle empfangen oder gesendet werden, müssen Sie die Rolle eines Netzwerkmanagers annehmen oder sich als Superuser anmelden. snoop kann nur die Daten in einer Zusammenfassung anzeigen, die auf der höchsten Protokollebene bleiben. Beispielsweise kann ein NFS-Paket nur NFS-Informationen anzeigen. Die zu Grunde liegenden RPC-, UDP-, IP- und Ethernet Frame-Informationen werden unterdrückt, können aber angezeigt werden, wenn eine der verbose-Optionen gewählt wird.

Arbeiten Sie regelmäßig mit dem Befehl snoop, um sich mit seinem normalen Systemverhalten vertraut zu machen. Hilfe zur Analyse von Paketen finden Sie in den aktuellen Weißbüchern und RFCs, suchen Sie den Rat eines Experten in den jeweiligen Bereichen, z. B. NFS oder NIS. Weitere Informationen zur Syntax von snoop und den gültigen Optionen finden Sie in der Manpage snoop(1M)

ProcedureSo prüfen Sie Pakete von allen Schnittstellen

  1. Nehmen Sie auf dem lokalen Host die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Drucken Sie Informationen zu den Schnittstellen, die an das System angehängt sind.


    # ifconfig -a
    

    In der Regel verwendet der Befehl snoop das erste nicht-Loopback-Gerät, normalerweise die primäre Netzwerkschnittstelle.

  3. Beginnen Sie die Paketerfassung durch Eingabe von snoop ohne zusätzliche Argumente. Siehe Beispiel 8–19.

  4. Drücken Sie Strg-C, um den Prozess zu unterbrechen.


Beispiel 8–19 Ausgabe des Befehls snoop

Der allgemeine snoop-Befehl bei einem Dual-Stack-Host eine Ausgabe wieder, die etwa der Folgenden entspricht.


% snoop
Using device /dev/hme (promiscuous mode)
farhost.remote.com -> myhost       RLOGIN C port=993 
    myhost -> farhost.remote.com   RLOGIN R port=993 Using device /dev/hme
router5.local.com -> router5.local.com ARP R 10.0.0.13, router5.local.com is
    0:10:7b:31:37:80
router5.local.com -> BROADCAST     TFTP Read "network-confg" (octet)
farhost.remote.com -> myhost       RLOGIN C port=993 
    myhost ->   nisserve2          NIS C MATCH 10.0.0.64 in ipnodes.byaddr
nisserve2 ->    myhost             NIS R MATCH No such key
    blue-112 -> slave-253-2        NIS C MATCH 10.0.0.112 in ipnodes.byaddr
myhost -> DNSserver.local.com      DNS C 192.168.10.10.in-addr.arpa. Internet PTR ?
DNSserver.local.com  myhost        DNS R 192.168.10.10.in-addr.arpa. Internet PTR 
   niserve2.
.
.
farhost.remote.com-> myhost        RLOGIN C port=993 
    myhost -> farhost.remote.com   RLOGIN R port=993 fe80::a00:20ff:febb:
.
fe80::a00:20ff:febb:e09 -> ff02::9 RIPng R (5 destinations)

Die in dieser Ausgabe erfassten Pakete zeigen einen Bereich mit einer Remote-Anmeldung, einschließlich Lookup-Vorgängen an die NIS- und DNS-Servern zur Auflösung der Adresse. Darüber hinaus sind regelmäßig auftretende ARP-Pakete von lokalen Router und Advertisement-Nachrichten der Link-lokalen IPv6-Adresse an in.ripngd enthalten.


ProcedureSo erfassen Sie die Ausgabe des Befehls snoop in einer Datei

  1. Nehmen Sie auf dem lokalen Host die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Erfassen Sie eine snoop-Sitzung in einer Datei.


    # snoop -o filename
    

    Beispiel:


    # snoop -o /tmp/cap
    Using device /dev/eri (promiscuous mode)
    30 snoop: 30 packets captured

    In diesem Beispiel wurden 30 Pakete in einer Datei namens /tmp/cap erfasst. Dieser Datei kann sich in jedem Verzeichnis mit ausreichend Speicherplatz befinden. Die Anzahl der erfassten Pakete wird in der Befehlszeile angezeigt. Anschließend können Sie jederzeit Strg-C drücken, um die Erfassung abzubrechen.

    snoop erzeugt eine spürbare Netzwerklast auf dem Host-Computer, die zu einer Verzerrung der Ergebnisse führen kann. Um die tatsächlichen Ergebnisse anzuzeigen, führen Sie snoop von einem dritten System aus.

  3. Zeigen Sie die Ausgabe des Befehls snoop in der Datei an.


    # snoop -i filename
    

Beispiel 8–20 Inhalt einer Datei zur Erfassung der Ausgabe des Befehls snoop

Die folgende Ausgabe zeigt verschiedene Informationen an, die Sie als Ausgabe des Befehls snoop -i erhalten könnten.


# snoop -i /tmp/cap
1   0.00000 fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 
    ICMPv6 Neighbor advertisement
2   0.16198 farhost.com   -> myhost     RLOGIN C port=985 
3   0.00008 myhost -> farhost.com       RLOGIN R port=985 
10  0.91493    10.0.0.40 -> (broadcast)  ARP C Who is 10.0.0.40, 10.0.0.40 ?
34  0.43690 nearserver.here.com  -> 224.0.1.1  IP  D=224.0.1.1 S=10.0.0.40 LEN=28, 
      ID=47453, TO =0x0, TTL=1
35  0.00034  10.0.0.40 -> 224.0.1.1    IP  D=224.0.1.1 S=10.0.0.40 LEN=28, ID=57376, 
     TOS=0x0, TTL=47  

ProcedureSo prüfen Sie Pakete zwischen einem IPv4-Server und einem Client

  1. Richten Sie ein von einem Hub getrenntes snoop-System ein, das entweder mit dem Client oder dem Server verbunden ist.

    Das dritte System (das snoop-System) prüft den gesamten zwischengeschalteten Verkehr, so dass die snoop-Verfolgung widerspiegelt, was tatsächlich in der Leitung geschieht.

  2. Nehmen Sie auf dem snoop-System die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  3. Geben Sie den snoop-Befehl mit den gewünschten Optionen ein, und speichern Sie die Ausgabe in einer Datei.

  4. Prüfen und analysieren Sie die Ausgabe.

    Informationen zur snoop-Erfassungsdatei finden Sie unter RFC 1761, Snoop Version 2 Packet Capture File Format.

ProcedureSo überwachen Sie den IPv6-Netzwerkverkehr

Mit dem snoop-Befehl können Sie auch nur IPv6-Pakete anzeigen.

  1. Nehmen Sie auf dem lokalen Knoten die Rolle eines Netzwerkmanagers an, oder melden Sie sich als Superuser an.

    Rollen umfassen Autorisierungen und privilegierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Erfassen Sie IPv6-Pakete.


    # snoop ip6
    

    Weitere Informationen zum Befehl snoop finden Sie in der Manpage snoop(1M).


Beispiel 8–21 Anzeigen von ausschließlich IPv6-Netzwerkverkehr

Das folgende Beispiel zeigt eine typische Ausgabe, wenn der Befehl snoop ip6 auf einem Knoten ausgeführt wird.


# snoop ip6
fe80::a00:20ff:fecd:4374 -> ff02::1:ffe9:2d27 ICMPv6 Neighbor solicitation
fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor 
      solicitation
fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor 
      solicitation
fe80::a00:20ff:febb:e09 -> ff02::9      RIPng R (11 destinations)
fe80::a00:20ff:fee9:2d27 -> ff02::1:ffcd:4375 ICMPv6 Neighbor solicitation

Verwaltuen der standardmäßigen Adressauswahl

Oracle Solaris erlaubt, dass eine Schnittstelle über mehrere IP-Adressen verfügt. Technologien wie z. B. Network Multipathing (IPMP) ermöglichen es, dass mehrere Netzwerkschnittstellenkarten (NICs) mit der gleichen IP-Sicherungsschicht verbunden werden. Diese Verbindung kann über mehrere IP-Adressen verfügen. Darüber hinaus verfügen Schnittstellen auf IPv6-konformen Systemen über eine Link-lokale IPv6-Adresse, mindestens eine IPv6-Routing-Adresse und eine IPv4-Adresse für mindestens eine Schnittstelle.

Wenn das System eine Transaktionen eingeleitet, ruft eine Anwendung den Socket getaddrinfo auf. getaddrinfo erfasst die Adresse, die möglicherweise auf dem Zielsystem verwendet wird. Anschließend ordnet der Kernel diese Liste nach Vorrangigkeit, um das beste Ziel für das Paket herauszufinden. Dieser Prozess wird als Zieladressensortierung bezeichnet. Dann wählt der Oracle Solaris-Kernel anhand der besten Zieladresse für das Paket das geeignete Format für die Quelladresse aus. Dieser Prozess wird als Adressauswahl bezeichnet. Weitere Informationen zur Zieladresssortierung finden Sie in der Manpage getaddrinfo(3SOCKET).

Sowohl nur-IPv4- als auch Dual-Stack-IPv4/IPv6-Systeme müssen eine Standard-Adressauswahl ausführen. In den meisten Fällen müssen die standardmäßigen Mechanismen zur Adressauswahl nicht geändert werden. Eventuell müssen Sie jedoch die Priorität der Adressformate so ändern, so dass IPMP- oder 6to4-Adressformate bevorzugt werden.

ProcedureSo verwalten Sie die Richtlinientabelle zur IPv6-Adressauswahl

Im folgenden Verfahren wird beschrieben, wie Sie Änderungen an der Richtlinientabelle zur Adressauswahl vornehmen. Konzeptuelle Informationen zur Standard-IPv6-Adressauswahl finden Sie unter ipaddrsel-Befehl.


Achtung – Achtung –

Nehmen Sie keine Änderungen an der Richtlinientabelle zur IPv6-Adressauswahl vor, es sei denn, die im Folgenden aufgeführten Gründen lassen sich auf Ihr System anwenden. Andernfalls könnten Sie durch eine falsch aufgebaute Richtlinientabelle Probleme im Netzwerk verursachen. Denken Sie daran, eine Sicherheitskopie der Richtlinientabelle anzulegen. Dies wird im folgenden Verfahren beschrieben.


  1. Nehmen Sie die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.

    Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.

  2. Arbeiten Sie die Tabelle mit den aktuellen Richtlinien zur IPv6-Adressauswahl durch.


    # ipaddrsel
    # Prefix                  Precedence Label
    ::1/128                           50 Loopback
    ::/0                              40 Default
    2002::/16                         30 6to4
    ::/96                             20 IPv4_Compatible
    ::ffff:0.0.0.0/96                 10 IPv4
  3. Erstellen Sie eine Sicherungskopie der Richtliniendatei der Standardadressen.


    # cp /etc/inet/ipaddrsel.conf /etc/inet/ipaddrsel.conf.orig
    
  4. Fügen Sie Ihre Anpassungen mit einem Texteditor in die Datei /etc/inet/ipaddrsel.conf ein.

    Verwenden Sie für Einträge in die Datei /etc/inet/ipaddrsel die folgende Syntax:


    prefix/prefix-length precedence label [# comment ] 
    

    Im Folgenden sind einige Änderungen aufgeführt, die an der Richtlinientabelle vorgenommen werden können:

    • Weisen Sie den 6to4-Adressen die höchste Priorität zu.


      2002::/16                         50 6to4
      ::1/128                           45 Loopback

      Das 6to4-Adressenformat besitzt jetzt die höchste Priorität (50). Loopback, das vorher eine Prioriät von 50 hatte, besitzt jetzt die Priorität 45. Die anderen Adressformate bleiben gleich.

    • Weisen Sie eine bestimmte Quelladresse zu, die bei der Kommunikation mit einer bestimmten Zieladresse verwendet wird.


      ::1/128                           50 Loopback
      2001:1111:1111::1/128             40 ClientNet
      2001:2222:2222::/48               40 ClientNet
      ::/0                              40 Default

      Dieser besondere Eintrag eignet sich für Hosts mit nur einer physikalischen Schnittstelle. Hier wird 2001:1111:1111::1/128 als Quelladresse für alle Pakete priorisiert, die an Ziele im Netzwerk 2001:2222:2222::/48 gesendet wurden. Die Priorität 40 erzeugt eine höhere Prioritätsstufe für die Quelladresse 2001:1111:1111::1/128 als andere Adressformate, die für die Schnittstelle konfiguriert wurden.

    • Favorisieren Sie IPv4-Adressen gegenüber IPv6-Adressen.


      ::ffff:0.0.0.0/96                 60 IPv4
      ::1/128                           50 Loopback
      .
      .

      Die Prioritätsstufe des IPv4-Formats ::ffff:0.0.0.0/96 wurde von 10 zu 60 geändert, die höchste Priorität in der Tabelle.

  5. Laden Sie die modifizierte Richtlinientabelle in den Kernel.


    ipaddrsel -f /etc/inet/ipaddrsel.conf
    
  6. Wenn die modifizierte Richtlinientabelle Probleme verursacht, stellen Sie die Richtlinientabelle für die standardmäßige IPv6-Adressauswahl wieder her.


    # ipaddrsel -d
    

ProcedureSo modifizieren Sie die IPv6-Adressauswahltabelle nur für die aktuelle Sitzung

Wenn Sie die /etc/inet/ipaddrsel.conf-Datei bearbeiten, werden alle vorgenommenen Änderungen auch nach einem Neustart beibehalten. Soll die modifizierte Richtlinientabelle nur während der aktuellen Sitzung gültig sein, führen Sie das folgende Verfahren aus.

  1. Nehmen Sie die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser an.

    Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.

  2. Kopieren Sie den Inhalt der Datei /etc/inet/ipaddrsel nach Dateiname, dabei stellt Dateiname einen Namen Ihrer Wahl dar.


    # cp /etc/inet/ipaddrsel filename
    
  3. Ändern Sie die Richtlinientabelle in Dateiname Ihren Anforderungen entsprechend.

  4. Laden Sie die modifizierte Richtlinientabelle in den Kernel.


    # ipaddrsel -f filename
    

    Der Kernel verwendet die neue Richtlinientabelle, bis Sie das System neu booten.