Solaris のシステム管理 (第 3 巻)

IPv6 の監視

次のコマンドは編集されて、IPv6 の Solaris 実装に対応します。

追加コマンドを使用すると診断を実行できます。これらのコマンドの考え方については、ifconfig ユーティリティに対する IPv6 拡張機能」「既存のユーティリティに対する IPv6 拡張機能」を参照してください。

IPv6 監視の作業マップ

表 17-2 IPv6 監視の作業マップ

作業 

説明 

操作方法の掲載個所 

インタフェースアドレス割り当ての表示 

ifconfig コマンドで、すべてのアドレス割り当て、または IPv4 か IPv6 アドレス割り当てだけを表示

「インタフェースアドレス割り当ての表示方法」

ネットワーク状態の表示 

すべてのソケットとルーティングテーブルエントリ、IPv4 用の inet アドレスファミリー、IPv6 用の IPv6 アドレスファミリー、netstat コマンドによるインタフェース別統計 - IPv6/ICMPv6 カウンタ

「ネットワーク状態の表示方法

IPv6 関連コマンドの出力表示の制御 

inet_type という名のファイルの作成と、そのファイル内の DEFAULT_IP 変数の設定による ping コマンド、netstat コマンド、ifconfig コマンド、traceroute コマンドの出力の制御

「IPv6 関連コマンドの出力表示の制御方法」

IPv6 ネットワークトラフィックだけの監視 

snoop コマンドによる IPv6 パケットの表示

「IPv6 ネットワークトラフィックの監視方法」

すべてのマルチホームホストアドレスの探査 

ping コマンドによるすべてのアドレスの確認

「すべてのマルチホームホストアドレスの探査方法」

すべてのルートのトレース 

traceroute コマンドの使用

「すべてのルーターのトレース方法」

インタフェースアドレス割り当ての表示方法

IPv4 や IPv6 のアドレス割り当ての場合だけでなく、すべてのアドレス割り当てを表示する場合も ifconfig コマンドを使用します。

    コマンド行で、次のコマンドを入力します。


    % ifconfig [option]

ifconfig コマンドの詳細については、ifconfig(1M) のマニュアルページを参照してください。

例 - すべてのインタフェースについてアドレス指定情報を表示


% ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 120.10.0.1 netmask ff000000 
le0: flags=1000843 mtu 1500 index 2
        inet 120.46.86.54 netmask ffffff00 broadcast 120.146.86.255
        ether 8:0:73:56:a8 
lo0: flags=2000849 mtu 8252 index 1
        inet6 ::1/128 
le0: flags=2000841 mtu 1500 index 2
        ether 8:0:20:56:a8 
        inet6 fe80::a00:fe73:56a8/10 
le0:1: flags=2080841 mtu 1500 index 2
        inet6 fec0::56:20ff:fe73:56a8/64 
le0:2: flags=2080841 mtu 1500 index 2
        inet6 2::56:a00:fe73:56a8/64

例 - すべての IPv4 インタフェースについてアドレス指定情報を表示


% ifconfig -a4
lo0: flags=1000849 mtu 8232 index 1
        inet 120.10.0.1 netmask ff000000 
le0: flags=1000843 mtu 1500 index 2
        inet 120.46.86.54 netmask ffffff00 broadcast 120.46.86.255
        ether 8:0:20:56:a8

例 - すべての IPv6 インタフェースについてアドレス指定情報を表示


% ifconfig -a6
lo0: flags=2000849 mtu 8252 index 1
        inet6 ::1/128 
le0: flags=2000841 mtu 1500 index 2
        ether 8:0:20:56:a8 
        inet6 fe80::a00:fe73:56a8/10 
le0:1: flags=2080841 mtu 1500 index 2
        inet6 fec0::56:20ff:fe73:56a8/64 
le0:2: flags=2080841 mtu 1500 index 2
        inet6 2::56:a00:fe73:56a8/64 

ネットワーク状態の表示方法

次の手順では、netstat コマンドで、次に示すネットワークデータ構造フォーマットを表示できます。

    コマンド行で、次のコマンドを入力します。


    % netstat [option] 

netstat コマンドの詳細については、netstat(1M) のマニュアルページを参照してください。

例 - すべてのソケットとルーティングテーブルエントリの表示


% netstat -a
UDP: IPv4
   Local Address         Remote Address     State
-------------------- -------------------- -------
      *.*                                   Unbound
      *.apexrpc                              Idle
      *.*                                   Unbound
			.
			.
UDP: IPv6
   Local Address                     Remote Address                   State
If  
--------------------------------- --------------------------------- -------
      *.*                                                           Unbound
      *.time                                                        Idle
      *.echo                                                        Idle
      *.discard                                                     Idle
      *.daytime                                                     Idle
      *.chargen                                                     Idle

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
      *.*                  *.*                0      0     0      0 IDLE
      *.apexrpc            *.*                0      0     0      0 LISTEN
      *.*                  *.*                0      0     0      0 IDLE
      *.ftp                *.*                0      0     0      0 LISTEN
