ネットワークスペシャリスト - SE娘の剣 -

ネットワークスペシャリストの試験対策サイトです。
ネスペ試験の合格体験談、合格のコツ、過去問解説、基礎知識などの情報を掲載します。

カテゴリ:8.ネットワーク層(L3) > 8.7 実際の設定

■構成
[PC1 Windows8] ---- [HP-SW 5120] ---- [PC2 WindowsXP]
※Windows8には、設定は何もしないし、HP-SWも設定は不要。デフォルトでIPv6通信が許可される。
WindowsXPだけは、設定が必要で、「netsh int ipv6 install」をコマンドプロンプトから実行する。

■PC1(Windows8)からのコマンドプロンプトによる確認
(1)IPアドレスの確認
C:\Windows>ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::9c41:391a:ad03:66dc%12
   自動構成 IPv4 アドレス. . . . . . . .: 169.254.102.220
   サブネット マスク . . . . . . . . . .: 255.255.0.0
   デフォルト ゲートウェイ . . . . . . .:
・%12の意味は、スコープID。IFの番号と思ってもいいだろう。
・リンクローカルアドレスのプレフィックスは常にfe80::/64 
・後半の64bitのインターフェースIDはランダムに設定される

(2)自分のIPv6アドレスにPing
当然、飛ぶ
C:\Windows>ping fe80::9c41:391a:ad03:66dc
fe80::9c41:391a:ad03:66dc に ping を送信しています 32 バイトのデータ:
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
     
(3)通信相手のIPアドレスの確認
その前に、WindowsXPなので、IPv6対応にする
C:\>netsh int ipv6 install
OK
C:\>ipconfig
Ethernet adapter ローカル エリア接続:
        Connection-specific DNS Suffix  . :
        Autoconfiguration IP Address. . . : 169.254.32.106
        Subnet Mask . . . . . . . . . . . : 255.255.0.0
        IP Address. . . . . . . . . . . . : fe80::223:8bff:fe18:d3b5%5
        Default Gateway . . . . . . . . . :
※IPv4のアドレスは設定していない。

(4)通信相手にIPv6でPing
C:\Windows>ping fe80::223:8bff:fe18:d3b5
fe80::223:8bff:fe18:d3b5 に ping を送信しています 32 バイトのデータ:
fe80::223:8bff:fe18:d3b5 からの応答: 時間 =1ms
fe80::223:8bff:fe18:d3b5 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms

(5)スコープIDをつけたらどうだろう
スコープIDは、自分のIFの番号と考えればよい。
sef4 


普通のPingではIFを指定しませんよね?




そうですね。ルーティングテーブルがあるから、それに従って、どのIFから出るかがわかります。
リンクローカルアドレスに関しては、同一セグメントでしか届かないアドレスで、ルーティングテーブルが存在しない。だから、IFを指定してあげるのが親切です。

では、やってみましょう。相手のIPアドレスは「fe80::223:8bff:fe18:d3b5%5」なので、これにping
C:\Windows>ping fe80::223:8bff:fe18:d3b5%5
fe80::223:8bff:fe18:d3b5%5 に ping を送信しています 32 バイトのデータ:
ping: 転送に失敗しました。一般エラーです。
ping: 転送に失敗しました。一般エラーです。
ping: 転送に失敗しました。一般エラーです。
ping: 転送に失敗しました。一般エラーです。
fe80::223:8bff:fe18:d3b5%5 の ping 統計:
    パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)
1

あれ?
エラーだ
どのIF番号からpingを打つかなので、自分のスコープID%12を指定しなければいけない。
C:\Windows>ping fe80::223:8bff:fe18:d3b5%12
fe80::223:8bff:fe18:d3b5%12 に ping を送信しています 32 バイトのデータ:
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 =1ms
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 =1ms
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5%12 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
今度はうまくいった。

IPv6でのルーティングプロトコル
RIP→RIPng ※ngはNextGenerationの意味。
OSPF(日頃使っているのはv2)→OSPFv3
ルーティングの仕組みやに関しては、v4とv6で大きな変更はない。
以下に、Ciscoルータの場合の設定をみてみよう。簡単なので、実際にやっていただくことをお勧めします。

CiscoルータでのOSPF設定
(1)IPv6によるOSPFの設定
シンプルな設定は以下です。IPv4と基本的には同じであるが、設定は若干違う。networkの設定をせず、IFにareaの設定をする。
ipv6 unicast-routing
interface FastEthernet0/0
 ipv6 address 2001:dc3::1/64 ←グローバルの場合はプレフィックスをつける
 ipv6 address fe80::1:1 link-local ←リンクローカルアドレスであることを明示
 ipv6 ospf 1 area 0 ←OSPFのプロセスIDを1とし、エリアを0に設定する。
※確認は、3つのルータでやった方がいいだろう。ルーティング情報を伝搬してくるので。
※OSPFのネイバーはリンクローカルアドレスにて張られるので、リンクローカルアドレスの設定は必須。

(2)確認コマンド
IPv4とはちょっと違う。
sh ipv6 route
これで、ospfのoがつくルーティングが見えていればよい。
その他、sh ipv6 neighborsなども確認してみよう。

