1 / 40

に IPv6 を スタック しよう ( on VMware ESXi4.1/Hypervisor )

NeGi project 2010 presents. に IPv6 を スタック しよう ( on VMware ESXi4.1/Hypervisor ). Kunitaka Namba. ※OpenSolaris とは手順に互換性があります。  ( Solaris8 ~ 10 にもだいたい使えます). 目 的・概 要. ( 1 ) IPv6 の スタック 手順を把握 する。 ( 2 ) IPv6 関連の コマンド を抑える。 ( 3 ) IPv6 への 抵抗を無くす 。(簡単) ( 4 ) IPv6 への やる気もスタック する。.

sheng
Download Presentation

に IPv6 を スタック しよう ( on VMware ESXi4.1/Hypervisor )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NeGi project 2010 presents にIPv6をスタックしよう(on VMware ESXi4.1/Hypervisor) Kunitaka Namba ※OpenSolarisとは手順に互換性があります。  (Solaris8~10にもだいたい使えます)

  2. 目 的・概 要 (1)IPv6のスタック手順を把握する。 (2)IPv6関連のコマンドを抑える。 (3)IPv6への抵抗を無くす。(簡単) (4)IPv6へのやる気もスタックする。 ※手順はSolaris10/OpenSolaris とほぼ同じです

  3. 補 足・構 成 (1)IPv6アドレス表記はRFC5952に“たぶん”  準じています。(細かいツッコミは無しで・・・  わざとフルアドレスで書いてる所もあります) (2)OpenIndiana b147 on ESXi4.1(2台)  ・CPU 動的割り当て/PhenomII X4  ・MEM 1024MB  ・HDD 20GB  ・NIC e1000g x5 # 面白くない構成でゴメンナサイ

  4. IPv6に対応させるには?(1) 安心して下さい、”OpenIndiana” は IPv6 Readyです。 動かすだけなら、Solaris8から対応 しています。 \ Solaris9でも使ってるよ!/

  5. IPv6に対応させるには?(2) LANケーブルの 買い替えは不要 大嘘!! # EthernetFrameさえ流せればメディアの制限はない

  6. IPv6をスタックするには?(1) OpenIndiana(Solarisも同じ)ですが、 IPv4とは別のIPインタフェイス扱いに なります。 IPv4=inet IPv6=inet6

  7. IPv6をスタックするには?(2) スタックしたいNICに、IPv6が スタックされているか? # ifconfig -a6 スタックされていなければ、 plumb しましょう。 # ifconfig e1000g2inet6 plumb up

  8. IPv6をスタックするには?(3) 自動的にリンクローカルアドレス※1が スタックされます。(EUI-64形式※2) # ifconfig e1000g2 inet6 e1000g2: flags=2004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 2 inet6 fe80::20c:29ff:fe13:952b/10 ※1 リンクローカルアドレス(fe80::/10) ※2 EUI-64形式(次ページで図解) 参考: 原文 ftp://ftp.rfc-editor.org/in-notes/rfc4291.txt 和訳 http://srgia.com/docs/rfc4291j.html

  9. IPv6をスタックするには?(4) ベンダーID(8bit x3) ベンダーユニーク番号(8bit x3) 00 0c 29 13 95 2b MACアドレス 0:c:29:13:95:2b リンクローカル アドレス EUI-64形式 図解 最初の8bit(1byte) 0 0 0 0 0 0 0 0 U/Lビットを反転 0 0 0 0 0 0 1 0 02 + 0c 29 + ff fe + 13 95 2b リンクローカルアドレス (RFC4291=IPv6アドレス体系) fe80 :: 020c : 29ff : fe13 : 952b /10 64bit 64bit

  10. IPv6をスタックするには?(5) 任意のIPv6アドレスをスタックしたい 場合、インタフェイスに addifします。 # ifconfig e1000g2 inet6 addif \ 2001:db8:3:dead::b147/64 up Created new logical interface e1000g2:1と応答があれば成功しています。 削除したい場合は、# ifconfig e1000g2:1 inet6 unplumb です。

  11. IPv6をスタックするには?(6) nwamに要注意 nwamが動作していると、inet6 addif しても任意のIPv6 アドレスが付きません。無効化しましょう。 (OpenSolaris、OpenIndianaは必要、Solarisは不要) # svcadm disable physical:nwam # svcadm enable physical:default # Created new logical interface…を返す(リターンコード0)くせに、 # nwamが logical interface を勝手に外します。

  12. IPv6をスタックするには?(7) nwamの停止を確認する。 これで大丈夫! # svcs physical STATE STIME FMRI disabled 12:21:45 svc:/network/physical:nwam online 12:21:50 svc:/network/physical:default

  13. IPv6をスタックするには?(8) ifconfig -a6 の表示例です。 $ ifconfig -a6 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 e1000g2: flags=2004841<UP,RUNNING,MULTICAST,DHCP,IPv6> mtu 1500 index 6 inet6 fe80::20c:29ff:fe13:952b/10 ether 0:c:29:13:95:2b e1000g2:1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 6 inet6 2001:db8:3:dead::b147/64 inet6 のフィジカルインタフェイス(=e1000g2など)は 必ずリンクローカルになります。

  14. IPv6をスタックするには?(9) 設定ファイルに記録する。 /etc/hostname6.e1000g2 addif 2001:db8:3:dead::b147/64 up これで再起動しても大丈夫!! 複数行書いてもいい。 addif 2001:db8:dead::beef/64 up addif 2001:db8:3939::cafe/64 up

  15. IPv6をスタックするには?(10) e1000g2 inet 192.168.39.39/24 リンクローカルアドレス inet6 fe80::20c:29ff:fe13:952b/10 e1000g2:1 2001:db8:3:dead::b147/64 \ イメージだとこんな感じ!/

  16. IPv6でIPMPを使うには?(1) IPMPもIPv6 Readyになっています。 ただし、検知IPは必要なくなりました。 検知にはリンクローカルアドレスを使うからです。 ※デュアルスタックで使用すると、IPv6のIPMPフェールオーバ動作でIPv4側も切り替わります。  これはIPv6が優先される為で、仕様です。 # 実運用だと同一NICへのデュアルスタックを # 避けたりしています。

  17. IPv6でIPMPを使うには?(2) IPMP設定方法 /etc/hostname6.e1000g2 -failover group {IPMP_Grp}addif 2001:db8:3:dead::b147/64 up /etc/hostname6.e1000g3 -failover group {IPMP_Grp}standby up # リンクベースで検知する方は試していません。 # 出来ないかも??

  18. IPv6のルーティングは?(1) routeコマンドの-inet6オプションで 対応しています。 # route add -inet6{Destination}{Nexthop} デフォルトルートの例 # route add -inet6default2001:db8:3:dead::b147 スタティックルートの例 # route add -inet62001:db8:feed::/482001:db8:3:dead::b147 \ ここのinet6はハイフン要るよ!/

  19. IPv6のルーティングは?(2) netstatコマンドもIPv6拡張されて います。 -f inet/inet6指定しないと全経路を表示します。 # netstat -rn -f inet6(IPv6の全経路を表示) #またオプション違わね?とか言わないように・・・ #address “f”amilyの”f”らしいです。(ヘルプ)

  20. IPv6のルーティングは?(3) 静的なルーティングを登録するには、 route -p add -inet6 コマンドを 使用します。 /etc/inet/static_routes が編集され、 再起動後も設定が維持されます。 参照 http://blogs.sun.com/yappri/entry/static_routes

  21. IPv6のルーティングは?(4) デフォルトルートの場合は、 以下のコマンドになります。 # route -p add-inet6defaultfe80::1234

  22. IPv6のルーティングは?(5) ルータからのRA(ルータ広告=Router Advertisement) を無視するには、以下の対応が必要です。 /etc/inet/ndpd.conf: e1000g2 StatelessAddrConf false e1000g3 StatelessAddrConf false # svcadm disable ndp # svcadm enable ndp

  23. IPv6の名前解決について(1) デフォルトの設定のままだと、AAAA レコードを使ってくれない・・・(かも /etc/nsswitch.conf の修正を 忘れずに!! ipnodes: files dns←ここに”dns”を #AAAAは「クワッドエー」と読みます。

  24. IPv6の名前解決について(2) /etc/resolv.conf も IPv6 Ready になっています。 こんな書き方をしても大丈夫です。 nameserver 2001:db8:3:dead::b147 nameserver 192.168.3.147

  25. IPv6の名前解決について(3) hostsファイルはもちろん IPv6 Ready です。(ipnodesは忘れてあげて・・・ 2001:db8:3:dead::b147 ipv6-hoge hoge 192.168.39.39 ipv4-hoge hoge ※/etc/hostsも/etc/inet/ipnodesも/etc/inet/hostsに  シンボリックリンクされてます。

  26. IPv6の名前解決について(4) hostsファイルは書く順番によって 動作が変わります。(IPv6⇒IPv4) 2001:db8:3:dead::b147 ipv6-hoge hoge 192.168.39.39 ipv4-hoge hoge ↑だとhogeはIPv6/IPv4で引けます。 ※ただし指定が無い場合はIPv6優先

  27. IPv6の名前解決について(5) hostsファイルは書く順番によって 動作が変わります。(IPv6⇒IPv4) 192.168.39.39 ipv4-hoge hoge 2001:db8:3:dead::b147 ipv6-hoge hoge ↑だとhogeはIPv4だけになります。

  28. IPv6の疎通確認について(1) おなじみのpingから。 Linuxとかにあるping6コマンド はありません。間違えないように。 # ping 2001:240:6b0::10 とか # ping negi.ipv6labs.jp です。

  29. IPv6の疎通確認について(2) tracerouteも同じです。 Linuxとかにあるtraceroute6コマンド はありません。間違えないように。 # traceroute -I2001:240:6b0::10 とか # traceroute -Inegi.ipv6labs.jp です。

  30. IPv6の疎通確認について(3) ping/tracerouteの小技集 1. Aレコード結果だけ使いたい # { ping | traceroute } -A inet negi.ipv6labs.jp 2. AAAAレコード結果だけ使いたい # { ping | traceroute } -A inet6 negi.ipv6labs.jp 3. A/AAAAレコード結果の両方を使いたい # { ping | traceroute } -a negi.ipv6labs.jp

  31. IPv6の疎通確認について(4) snoopもIPv6 Readyになっています。 ip6という条件を渡すと、IPv6の パケットだけを見ることが出来ます。 # snoop -d e1000g2 ip6

  32. IPv6の疎通確認について(5) telnetにはinet/inet6オプションの 様なものがありませんでした・・・ 面倒ですが # telnet 2001:db8:3:dead::b147 と # telnet 192.168.39.39 を使い分ける必要があります。

  33. inetdのIPv6対応状況 inetd から tftpを IPv6対応してみる。 /etc/inet/inetd.conf tftp dgram udp6wait root /usr/sbin/in.tftpd in.tftpd -s /var/tftp UDPはudp6、TCPはtcp6を指定する。 デュアルスタックで待ち受ける。 # tftp 2001:db8:3:dead::b147 で繋がります。後はお好きに。

  34. IPv6のポート解放状態 UDPのListen状態を確認するには。 # netstat -an -P udp -f inet -f inet6 これでSocket無し、IPv4/IPv6両方を 一度に確認できます。 # netstat -sP ip6 なんかもあります。

  35. IPv6のIPフィルタリング TCP-Wrapperも IPv6 Readyです。 ※ TCP-Wrapperはデフォルトが無効、以下の手順で有効に。 # inetadm -p | grep "^tcp_wrappers" tcp_wrappers=FALSE # inetadm -M tcp_wrappers=TRUE # inetadm -p | grep "^tcp_wrappers" tcp_wrappers=TRUE

  36. IPv6のIPフィルタリング /etc/hosts.allowの記述は以下の 様になります。[]で囲む必要がある。 ssh: [2001:db8::1][2001:db8:aaaa:bbbb::/64] []で囲まないと、正しく動作しません。 # TCP-WrapperのALL:ALLはIPv6も包括しています。 # IPv6対応ソフトで、Wrapper対応しているものも同様です。

  37. IPv6でのSMTP sendmail(submit.cf)のスマート リレーホストにもIPv6の設定は可能。 /etc/mail/submit.cf D{MTAHost}[2001:db8::1][2001:db8::2] # 当然ですが、IPv4アドレスやFQDN混在も可能です。 # mailx -s “IPv6 Relay” null@ipv6labs.jp < /dev/null

  38. IPv6のSNMP NET-SNMP 5.5でIPv6に完全対応? こんなOIDが増えています! IP-MIB::ipSystemStatsInOctets.ipv4 IP-MIB::ipSystemStatsInOctets.ipv6 IP-MIB::ipSystemStatsHCInOctets.ipv4 IP-MIB::ipSystemStatsHCInOctets.ipv6

  39. SunOSでのIPv6のまとめ 普通に動きます。 IPv6を使って不便なのは、経路が不安定 だったり、帯域が不足しているから。 鶏か卵か待っているだけではダメ。 使える人からどんどん使ってみよう!!

  40. 質 疑 応 答 \ 質問!/

More Related