ラベル IPv6 の投稿を表示しています。 すべての投稿を表示
ラベル IPv6 の投稿を表示しています。 すべての投稿を表示

2012年12月12日水曜日

Windows 端末の IPv6 の統計確認

Windows 端末で IPv6 の統計情報(送信や破棄のパケット、エラー等)を見る方法のメモ 。
基本は netsh interface ipv6 show ipstats コマンドで確認する。

C:\>netsh interface ipv6 show ipstats
MIB-II IP 統計情報
------------------------------------------------------
転送:                               無効
既定の TTL:                         128
受信:                               121
着信ヘッダー エラー:                0
着信アドレス エラー:                59
転送データグラム:                   0
不明な着信プロトコル:               0
廃棄された着信パケット:             2
配信された着信パケット:             3194
出力要求:                           3418
ルーティング廃棄数:                 0
廃棄された発信パケット:             0
経路制御不能な発信パケット:         8
再構築のタイムアウト:               60
必要な再構築:                       0
成功した再構築:                     0
失敗した再構築:                     0
成功したフラグメント:               0
失敗したフラグメント:               0
作成されたフラグメント:             0


エラーカウントや失敗したフラグメントなどが上がっていればどこかで設定ミスの可能性がある。
また同様にしてtcpの統計情報を見ることもできる。

C:\>netsh interface ipv6 show tcpstats

MIB-II TCP 統計情報
------------------------------------------------------
タイムアウト アルゴリズム:           Van Jacobson アルゴリズム
最短タイムアウト:                    10
最長タイムアウト:                    4294967295
最大接続数:                          動的
アクティブ オープン数:               30
パッシブ オープン数:                 24
試行の失敗回数:                      6
確立されたリセット:                  14
現在の確立:                          2
着信セグメント:                      638
発信セグメント:                      626
再転送セグメント:                    12
着信エラー:                          0
発信リセット:                        19


ここでタイムアウトアルゴリズムにVan Jacobson アルゴリズムとあるが、これは輻輳防止用アルゴリズム。
このアルゴリズムについては IPv4 も同じものを使用している。
また同様にして udp の統計情報も確認可能

C:\>netsh interface ipv6 show udpstats

MIB-II UDP 統計情報
------------------------------------------------------
着信データグラム:                       1621
無効な着信ポート:                       0
無効な着信データグラム:                 0
発信データグラム:                       3203

また各コマンドは rr=5 とすると5秒間隔で更新される。
ping などで状況確認するときに便利かも。

2012年11月10日土曜日

DHCPv6 サーバの構築

IPv6 のアドレスを配布する方法には RA と DHCPv6 がある。
現状 RA についてはゲートウェイ、ネットワークプレフィックスしか配布できないため、アドレスを固定したい場合や DNS のアドレスを配布したい場合には DHCPv6 サーバを準備する必要がある。

DHCPv6 として使えそうなものはいくつかあるが、今回は ISC DHCP を使用。
基本的な設定方法は下記に記載がある。

http://tldp.org/HOWTO/Linux+IPv6-HOWTO/hints-daemons-isc-dhcp.html

以下、抜粋して日本語コメント。

# 該当するするプレフィックス
subnet6 2001:db8:0:1::/64 {
        # クライアントに配布するアドレスレンジ
        range6 2001:db8:0:1::129 2001:db8:0:1::254;
        # 配布するDNSサーバのアドレス
        option dhcp6.name-servers fec0:0:0:1::1;      
        # ルータに権限委譲して配布させる場合に使用
        prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
        # ここで端末のDUIDと固定アドレスをマッチさせる
        host specialclient {
      host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
         fixed-address6 2001:db8:0:1::127;
     } 
}  
起動スクリプトは IPv4 の DHCP も DHCPv6 も同じ dhcpd を使用する。
そのため、DHCPv6 の起動時には -6 オプションをつけて起動

# /usr/sbin/dhcpd -6 -f -cf /etc/dhcp/dhcpd.conf eth1

コマンドの最後にインターフェースを指定する。これを省略する場合は/etc/sysconfig/dhcpd6にDHCPDARGS=""と言う箇所があるので、そこでインターフェースを設定する方法もある。
正常に起動すると下記のようなメッセージが出力される。

Internet Systems Consortium DHCP Server 4.1.0 
Copyright 2004-2008 Internet Systems Consortium. 
All rights reserved. 
For info, please visit http://www.isc.org/sw/dhcp/ 
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file 
Wrote 0 leases to leases file. 
Bound to *:547 
Listening on Socket/5/eth1/2001:db8:0:1::/64 
Sending on   Socket/5/eth1/2001:db8:0:1::/64
 
正常に起動してもアドレスが取得できない場合は ip6tables や selinux を確認。

IPv6 の利用状況

APNIC の資料から上位20位まで抜粋。
http://labs.apnic.net/dists/v6dcc.html

こちらが8月に更新された情報。
日本の利用状況は2%程度。