sef1

IPv6のサーバ設定とか、難しそうですね。
たしかに、難しいと感じる人もいるだろう。でも、やってみると、以外にそれほどでもない。たとえば、サーバを構築するときに、IPv4アドレスに関する設定なんて、どれほど設定するだろうか?
sef6
そういえばそうですね。
最初にIPアドレスの設定をして、その後はDNSのAレコードにIPアドレスを書いたり、フィルタでアドレスを書いたりなど、それほど多くは無いですね。
そうなんです。そう思えば、基本的にはそれほど複雑ではない。慣れていないということがよく分からないという最たる理由でしょう。IPv6アドレスの基本であるグローバルアドレスやリンクローカルアドレスなどをしっかりと理解しておけば、あとは基本的には同じです。
一方、ネットワーク機器の場合、ネットワーク情報をすべてIPv6の設定をいれなければいけません。結構大変です。
では、次以降の記事にて、実際に見ていきましょう。

IPv4と基本的には同じです。同じ設定ファイルに、同じような設定を追加します。

IFのIPアドレスの設定
/etc/sysconfig/network-scripts/ifcfg-eth0
にて以下を設定します。
※当然ながら、eth0以外のIFであれば、そのファイルを設定します。
IPV6INIT=yes ←IPv6を有効に
IPV6ADDR=2001:xxx::101/64 ←v6アドレスの設定
IPV6_DEFAULTGW=2001:xxx::1 ←デフォルトGWの設定

確認コマンド
#ifconfig

疎通確認
pingではなく、ping6のコマンドを使う
#ping6 2001:xxx::101

IPのEUI-64での自動IP設定の無効化
 ifconfigで確認すると、EUI-64の自動IP設定が入っていると思う。つまり、IPアドレスが複数設定されている。余分な情報が入るとややこしいしいので、無効化しておいた方がいいでしょう。
 /etc/sysconfig/network のファイルにおいて、以下の設定をします。 
IPV6_AUTOCONF=no
 
DNSサーバの指定
恐らく、IPv4のDNSサーバでも対応できると思う。IPv6のDNSサーバを指定する場合には、IPv4と同じように/etc/resolv.confにnameserverを指定する
以上です。
思ったよりあっけないですよね。

イントロ
DNSサーバは、IPv6用に専用に立てることもできるが、普通は共存であろう。共存したDNSサーバで、IPv4とIPv6のデュアルスタックですることが多いことでしょう。

DNSサーバの設定
BINDなどのDNSサーバは以前からIPv6対応です。特段これといった設定はなく、そのままIPv6で動作します。
以下を設定すれば、とりあえずは動きます。細かなオプションやセキュリティ設定は適宜行います。
.勝璽鵐侫.ぅ襪寮瀋蝓弊軌き、逆引きなど)
IPv6トランスポートの有効
IPv6のパケットからのDNSクエリーに答える機能(IPv6トランスポート)を有効にするには、named.confのoptionsに以下をいれます。IPを指定しても可。
  listen-on-v6 { any; };

ゾーンファイル
書き方は、IPv4がAレコードなのに対し、IPv6ではAAAAレコードを使います。
女性ハテナ 

IPv4とIPv6のどっちが返ってくるの? 
普通に考えると、IPv4のパケットで問い合わせが来たらIPv4、IPv6のパケットできたらIPv6を返せばいいと思う。
サーバOSの実装次第です。が、両方返すと考えてもらったらいいでしょう。v4とv6でトランスレートされていたり、キャッシュDNS経由だったりすることも多いので、v4できたからといって、v4を返せばいいとは限らないのです。。
パソコンでもnslookupコマンドで確認してみましょう。
IPv4のアドレスだけを返すのがほとんどですが、両方返すのもあります。
> www.google.com
(中略)
権限のない回答:
名前:    www.google.com
Addresses:  2404:6800:4004:800::1011
          173.194.38.84
          173.194.38.80         
            ・・・

これを見る限り、このDNSサーバのゾーンファイルには、以下のようなレコードが記載されていると想定されます。
www    IN    AAAA 2404:6800:4004:800::1011
www    IN    A    173.194.38.84
www    IN    A    173.194.38.80

逆引き設定
IPv4と同じです。ですが、IPアドレスのレンジがかなり拡張されましたので、がっつり逆引きをやるとメモリが破たんします。なので、公開サーバなど、ごく一部のもののみ設定すればいいでしょう。IPv4と同じで、逆引きを設定しなくても、運用はできます。

IPv6化するのにたいした設定はありません。ネットワークの設定をすることが基本になります。
それ以外に、IPv6だからこそという設定はほとんどありません。たとえば、WebサーバのApacheはそのままでIPv6化されていますし、メールサーバのPostfixやDovecotも同じです。ただ、Postfixの場合はmain.cfに以下をいれます。 
inet_protocols = ipv4, ipv6 #またはall
DNSサーバと同じですが、オプション設定やセキュリティ設定など、必要な設定はありますが、とりあえず動くという段階にするには、設定はこの程度です。

このページのトップヘ