USAGI(IPv6)


USAGI(IPv6)について

  • USAGI(IPv6)はUSAGI(UniverSAl playGround for Ipv6) Projectが開発を進めているLinux用のIPv6プルトコルスタックです。

  • ここでは、Linuxマガジン2001年7月号の記事「IPv6が見えてきた」を参考に実験した内容を紹介します。


USAGI(IPv6)のインストールとその他準備

  • USAGI(IPv6)のインストールの手順は、以下を参照お願いします。

    USAGI(IPv6)のインストール

  • USAGI(IPv6)の確認には、その他に以下のソフトのインストールが必要です。

    Mozilla・・IPv6対応ブラウザ
    PPxP・・NAT無しでの接続


USAGI(IPv6)の動作確認内容

  • 確認内容としては、IPv6対応のブラウザからKAMEプロジェクトのサイトをアクセスし、ページ上部の亀が動く事を確認します。

  • IPv6実験ネットワークへトンネル接続サービスを提供している「Freenet6」を使って動作確認を行いました。但し、ダイアルアップルータによるNAT環境では接続できない事が判り、USAGI(IPv6)マシンのシリアルポートから直接PPP接続する事にしました。幸い、私が使っているMN128SOHO/SL11はTAとしても使えるので、簡単に確認する事ができました。この辺りの経緯については、以下のMLスレッドを参照して下さい。

    [USERS 1621] USAGI on Red Hat Linux 7J does no't work