Index ISO-3166 Code   Internet Users V6 Use ratio V6 Users (Est) Population Country
1RO 8664915 9.63% 834431 22104376Romania
2EU 0 4.62% 0 0European Union
3FR 50020615 4.44% 2220915 64793544France
4LU 466181 3.15% 14684 510045Luxembourg
5JP 100915928 2.08% 2099051 126144911Japan
6US 248018615 1.59% 3943495 316754298United States of America
7CH 6449538 0.95% 61270 7659784Switzerland
8HR 2652779 0.82% 21752 4481047Croatia
9SK 4344687 0.79% 34323 5485717Slovakia
10NO 4577875 0.68% 31129 4709748Norway
11SI 1417911 0.51% 7231 1997059Slovenia
12CN 516198120 0.45% 2322891 1344265938China
13FI 4664062 0.43% 20055 5264179Finland
14CZ 7215768 0.42% 30306 10177388Czech Republic
15RU 61120908 0.41% 250595 137970449Russian Federation
16NL 15147820 0.41% 62106 16924939Netherlands
17DE 67959550 0.40% 271838 82175998Germany
18AU 19811041 0.39% 77263 22061293Australia
19MV 113896 0.32% 364 394107Maldives
20SE 8459026 0.27% 22839 9105518Sweden




次は11月に更新された情報。
日本が2.4%とじわりと上昇。

Index ISO-3166 Code   Internet Users V6 Use ratio V6 Users (Est) Population Country
1RO   8662247 9.78% 847167 22097569Romania
2FR   50070881 4.06% 2032877 64858655France
3LU   467192 2.63% 12287 511152Luxembourg
4JP   100869236 2.40% 2420861 126086546Japan
5US   248470498 1.75% 4348233 317331416United States of America
6CZ   7214242 1.35% 97392 10175236Czech Republic
7CH   6452246 0.81% 52263 7663001Switzerland
8SI   1417529 0.81% 11481 1996521Slovenia
9NO   4580751 0.71% 32523 4712707Norway
10CN   516678107 0.68% 3513411 1345515906China
11SK   4345768 0.68% 29551 5487081Slovakia
12DE   67951719 0.57% 387324 82166529Germany
13NL   15159055 0.52% 78827 16937492Netherlands
14TW   16197310 0.52% 84226 23139015Taiwan
15LT   2095531 0.48% 10058 3521902Lithuania
16PT   5473847 0.46% 25179 10796544Portugal
17AU   19854394 0.40% 79417 22109571Australia
18SE   8461613 0.37% 31307 9108303Sweden
19FI   4664776 0.36% 16793 5264985Finland
20ZA   6818114 0.32% 21817 49051185South Africa

2012年11月9日金曜日

iptables と ip6tables

IPv6 でサーバを構築するときの注意として ip6tables がある。
iptables は IPv4 の通信についての FW 機能を提供し、ip6tables は IPv6 のFW 機能を提供する。
これはインストール時から有効になっており、サーバ構築時には変更が必要になってくる。
[root@localhost ~]# chkconfig --list | grep table
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
  コマンドの書式などは基本的に一緒。
[root@localhost ~]# iptables --help
iptables v1.4.7

