Ipv 6試験環境構築総括
1.1 IPV 6アドレスモデル
IPV 6アドレスは、インタフェースまたはインタフェースのセットに割り当てられた128ビットの識別子である.IPV 6アドレスには、ユニキャストアドレス、ユニキャストアドレス、マルチキャストアドレスの3種類があります.
ユニキャストアドレス(Unicast Address):ユニキャストアドレスのパケットがアドレスによって識別されるインタフェースである単一のインタフェースに割り当てられる識別子.
マルチキャストアドレス(Anycast Address):異なるノードに属することができるインタフェースのセットに割り当てられたアドレス.ターゲットアドレスは、マルチキャストアドレスのパケットが、ルーティングプロトコルにおける標準から決定されたルーティング距離が最も短いすべてのインタフェースに送信される.
マルチキャストアドレス(Multicast Address):異なる接点に属することができるインタフェースのセットに割り当てられたアドレスであり、ターゲットアドレスがマルチキャストアドレスであるパケットは、アドレスによって識別されるすべてのインタフェースに送信される.IPv 6にはブロードキャストアドレスはなく、マルチキャストアドレスが代わります.
すべてのタイプのIPV 6アドレスはインタフェースに割り当てられ、すべてのインタフェースは少なくとも1つのリンクローカルユニキャストアドレスを必要とする.単一のインタフェースは、任意のタイプまたは範囲の複数のIPV 6アドレスを同時に割り当てることができる.
IPV 6アドレスは使用カテゴリの特徴があり、Link-LOcal Site-LOcal Globalの3種類のカテゴリに分けられる.
IPV 6アドレスにはライフサイクルの概念があり、
1.2 IPV 6アドレス構文
IPV 6アドレスは16進位であり、16ビットごとに1ユニットであり、3 FFE:3600:4368:1234:0008:AB 12:98 CE:1000のように区切られている.同時に、書くのを簡潔に保つために、数字の前の0は省くことができて、連続するユニットはすべて0は使うことができます::表示して、しかし1つの住所の内で1回しか使うことができません.3 FFE:3600:4368:1234:8:AB 12:98 CE:1000のように.3 FFE:3600::1は3 FFE:3600:000:000:000:000:000:000:00000:00000:0001の略語で、同じく3 FFE:3600::3:0000:1は3 FFE:3600:000:000:00000:0003:00000:00000:0000:0001の略語であるが、3 FFE:3600::3:1と略語することはできない
1.3 IPV 6アドレスプレフィックス
IPV 6アドレスプレフィックス
1.4 IPV 6特殊アドレス
Øアドレスが指定されていません
[00000:0000:0000:0000:0000:0000:0000:0000:0000]または[:]
ØLoopBackアドレス
[0:0:0:0:0:0:0:0:1]または[::1]
ØIPV 6-compatibleアドレス
[0:00:00:00:00:00:00:00:00:00:00:w.c.x.z]または[::w.c.x.z]
ØIPV 4-mappedアドレス
[0:00:00:00:00:00:00:00:00:00:00:FFFF:w.c.x.z]または[:FFFFFF:w.c.x.z]
ØNSAP(Network service Access Point)アドレス
プレフィックス[0000001]
ØIPX(Internetwork Packet Exchange)アドレス
プレフィックス[0000010]
2.試験環境の概要
今回の試験環境はFedora core 1とwindows 2003プラットフォームで試験を行い、全体の運行ネットワーク図は以下の通りである.
3.プラットフォーム構成
試験プラットフォームは2つのタイプに分けられ、1つはwindowsプラットフォームであり、windowsプラットフォームはwindows 2003とwindows 2000+ipv 6パッチに分けられる.もう1つはlinuxプラットフォームで、主にFedora core 1について、ここではそれぞれ以下のように説明します.
3.1 Fedora core 1プラットフォーム
1)linuxカーネルがIPV 6をサポートしているかどうかを検査する
test -f/proc/net/if_inet6 && echo "Running kernel is IPv6 ready"
2)IPV 6モジュールがインストールされているかどうかを検査し、一般的にインストールされている
insmod ipv6
3)IPV 6モジュールがシステムに接続されているかどうかを検査する
# modprobe –c|grep net-pf-10
Alias net-pf-10 offここでoff用viとして戻ったら/etc/sysconfig/networkファイルを開き、次の文を加えます:NETWORKING_IPV6=yes
4)ネットワークサービスサービスサービスnetwork restartの再起動
5)IPV 6モジュールが追加されたかどうかを再確認する:
Modprobe –c|grep ipv6
Alias net-pf-10 ipv6
6)IPV 6が正常にインストールされたことを確認する
lsmod |grep -w 'ipv6' && echo "IPv6 module successfully loaded"
7)コマンドでIPV 6のインストールが成功したことを確認する
Ping6 traceroute6 telnet6 ifconfig route
ping6 -I eth0 fe80::250:baff:fe69:2d08
8)現在のipv 6アドレスを表示
# ifconfig –a
# ip -6 addr show dev eth0
9)IPV 6アドレスの追加
#/sbin/ip -6 addr add/
# /sbin/ifconfig
10) 删除IPV6地址
# /sbin/ip -6 addr del
# /sbin/ifconfig
11) 脚本设置
在/etc/sysconfig/network-scripts/ifcfg-
IPV6INIT=yes
IPV6ADDR=“
在/etc/sysconfig/network加入
IPV6INIT=yes
NETWORKING=yes
IPV6_DEFAULTGW=“
3.2 windows 2003上安装IPV6
Windows 2003自身已完全支持IPV6,因此可直接通过点击来配置,单击网上邻居,点右键打开“属性”,点“本地连接”,右键打开属性,点“安装”,找到“协议”,单击“添加”,找到“Microsoft IPV6协议”
如果安装成功,即可在本地连接的属性看到ipv6协议栈,如下所示:
3.3 windows 2000上安装IPV6
a) 检查windows 2000SP版本
Windows 2000上运行IPV6一般需要SP版本才可以。可安如下方法查看windows版本:在命令行中敲入winver,弹出对话框中表明当前Windows安装版本,可点击桌面“我的电脑”属性,并打开常规,可看到如下:
b) 安装补丁包
从ftp://10.8.164.230 上下载补丁包tpipv6-001205-SP3-IE6.zip解压并执行setup目录下的hotfix.exe,重新启动后,将setup目录下除hotfix.exe之外的所有可执行文件复制到操作系统目录下的system32下;同时按windows 2003一样配置windows IPV6协议。
3.4 windows XP 上安装IPV6
A. 在命令行中运行ipv6 install
B. 查看是否安装成功 ipv6 if
3.5 Solaris 8 上安装IPV6
1) 查看当前IPV4配置
# ifconfig –a 得到当前的网卡号
2) 建立hostname6文件
# touch hostname6.? ?为网卡号
3) reboot 重新启动机器
4) vi /etc/inet/ipnodes 加入一行
2001:218:466:1000:a00:20ff:fe88:a683 itnetv6
5) 利用ifconfig 配置静态地址
Ifconfig bge0 inet6 addif 2001:250:f004:400::d230:89ea/64 up
Route add –inet6 default 2001:250:f004:400::1 –ifp bge0
4. 应用软件配置
4.1 JDK 安装
1) 下载JDK1.5.0 for linux版本
从ftp://10.8.164.230/software里下载,或从java.sun.com上下载,选择32位linux RPM版本。如果是自解压版本参见后面自解压安装说明。
2) 解开压缩文档
增加执行权限,并执行bin文件.
# Chmod a+x jdk-1_5_0-linux-i586-rpm.bin
#./ jdk-1_5_0-linux-i586-rpm.bin
在当前目录得到jdk-1_5_0-linux-i586-rpm文件
3) 安装rpm包
利用su 命令转到root 用户,并执行
Rpm –iv jdk-1_5_0-linux-i586-rpm
4) 退出root 账户,并删除bin和rpm文件
5) 安装自解压版本的JDK可直接执行,缺省安装在usr/java/下
6) 配置JAVA_HOME
打开文件etc/.profile 或 /root/.bash.rc 加入下段
export JAVA_HOME=/usr/java/jdk1.5.0
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
7) 执行测试命令
# java –version
# javac
#echo $JAVA_HOME
4.2 Apache HTTP Server
Apache HTTP Server一般用于静态网页的解析,速度比Tomcat要快很多,因此很多网站都是通过Apache HTTP Server与Tomcat配合搭建,Apache HTTP Server 从2.0 以后利用Apache Portable Running libray库开始支持IPV6,在Fedora core 1上缺省安装了一个Apache 2.0.47,但它缺省是enable-v4-mapped的也就是对基于IPV4的地址访问统一使用映射IPV6地址进行listen.这里简要将Apache HTTP Server缺省安装的管理方法作一个简要描述:
1) 开启、停止、重起Apache
# /etc/rc.d/init.d/httpd start
# apachectl
#/etc/rc.d/init.d/httpd stop
#/etc/rc.d/init.d/httpd restart
2) 配置Apache
Vi /etc/httpd/conf/httpd.conf 修改其中的一些参数进行配置
Apache 重新安装过程如下,
从apache 网站下载apache 发行包或从ftp://10.8.164.230/softerware 来下载软件,httpd-2.0.50-i686-pc-linux-gnu.tar.gz
1) 解压到指定目录如/opt/
Tar –zxvf httpd-2.0.50-i686-pc-linux-gnu.tar.gz
2) 进入到当前目录下生成的目录httpd-2.0.50
3) 执行安装过程
./configure –-enable-v4-mapped=no -–prefix=/usr/local/apache -–enable-module=so
Make
Make install
4) 启动apache 服务
#/usr/local/apache/bin/apachectl start
5) 配置apache
# vi /usr/local/apache/conf/httpd.conf
加入如下 :
Listen 10.8.164.226:80
Listen [2001:250:f004:400::d219:89ea]:80
这样就是单独listen
4.3 Apache Tomcat Server
Tomcat 通常作servlet容器,实现了基于Java Servlet/JSP技术开发的服务器应用技术。到目前为止开发版本如下:
Servlet规范 |
JSP规范 |
JDK版本 |
Tomcat版本 |
2.4 |
2.0 |
1.5.0 |
5.0.25 |
2.3 |
1.2 |
1.4 |
4.1.30 |
2.2 |
1.1 |
1.3 |
3.3.2 |
1) 下载Tomcat软件
从ftp://10.8.164.230/soft或从http:// http://jakarta.apache.org/site/binindex.cgi.下载,考虑到JDK支持,下载jakarta-tomcat-5.0.29.tar.gz包
2) 安装Tomcat
拷贝软件包到指定安装目录
# cp jakarta-tomcat-5.0.29.tar.gz /opt 拷贝到指定目录
# tar -zxvf jakarta-tomcat-5.0.29.tar.gz 解压到当前目录
# ln –s jakarta-tomcat-5.0.29 tomcat 创建一个连接目录
3) 配置Tomcat 环境变量
在etc/.profile或/root/.bashrc中增加一行
export CATALINA_HOME=/opt/tomcat 并重启机器
4) 测试服务可以启动
到目录/opt/tomcat/bin下执行 ./startup.sh start 或./shutdown.sh stop如果不能执行,可增加执行权限给下列文件:
#chmod +x startup.sh
#chmod +x shutdown.sh
# chmod +x tomcat.sh
Webブラウザを開くhttp://localhost:8080/Tomcatウェルカム画面が表示されます
5.共通構成テストツール
5.1 IPV6.exe
Windows XP/2000でipv 6を使用する.exeは構成され、コマンドラインウィンドウを開き、ipv 6を実行します.ここでは、一般的なコマンドのいくつかについて簡単に説明します.
usage: ipv6 if [ifindex]
ipv6 ifc ifindex [forwards] [-forwards] [advertises] [-advertises] [mtu #
bytes] [site site-identifer]
ipv6 ifd ifindex
ipv6 adu ifindex/address [lifetime validlifetime[/preflifetime]] [anycast
] [unicast]
ipv6 nc [ifindex [address]]
ipv6 ncf [ifindex [address]]
ipv6 rc [ifindex address]
ipv6 rcf [ifindex [address]]
ipv6 bc
ipv6 rt
ipv6 rtu prefix ifindex[/address] [lifetime L] [preference P] [publish] [
age] [spl SitePrefixLength]
ipv6 spt
ipv6 spu prefix ifindex [lifetime L]
1)IPV 6プロトコルスタックのインストール
Windows XPプラットフォームでipv 6 install/uninstallコマンドを使用して、IPV 6プロトコルスタックのインストールとアンインストールを行います.Windows 2000にパッチをインストールします.
2)インタフェース構成情報の表示
すべてのインタフェース情報をリストコマンドipv 6 ifまたはipconfig/allを使用します.特定のインタフェース情報を表示する場合は、コマンドipv 6 if+インタフェースIDを使用します.
3)IPV 6アドレスの追加
Ipv 6 adu ifindex/address例えばipv 6 adu 6/2001:250:f 004:400::d 155:89 ea
4)ルーティングの追加
ipv6 rtu 2001:250:f004:400::/64 6
5)IPV 6アドレスの削除
Ipv 6 adu ifindex/address life 0例えばipv 6 adu 6/2001:250:f 004:400::d 155:89 ea life 0
6)ルーティングテーブルの表示
Ipv6 rt
5.2 Netsh.exe
Netshコマンドはwindows 2000およびXPに既に存在するが、IPV 6の構成は実現されておらず、Windows 2003でnetshへの統合が開始される.具体的な構成方法は?チェックボックスをオンにします.
5.3 checkv4.exe
Windowsソケットに基づいて開発されたc言語プログラムを変更できます.
5.4 Ping.exe/ping6.exe
Pingコマンドは主にICMPパッケージ、Solarisではping、linux/windowsではping 6を使用します.一般的にリンクアドレスの場合、pingコマンドを発行するNICフラグを使用します.
Ping6 –I eth0 fe80::210:5cff:fead:81b8
6.Java開発とIPV 6
Javaはオブジェクト向けに設計されているため、IPV 6の開発以前のアプリケーションの変更は比較的小さく、ここでは主に以下のクラスに関連している.
n InetAddressはIPアドレスを表し、以下に2つのサブクラスInet 4 AddressとInet 6 Addressがあり、一般的にプロトコルやアドレス情報を知る必要がない限り、サブクラスは使用されません.InetAddressでは、i s AnyLocalAddress isLoopbackAddress isLinkLocalAddress isSiteLocalAddress isMCglobal isMCNodeLocal isMCLinkLocal isMCOrgLocal getCanonicalHostName getByAddressという方法が追加されています.
n Socket Server Socket DatagramSocketは変更されていません.実際のプロセスはオペレーティングシステムの実装に依存します.
n MulticastSocket変動が大きい
n URL URI解析参照はRFC 2732に基づく、つまりIPV 6アドレスに[]を付ける
7.SNMPとIPV 6の開発
7.1 Westhawk
Javaに基づいて実現し、無料でビジネスサポートを提供します.http://snmp.westhawk.co.uk/index.htmlSNMPV 1 V 2 V 3をサポートし、IPV 6をサポートしない.以下の基本機能を実現した.
7.2 Net-snmp
IPV 6対応(バージョン5.1.1以降)、Javaベースのnetsnmpj
8.データベースとIPV 6
Sybase 12.5.2はIPV 6の全面的なサポートを開始し、Oracle 10 g Release 2はIPV 6の全面的なサポートを開始し、mysqlにはパッチパッケージが必要です