動作確認の詳細

  • MN128SHHO/SL11をTAとして使うため、シリアルケーブルでCOMポートとMN128SOHOを直接接続します。また、確認範囲を明確化するためLANケーブルを抜きました。

  • そして、PPxPにより、BIGLOBEへダイアルアップ接続します。

    $ ppxp biglobe -C connect
    


  • ダイアルアップ完了直後のifconfigは以下の通りです。

    $ /sbin/ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:90:CC:A4:3A:49  
              inet addr:192.168.0.4  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::290:ccff:fea4:3a49/10 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:11 errors:0 dropped:0 overruns:0 frame:0
              TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100 
              Interrupt:9 Base address:0xd000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:3924  Metric:1
              RX packets:56 errors:0 dropped:0 overruns:0 frame:0
              TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
    
    tap0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
              inet addr:133.205.228.94  Bcast:133.205.255.255  Mask:255.255.0.0
              inet6 addr: fe80::fcfd:ff:fe00:0/10 Scope:Link
              UP BROADCAST RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              Interrupt:5 
    

  • Freenet6(http://old.freenet6.net/cgi-bin/go.pl)から、IPv6トンネル作成スクリプトをダウンロードし、実行します。ページをアクセスすると、自分のIPv4アドレス(入力済)とニックネームを入力し、国としてJAPANを選択します。最後にSubmitボタンを押下します。但し、ここでエラーになる事がよくありました。尚、ユーザでスクリプトを実行した場合にはなぜか設定されなかったので、以降の作業はrootで行いました。

    # perl /home/hnakamur/HP/tundebian5595.pl
    Your system is using Debian GNU/Linux with IPv6 stack
    This script will create a tunnel between this computer
    and the Freenet6 server (tunnels server)
    Your IPv6 address (your tunnel end point) is 3ffe:b00:c18:1fff:0:0:0:2cb 
    We establish a tunnel to the Freenet6 server at 3ffe:b00:c18:1fff:0:0:0:2ca 
    Your IPv4 address is : 133.205.228.94 
    The IPv4 address of the Freenet6 server is : 206.123.31.102 
    End of the script for IPv6 with Debian GNU/LINUX 

  • IPv6トンネル設定後のifconfigは、以下の通りです。

    # ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:90:CC:A4:3A:49  
              inet addr:192.168.0.4  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::290:ccff:fea4:3a49/10 Scope:Link
              inet6 addr: 3ffe:b00:c18:1fff::2cb/0 Scope:Global
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:57 errors:0 dropped:0 overruns:0 frame:0
              TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100 
              Interrupt:9 Base address:0xd000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:3924  Metric:1
              RX packets:93 errors:0 dropped:0 overruns:0 frame:0
              TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
    
    sit0      Link encap:IPv6-in-IPv4  
              inet6 addr: ::127.0.0.1/96 Scope:Unknown
              inet6 addr: ::192.168.0.4/96 Scope:Compat
              inet6 addr: ::133.205.228.94/96 Scope:Compat
              UP RUNNING NOARP  MTU:1480  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
    
    sit1      Link encap:IPv6-in-IPv4  
              inet6 addr: fe80::c0a8:4/10 Scope:Link
              inet6 addr: fe80::85cd:e45e/10 Scope:Link
              UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
    
    tap0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
              inet addr:133.205.228.94  Bcast:133.205.255.255  Mask:255.255.0.0
              inet6 addr: fe80::fcfd:ff:fe00:0/10 Scope:Link
              UP BROADCAST RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:154 errors:0 dropped:0 overruns:0 frame:0
              TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              Interrupt:5 
    

  • Mozilla(Netscape6)でKAMEプロジェクトをアクセスし、動く亀(アニメーションGIF)を確認しました。この動く亀はIPv6でアクセスした場合にだけ見る事ができます。また、最下行には、このページをアクセスしているマシンのIPアドレスが表示されるので、ここでもIPv6でアクセスできている事が確認できます。

    kame.net画面

    kame.net画面

  • MozillaでKAMEプロジェクトをアクセスした時の、tcpdumpを取ってみました。

    # tcpdump
    Kernel filter, protocol ALL, datagram packet socket
    tcpdump: listening on all devices
    23:58:55.816084 tap0 > rgsk4DU04.iba.mesh.ad.jp.1030 > nsca00.mesh.ad.jp.domain: 5803+ AAAA? www.kame.net. (30)
    23:58:55.839315 tap0 > rgsk4DU04.iba.mesh.ad.jp.1031 > nsca00.mesh.ad.jp.domain: 46678+ PTR? 247.94.225.202.in-addr.arpa. (45)
    23:58:56.084600 tap0 < nsca00.mesh.ad.jp.domain > rgsk4DU04.iba.mesh.ad.jp.1030: 5803 4/3/6 CNAME apple.kame.net., CNAME kame220.kame.net., AAAA, AAAA (348) (DF)
    23:58:56.085053 tap0 > rgsk4DU04.iba.mesh.ad.jp.1032 > nsca00.mesh.ad.jp.domain: 5804+ A? www.kame.net. (30)
    23:58:56.104592 tap0 < nsca00.mesh.ad.jp.domain > rgsk4DU04.iba.mesh.ad.jp.1031: 46678 1/2/2 PTR nsca00.mesh.ad.jp. (152) (DF)
    23:58:56.105033 tap0 > rgsk4DU04.iba.mesh.ad.jp.1035 > nsca00.mesh.ad.jp.domain: 46679+ PTR? 94.228.205.133.in-addr.arpa. (45)
    23:58:56.364598 tap0 < nsca00.mesh.ad.jp.domain > rgsk4DU04.iba.mesh.ad.jp.1032: 5804 3/3/6 CNAME apple.kame.net., CNAME kame220.kame.net., A kame220.kame.net (308) (DF)
    23:58:56.364952 sit1 > 0:0:0:0:0:0 0:0:0:0:23:52 ipv6 94: 
    23:58:56.364962 tap0 > rgsk4DU04.iba.mesh.ad.jp > ns3.viagenie.qc.ca: ip-proto-41 80 (DF)
    23:58:56.384600 tap0 < nsca00.mesh.ad.jp.domain > rgsk4DU04.iba.mesh.ad.jp.1035: 46679 1/2/2 PTR rgsk4DU04.iba.mesh.ad.jp. (159) (DF)
    23:58:56.396950 tap0 > rgsk4DU04.iba.mesh.ad.jp.1035 > nsca00.mesh.ad.jp.domain: 46680+ PTR? 220.141.178.203.in-addr.arpa. (46)
    23:58:56.584600 tap0 < nsca00.mesh.ad.jp.domain > rgsk4DU04.iba.mesh.ad.jp.1035: 46680 1/4/4 PTR kame220.kame.net. (236) (DF)
    23:58:56.588790 tap0 > rgsk4DU04.iba.mesh.ad.jp.1035 > nsca00.mesh.ad.jp.domain: 46681+ PTR? 102.31.123.206.in-addr.arpa. (45)
    23:58:56.754600 tap0 < nsca00.mesh.ad.jp.domain > rgsk4DU04.iba.mesh.ad.jp.1035: 46681 1/2/3 PTR ns3.viagenie.qc.ca. (182) (DF)
    23:58:57.364597 tap0 < ns3.viagenie.qc.ca > rgsk4DU04.iba.mesh.ad.jp: ip-proto-41 80
    23:58:57.364597 sit1 < 0:0:0:0:0:0 0:0:0:0:0:1 ipv6 94: 
    23:58:57.364647 sit1 > 0:0:0:0:0:0 0:0:0:0:24:52 ipv6 86: 
    23:58:57.364656 tap0 > rgsk4DU04.iba.mesh.ad.jp > ns3.viagenie.qc.ca: ip-proto-41 72 (DF)
    23:58:57.364885 sit1 > 0:0:0:0:0:0 0:0:0:0:24:52 ipv6 449: 
    23:58:57.364891 tap0 > rgsk4DU04.iba.mesh.ad.jp > ns3.viagenie.qc.ca: ip-proto-41 435 (DF)
    

  • ping6も使ってみました。

    # ping6 www.kame.net
    Warning: no SO_TIMESTAMP support, falling back to SIOCGSTAMP
    PING www.kame.net(apple.kame.net) 56 data bytes
    64 bytes from apple.kame.net: icmp_seq=0 hops=53 time=706.677 msec
    64 bytes from apple.kame.net: icmp_seq=1 hops=53 time=669.999 msec
    64 bytes from apple.kame.net: icmp_seq=2 hops=53 time=650.006 msec
    
    --- www.kame.net ping statistics ---
    4 packets transmitted, 3 packets received, 25% packet loss
    round-trip min/avg/max/mdev = 650.006/675.560/706.677/23.486 ms
    


トップへもどる


Copyright (c) 2001 Hiroshi Nakamura. All rights reserved.