Usage: iptables -[AD] chain rule-specification [options]
       iptables -I chain [rulenum] rule-specification [options]
       iptables -R chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]
       iptables -[LS] [chain [rulenum]] [options]
       iptables -[FZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
       iptables -P chain target [options]
       iptables -h (print this help information)

 [root@localhost ~]# ip6tables --help
ip6tables v1.4.7

Usage: ip6tables -[AD] chain rule-specification [options]
       ip6tables -I chain [rulenum] rule-specification [options]
       ip6tables -R chain rulenum rule-specification [options]
       ip6tables -D chain rulenum [options]
       ip6tables -[LS] [chain [rulenum]] [options]
       ip6tables -[FZ] [chain] [options]
       ip6tables -[NX] chain
       ip6tables -E old-chain-name new-chain-name
       ip6tables -P chain target [options]
       ip6tables -h (print this help information)
一緒で分かれていると言うことは、1台のサーバについて2つのFW機能を管理しないといけなくなる。
そして、IPv6 の場合は複数のアドレスを持つ場合があるので、それらの管理を考える必要もあるので注意が必要。

取り急ぎサーバを構築して機能検証するなら ip6tables を止めるのもあり。

2012年8月13日月曜日

IPv6 アドレスの再取得方法

Windows 7 に割り振られた ipv6 のアドレスを再取得する方法。

  1. ケーブル抜き差し
  2. コマンドで ipconfig /renew6 
コマンドでインターフェースの off/on でも同じ結果になるはず。2.のコマンドは /release と言うのもある。

2012年8月1日水曜日

IPv6 DUID とは

DUID とは DHCP Unique Identifier の略で DHCP 固有識別子 となっている。

DHCPv6 で特定端末に対して固定アドレスを割り振るときなどに使用する。
IPv4 の DHCP では MAC アドレスで識別していたが、IPv6 では DUID を使用する。
(IPv6 では ARP がないため、MAC を識別する手段が無い)

DUID はwikiによれば下記の基準で設定される。
  • DUID-LLT - リンク層アドレス + 時刻 (LLT = Link-Layer-Time)
  • DUID-EN - インタフェースの製造者番号を元にしたベンダ固有の一意な ID (EN = Enterprise Number)
  • DUID-LL - リンク層アドレス (LL = Link Layer)
Windows だと ipconfig -all で確認可能。
DUID は端末に固定で割り振られているので、複数インターフェース(物理と無線など)があっても同じDUIDが表示される。変更するにはレジストリを設定しないといけない(実際にレジストリをいじった人のサイト)
なお、Windows での表示では"-"が使用されるが、ISC DHCP で記述する場合は":"になるので変換する必要がある。

2012年7月26日木曜日

Windows の匿名アドレスを無効にする

Windows で IPv6 を使用するときに一時アドレスが割り振られる。
検証などのときはアクセスもとのアドレスを固定したいため、下記のようにして一時アドレスの使用を停止させる。

まずは一時アドレスの状態を確認
c:\>netsh interface ipv6 show privacy
アクティブ状態を照会しています...

一時アドレス パラメーター
---------------------------------------------
一時アドレスの使用                   : enabled
重複アドレスの検出の試み             : 5
有効期間の最大値                     : 7d
優先する有効期間の最大値             : 1d
再生成時間                           : 5s
ランダム時間の最大値                 : 10m
ランダム時間                         : 0s
一時アドレスを disable にする
 c:\>netsh interface ipv6 set privacy state=disable
OK
設定を確認
 c:\>netsh interface ipv6 show privacy
アクティブ状態を照会しています...

一時アドレス パラメーター
---------------------------------------------
一時アドレスの使用                   : disabled
重複アドレスの検出の試み             : 5
有効期間の最大値                     : 7d
優先する有効期間の最大値             : 1d
再生成時間                           : 5s
ランダム時間の最大値                 : 10m
ランダム時間                         : 0s
disable になった。
ただし、実際にはインターフェースを再起動させないと一時アドレスが開放されないため下記のコマンドなどで再起動させる。
  c:\>netsh interface set interface name="ローカル エリア接続" disable


c:\>netsh interface set interface name="ローカル エリア接続" enable

これで一時アドレスを使用しなくなる。

2012年7月15日日曜日

Windows での IPv6 アドレスの確認方法

Windows での IPv6 アドレスの確認には ipconfig コマンドと netsh コマンドが利用可能

ipconfig コマンドだと以下のように表示





C:\>ipconfig
Windows IP 構成
イーサネット アダプター ローカル エリア接続:

   接続固有の DNS サフィックス . . . :
   IPv6 アドレス . . . . . . . . . . . : fd00:b::ffff:ffff:ffff:ffff
   一時 IPv6 アドレス. . . . . . . . . : fd00:b::81e0:c305:2153:6081
   リンクローカル IPv6 アドレス. . . . : fe80::ffff:ffff:ffff:ffff%13
   デフォルト ゲートウェイ . . . . . : fe80::2%13



netsh だと以下のように表示





C:\>netsh interface ipv6 show addresses

インターフェイス 1: Loopback Pseudo-Interface 1

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
その他        設定            infinite   infinite ::1

インターフェイス 13: ローカル エリア接続

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
Temporary  設定         6d22h33m24s 6d22h33m24s fd00:b::b497:2db4:fc4b:1228
Public     設定         29d23h57m29s 6d23h57m29s fd00:b::ffff:ffff:ffff:ffff
その他        設定            infinite   infinite fe80::ffff:ffff:ffff:ffff%13

インターフェイス 16: Teredo Tunneling Pseudo-Interface

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
その他        使用されていません     infinite   infinite fe80::100:7f:fffe%16


2012年7月11日水曜日

netsh

Windows で IPv6 を操作するときにお世話になるコマンド
詳細はTechnetに記載されている





C:\>netsh interface ipv6 show ?

使用できるコマンドは次のとおりです:

このコンテキストのコマンド:
show addresses - 現在の IP アドレスを表示します。
show compartments - コンパートメント パラメーターを表示します。
show destinationcache - 宛先キャッシュ エントリを表示します。
show dnsservers - DNS サーバー アドレスを表示します。
show dynamicportrange - 動的ポート範囲の構成パラメーターを表示します。
show global    - グローバル構成パラメーターを表示します。
show interfaces - インターフェイス パラメーターを表示します。
show ipstats   - IP 統計情報を表示します。
show joins     - 参加したマルチキャスト グループを表示します。
show neighbors - 近隣キャッシュ エントリを表示します。
show offload   - offload 情報を表示します。
show potentialrouters - 利用可能なルーターを表示します。
show prefixpolicies - プレフィックス ポリシー エントリを表示します。
show privacy   - プライバシー構成パラメーターを表示します。
show route     - ルート テーブル エントリを表示します。
show siteprefixes - サイト プレフィックス テーブル エントリを表示します。
show subinterfaces - サブインターフェイス パラメーターを表示します。
show tcpstats  - TCP 統計情報を表示します。
show teredo    - Teredo 状態を表示します。
show udpstats  - UDP 統計情報を表示します。