localhost.427              *.*                0      0     0      0 LISTEN
      *.telnet             *.*                0      0     0      0 LISTEN
tn.apex.COM.telnet is.Eng.apex.COM         8760      0   8760     0 ESTABLISHED
tn.apex.COM.33528 np.apex.COM.46637        8760      0   8760     0 TIME_WAIT
tn.apex.COM.33529 np.apex.COM.apexrpc      8760      0   8760     0 TIME_WAIT
TCP: IPv6
   Local Address     Remote Address   Swind Send-Q  Rwind Recv-Q   State   If 
----------------- -----------------   ----- ------  ----- ------   -----
      *.*                 *.*             0      0      0      0   IDLE 
      *.ftp               *.*             0      0      0      0   LISTEN 
      *.telnet            *.*             0      0      0      0   LISTEN 
      *.shell             *.*             0      0      0      0   LISTEN 
      *.smtp              *.*             0      0      0      0   LISTEN
		.
		.
 2::56:8.login     something.1023    8640      0   8640      0 ESTABLISHED
 fe80::a:a8.echo   fe80::a:89        8640      0   8640      0 ESTABLISHED
 fe80::a:a8.ftp    fe80::a:90        8640      0   8640      0 ESTABLISHED

例 - IPv4 用の inet アドレスファミリを表示


% netstat -f inet
TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
tn.apex.COM.telnet    is.apex.COM.35388    8760      0  8760   0  ESTABLISHED
tn.apex.COM.1022      alive-v4.nfsd        8760      0  8760   0  ESTABLISHED
tn.apex.COM.1021      sl.apex.COM.nfsd     8760      0  8760   0  ESTABLISHED
.
.
tn.apex.COM.33539     np.apex.COM.apexrpc  8760      0  8760   0  TIME_WAIT

例 - IPv4 用の inet6 アドレスファミリを表示


% netstat -f inet6
TCP: IPv6
   Local Address        Remote Address     Swind Send-Q Rwind Recv-Q   State      If 
-------------------- --------------------- ----- ------ ----- ------ ----------- -----
2::56:a8.login        something.1023       8640      0  8640      0 ESTABLISHED      
fe80::a0:a8.echo      fe80::a0:de.35389    8640      0  8640      0 ESTABLISHED      
.
.
fe80::a0:a8.ftp-data  fe80::a0:de.35394   25920      0 25920      0 TIME_WAIT      

例 - インタフェース別統計を表示 - IPv6 / ICMPv6 カウンタ


% netstat -sa
RAWIP
        rawipInDatagrams    =  1407     rawipInErrors       =     0
        rawipInCksumErrs    =     0     rawipOutDatagrams   =     5
        rawipOutErrors      =     0

UDP
        udpInDatagrams      =  7900     udpInErrors         =     0
        udpOutDatagrams     =  7725     udpOutErrors        =     0

TCP     tcpRtoAlgorithm     =     4     tcpRtoMin           =   200
        tcpRtoMax           = 60000     tcpMaxConn          =    -1
				.
				.
IPv4    ipForwarding        =     2     ipDefaultTTL        =   255
        ipInReceives        =406345     ipInHdrErrors       =     0
        ipInAddrErrors      =     0     ipInCksumErrs       =     0
				.
				.
IPv6 for lo0
        ipv6Forwarding      =     2     ipv6DefaultHopLimit =     0
        ipv6InReceives      =     0     ipv6InHdrErrors     =     0
				.
				.
IPv6 for le0
        ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      =   885     ipv6InHdrErrors     =     0
				.
				.
IPv6    ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      =   885     ipv6InHdrErrors     =     0
				.
				.
ICMPv4  icmpInMsgs          =   618     icmpInErrors        =     0
        icmpInCksumErrs     =     0     icmpInUnknowns      =     0
        icmpInDestUnreachs  =     5     icmpInTimeExcds     =     0
				.
				.
ICMPv6 for lo0
        icmp6InMsgs         =     0     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
				.
				.
ICMPv6 for le0
        icmp6InMsgs         =   796     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
        icmp6InTimeExcds    =     0     icmp6InParmProblems =     0
				.
				.
ICMPv6  icmp6InMsgs         =   796     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
				.
				.
IGMP:
       2542 messages received
          0 messages received with too few bytes
          0 messages received with bad checksum
       2542 membership queries received
				.
				.

IPv6 関連コマンドの出力表示の制御方法

/etc/default ディレクトリで inet_type という名のファイルを作成し、DEFAULT_IP 変数の値を指定すれば、netstat コマンドと ifconfig コマンドの出力は制御できます。inet_type の詳細については、inet_type(4) のマニュアルページを参照してください。

  1. /etc/default/inet_type ファイルを作成します。

  2. 必要に応じて、次のどれかのエントリを作成します。

    1. IPv4 情報だけを表示するには、次のように入力します。


      DEFAULT_IP=IP_VERSION4
    2. IPv4 情報とIPv6 情報を表示するには、次のいずれかを入力します。


      DEFAULT_IP=BOTH

      DEFAULT_IP=IP_VERSION6

注 -

ifconfig-4 フラグと -6 フラグ、および netstat-f フラグの設定は、inet_type ファイルに設定された値 (存在する場合) を優先します。


例 - IPv4 情報と IPv6 情報を選択する出力の制御

IPv6 ネットワークトラフィックの監視方法

すべての IPv6 パケットを表示するためには、次のように snoop コマンドを実行します。

  1. スーパーユーザーでログインします。

  2. コマンド行で、次のコマンドを入力します。


    # snoop ip6
    

snoop コマンドの詳細については、snoop(1M) のマニュアルページを参照してください。

例 - IPv6 ネットワークトラフィックだけの表示


# snoop ip6
Using device /dev/le (promiscuous mode)
fe80::a0:a1 -> ff02::9     IPv6  S=fe80::a0:a1 D=ff02::9 LEN=892
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=104
fe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=104
fe80::a0:a1 -> ff02::9     IPv6  S=fe80::a0:a1 D=ff02::9 LEN=892
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=104
fe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=152
fe80::a0:a1 -> ff02::9     IPv6  S=fe80::a0:a1 D=ff02::9 LEN=892
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=72
fe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=72
fe80::a0:a8 -> fe80::a0:de IPv6  S=fe80::a0:a8 D=fe80::a0:de LEN=72
fe80::a0:de -> fe80::a0:a8 IPv6  S=fe80::a0:de D=fe80::a0:a8 LEN=72

すべてのマルチホームホストアドレスの探査方法

この操作では、ping コマンドですべてのアドレスを調べます。

    コマンド行で、次のコマンドを入力します。


    % ping -a ipng11
    ipng11 (2::102:a00:fe79:19b0) is alive
    ipng11 (fec0::102:a00:fe79:19b0) is alive
    ipng11 (190.68.10.75) is alive

ping コマンドについての詳細は、ping(1M) のマニュアルページを参照してください。

すべてのルーターのトレース方法

この操作では、traceroute コマンドですべてのルーターを調べます。

    コマンド行で、次のコマンドを入力します。


    % traceroute -a <hostname>

traceroute コマンドの詳細については、traceroute(1M) のマニュアルページを参照してください。

例 - すべてのルーターのトレース


% traceroute -a ipng11
traceroute: Warning: Multiple interfaces found; using 2::56:a0:a8 @ le0:2
traceroute to ipng11 (2::102:a00:fe79:19b0),30 hops max, 60 byte packets
 1  ipng-rout86 (2::56:a00:fe1f:59a1)  35.534 ms  56.998 ms * 
 2  2::255:0:c0a8:717  32.659 ms  39.444 ms *
 3  ipng61.Eng.apex.COM (2::103:a00:fe9a:ce7b)  401.518 ms  7.143 ms *
 4  ipng12-00 (2::100:a00:fe7c:cf35)  113.034 ms  7.949 ms *
 5  ipng11 (2::102:a00:fe79:19b0)  66.111 ms *  36.965 ms

traceroute: Warning: Multiple interfaces found; using fec0::56:a8 @ le0:1
traceroute to ipng11 (fec0::10:b0), 30 hops max, 60 byte packets
 1  ipng-rout86 (fec0::56:a00:fe1f:59a1) 96.342 ms  78.282 ms 88.327 ms
 2  ipng8-tun1 (fec0::25:0:0:c0a8:717)  268.614 ms  508.416 ms  438.774 ms
 3  ipng61.Eng.apex.COM (fec0::103:a00:fe9a:ce7b)  6.356 ms * 713.166 ms
 4  ipng12-00 (fec0::100:a00:fe7c:cf35)  7.409 ms * 122.094 ms
 5  ipng11 (fec0::102:a00:fe79:19b0)  10.620 ms * *

traceroute to ipng11.eng.apex.com (190.68.10.75),30 hops max,40 byte packets
 1  rmpj17c-086.Eng.apex.COM (120.46.86.1)  4.360 ms  3.452 ms  3.479 ms
 2  flrmpj17u.Eng.apex.COM (120.46.17.131)  4.062 ms  3.848 ms  3.505 ms
 3  ipng8.Eng.apex.COM (120.68.7.23)  4.773 ms *  4.294 ms
 4  ipng61.Eng.apex.COM (120.68.10.104)  5.128 ms  5.362 ms *
 5  ipng12-20.Eng.apex.COM (120.68.10.62)  7.298 ms  5.444 ms *
 6  ipng11.Eng.apex.COM (120.68.10.75)  8.053 ms  6.394 ms *