SlideShare a Scribd company logo
1 of 20
All rights reserved. Copyright(c)2006 WIDE Project 1
BSD Unixにおいて
IPv6 を有効にした際に発生する
課題とその対策
WIDE Project /アラクサラネットワークス(株)
鈴木伸介 <suz@kame.net>
All rights reserved. Copyright(c)2006 WIDE Project 2
Abstract
 DNS
 AAAA Queryに対する異常応答
 アドレスファミリー未指定時のA/AAAA
Query順序
 DNSサーバアドレス検出
 Source Address Selection
 Default Gateway Selection
 まとめ
All rights reserved. Copyright(c)2006 WIDE Project 3
AAAA Queryに対する異常応答
 AAAA Queryにより異常な応答をするDNSサーバがあると、
AAAA Queryを行ったときのタイムアウト待ちにより、通信遅延
が発生 (RFC4074)
IPv6で問い合わせたとき限定の症状 *BSDでの対応
Queryが無視される A/AAAA Queryの順番を細工
(抜本解ではないが…)エラーメッセージが返ってくる (ホスト名
不在=NXDOMAIN)
Lame Delegationになる
エラーメッセージが返ってくる (「ホスト
名不在」以外)
エラーメッセージをトリガーに次の
アクション (アプリケーション依
存)
壊れたrecordが返ってくる 壊れたrecordを廃棄
All rights reserved. Copyright(c)2006 WIDE Project 4
アドレスファミリー未指定時の
A/AAAA Query順序の工夫
 一般的にはアプリケーション依存
 普通は*BSD付属のライブラリの実装依存
OS Query順序
NetBSD, OpenBSD,
FreeBSD (~5.3)
AAAA→A
FreeBSD (5.4~) A→AAAA
KAME SNAP 非link-local IPv6アドレスの有
無で順序を変える
あり: AAAA→A
なし: A→AAAA
All rights reserved. Copyright(c)2006 WIDE Project 5
A/AAAA Query順序の調整だけで
は回避しきれないケース
 誰かがAAAA Queryする限り、「ホスト名不在」エラーには対応
不能
 端末がA Query, AAAA Queryを送信
 A Queryにより、IPv4アドレスを学習し通信 (OK)
 AAAA Queryにより、キャッシュDNSサーバに「ホスト名不在」による
negative cache生成
 以降キャッシュDNSサーバにA Queryしても、IPv4アドレスを学習できない
(NG)
host1=(ホスト名なし)
A Query for host1
host1=(ホスト名なし)キャッシュDNS
サーバ
端末1
AAAA Query for host1
Host1=(ホスト名なし)
host1=(ホスト名なし)
キャッシュDNS
サーバ
端末2
host1(A)=192.168.0.1
A Query for host1
キャッシュDNS
サーバ
host1(A)=192.168.0.1
host1(A)=192.168.0.1
端末1
All rights reserved. Copyright(c)2006 WIDE Project 6
A/AAAA Query順序の調整だけで
は回避しきれないケース (cont.)
 AAAA Queryを行う限り「答えのないAAAA Queryのタ
イムアウト待ち」は避けられない
 KAME SNAPでは、A Queryの応答時間から適当なタイムアウト値
を推測し、タイムアウト時間を必要最小限にしている。
 いずれのケースも端末側ではどうしようもない
 AAAA Queryに異常応答をするDNSサーバの修正が必須
 駄目な場合は、アプリケーション毎の対応が不可避 (e.g.
mozilla)
All rights reserved. Copyright(c)2006 WIDE Project 7
DNSサーバアドレス検出
 各配布方法への対応状況
 RA配布: 未対応
 DHCPv6配布: 対応済 (WIDE-DHCPv6)
 Well-known Anycast address: 対応済 (手設定)
 根本的な問題
 どれが標準?
 IETFでも標準化作業が頓挫…
 仮に標準が決まったとして
 DNSサーバのIPv4アドレス,IPv6アドレスがあるときどちらを
優先すべきか?
All rights reserved. Copyright(c)2006 WIDE Project 8
DNSサーバのIPv4/IPv6アドレス
の優先度問題
 IPv4/v6 Dual-Stack化により顕在化
 DNSサーバアドレスをDHCPv4,v6両方で学習
 c.f. 類似問題
 DNSサーチパスをDHCPv4,v6両方で学習
 Policy Tableを複数の上流ISPから学習
 Default Routerを複数の隣接ルータから学習
 想定される問題
 Queryの回数が無駄に増える
 「なりすましDNSサーバ」への誘導に悪用することも可能
 特にIPv4 onlyセグメント内で「なりすましDNSサーバのIPv6アドレス」が
広告されても、ネットワーク管理者は見つけにくい
PC なりすましDNSサーバ兼DNSサーバ広告サーバ
DNSサーバ
(v4) DNSサーバ(v6)
All rights reserved. Copyright(c)2006 WIDE Project 9
*BSDでのDNSサーバの
IPv4/IPv6アドレスの優先度
 通常はIPv4アドレスだけ使用
 OS付属のDHCPv4 clientでDNS情報取得
 DHCPv6クライアント(WIDE-DHCPv6)も、デフォルトでは
取得したDNS情報を端末に反映しない
 必要な人だけ、DHCPv6 clientで取得した情報を
/etc/resolv.conf へ反映するよう設定
 実用上はこれで特に問題ないでしょう
All rights reserved. Copyright(c)2006 WIDE Project 10
Source Address Selection
 RFC3484実装状況
 longest-match rule = 全ての*BSDで実装済
 Policy Table = 一部の*BSDで実装済
 FreeBSD: 5.2~
 NetBSD: まだ (KAME-SNAPでは実装済)
 OpenBSD: まだ (KAME-SNAPでは実装済)
 ただしいずれも手動設定 (ip6addrctl)で、DHCPv6など
と連動した自動設定は未サポート
All rights reserved. Copyright(c)2006 WIDE Project 11
Source Address Selection
(cont.)
 Policy Table自動設定が未サポートな背景
 標準化がまだ
 汎用的なPolicy Table自動設定は非常に難しい
 IPv6マルチホーム問題そのもの
 一部の場合(e.g. 閉域網とInternetの同時使用)には簡単かつ効
果的
 上の効果的なパターンは「Unique Local Address
(RFC4193) とlongest-match ruleの併用」でも対応可
 Policy Table自動設定ならば/48よりも広いアドレス空間でも有効
 そのメリットも、FC00::/8 (centrally-managed Unique Local
Address) のRegistry割当が始まればなくなる可能性大
All rights reserved. Copyright(c)2006 WIDE Project 12
Default Gateway Selection
 Router Preference
 ルータ側 = 全*BSD対応済
 端末側 = 一部BSD端末で使用可能
 FreeBSD: 6.1~
 NetBSD: -current (Jan 2006)
 OpenBSD: (KAME-SNAPのみ)
 More-Specific Route
 ルータ側 = 全*BSD対応済
 端末側 = 未実装
All rights reserved. Copyright(c)2006 WIDE Project 13
Default Gateway Selection
(cont.)
 なぜ端末側でMore Specific Routeが未実装か?
 kernel内実装が困難
 経路制御プロトコルをkernel内で実装するのとほぼ等価
 端末で「受信のみRIPng」を動かすほうが、素直かつ
きめ細かい制御ができるのでは?
 素直=これなら、*BSD全て対応済み
 きめ細かい制御=経路制御計算を踏まえた経路広告
All rights reserved. Copyright(c)2006 WIDE Project 14
まとめ
 DNS関連の問題は以下の2つにより対処
 壊れたメッセージを廃棄
 A/AAAA Queryの順序を工夫している
 が端末側の対応には限界がある→サーバ側の対応を切に望みます
 DNSサーバアドレス検出
 実用上はDHCPv4のみで十分
 Source Address Selection
 一部実装済
 動的Source Address Selection Policyは、複雑な割に有効な局面が
少ない感がある
 Default Gateway Selection
 Router-Preferenceは実装済
 More-Specific Route optionは未実装だが、受信のみRIPngで十分
All rights reserved. Copyright(c)2006 WIDE Project 15
Thanks!
All rights reserved. Copyright(c)2006 WIDE Project 16
SWG指摘の他のネタに対するコ
メント
All rights reserved. Copyright(c)2006 WIDE Project 17
到達性が無いIPv6アドレス取得
 基本的にはアプリケーション依存
 OSはアプリケーションにエラーを返す
 host unreachable, net unreachable, ...
 あとはアプリケーションがそのエラー値を見て賢く
振舞うか次第
 アプリケーションではエラー処理はちゃんと実
装しましょう
 IPv4でも同じことは起こる
All rights reserved. Copyright(c)2006 WIDE Project 18
自動トンネル
 *BSDではユーザが意図的に有効にしない
限り、設定されない
 6to4
 ISATAP (KAME)
 TSP (freenet6)
 L2TP (l2tpd)
 そのため、指摘されたような問題は発生し
ない
All rights reserved. Copyright(c)2006 WIDE Project 19
マルチキャストとPersonal Firewall
 現状
 「マルチキャストだったらデフォルト廃棄」という
Personal Firewall実装もあるが、これは非常に迷惑
 提案
 こんなStateful inspectionが欲しい
 MLD joinしたら、そのグループ宛のパケットだけ通す
 その他のグループ宛のは廃棄
All rights reserved. Copyright(c)2006 WIDE Project 20
IPsecとmulticast
 事前共有鍵による鍵交換は動く
 動的鍵生成による鍵交換は未対応
 IPv4/v6にかかわらない問題

More Related Content

What's hot

Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Takashi Takizawa
 
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...Insight Technology, Inc.
 
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...Insight Technology, Inc.
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo NagataInsight Technology, Inc.
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usageirix_jp
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介Akira Matsuda
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Daisuke Ikeda
 
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...Insight Technology, Inc.
 
Riak / Riak-CS(Enterprise版) ベンチマークしました
 Riak / Riak-CS(Enterprise版) ベンチマークしました Riak / Riak-CS(Enterprise版) ベンチマークしました
Riak / Riak-CS(Enterprise版) ベンチマークしましたTakashi Sogabe
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良Shinya Sugiyama
 
フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用Ikuo Kumagai
 
Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
CephのベンチマークをしましたOSSラボ株式会社
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringTakatoshi Matsuo
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所hdais
 

What's hot (20)

Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
 
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...
 
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
 
141030ceph
141030ceph141030ceph
141030ceph
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
さくらのクラウドでのPlesk Onyx導入手順
さくらのクラウドでのPlesk Onyx導入手順さくらのクラウドでのPlesk Onyx導入手順
さくらのクラウドでのPlesk Onyx導入手順
 
Consistency level
Consistency levelConsistency level
Consistency level
 
Cassandra Summit 2016 注目セッション報告
Cassandra Summit 2016 注目セッション報告Cassandra Summit 2016 注目セッション報告
Cassandra Summit 2016 注目セッション報告
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
 
Riak / Riak-CS(Enterprise版) ベンチマークしました
 Riak / Riak-CS(Enterprise版) ベンチマークしました Riak / Riak-CS(Enterprise版) ベンチマークしました
Riak / Riak-CS(Enterprise版) ベンチマークしました
 
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組みYahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組み
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 
フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用フルオープンソースでここまで出来る。OpenStackの構築と運用
フルオープンソースでここまで出来る。OpenStackの構築と運用
 
Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
Cephのベンチマークをしました
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
 

Similar to BSD UnixにおいてIPv6を有効にした際に発生する課題とその対策

Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)
Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)
Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)基信 高橋
 
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価Dell TechCenter Japan
 
innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響hiroi10
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
V6prog OSC2013Hokkaido
V6prog OSC2013HokkaidoV6prog OSC2013Hokkaido
V6prog OSC2013HokkaidoKohki Ohhira
 
Bind 9.8 feature overview
Bind 9.8 feature overviewBind 9.8 feature overview
Bind 9.8 feature overviewTomonori Takada
 
Hadoop operation chaper 4
Hadoop operation chaper 4Hadoop operation chaper 4
Hadoop operation chaper 4Yukinori Suda
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo!デベロッパーネットワーク
 
I pv6 research_basical
I pv6 research_basicalI pv6 research_basical
I pv6 research_basicalkuni255
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016datastaxjp
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsCloudera Japan
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
老朽化したオンプレ環境をクラウドへ移設
老朽化したオンプレ環境をクラウドへ移設老朽化したオンプレ環境をクラウドへ移設
老朽化したオンプレ環境をクラウドへ移設修平 富田
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0Kohei KaiGai
 
DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)@ otsuka752
 

Similar to BSD UnixにおいてIPv6を有効にした際に発生する課題とその対策 (20)

Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)
Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)
Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto)
 
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価SAS Visual Analytics 6.3 を使った DELL VRTX の評価
SAS Visual Analytics 6.3 を使った DELL VRTX の評価
 
innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
V6prog OSC2013Hokkaido
V6prog OSC2013HokkaidoV6prog OSC2013Hokkaido
V6prog OSC2013Hokkaido
 
AS45679 on FreeBSD
AS45679 on FreeBSDAS45679 on FreeBSD
AS45679 on FreeBSD
 
IPv6 in Java
IPv6 in JavaIPv6 in Java
IPv6 in Java
 
Bind 9.8 feature overview
Bind 9.8 feature overviewBind 9.8 feature overview
Bind 9.8 feature overview
 
Hadoop operation chaper 4
Hadoop operation chaper 4Hadoop operation chaper 4
Hadoop operation chaper 4
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
 
I pv6 research_basical
I pv6 research_basicalI pv6 research_basical
I pv6 research_basical
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 
IPv6技術動向
IPv6技術動向IPv6技術動向
IPv6技術動向
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity Improvements
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
老朽化したオンプレ環境をクラウドへ移設
老朽化したオンプレ環境をクラウドへ移設老朽化したオンプレ環境をクラウドへ移設
老朽化したオンプレ環境をクラウドへ移設
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)
 

More from Shinsuke SUZUKI

IPv6技術標準化の最新動向
IPv6技術標準化の最新動向IPv6技術標準化の最新動向
IPv6技術標準化の最新動向Shinsuke SUZUKI
 
Technology Updates in IPv6
Technology Updates in IPv6Technology Updates in IPv6
Technology Updates in IPv6Shinsuke SUZUKI
 
Plug and Play Using Prefix Delegation Mechanism
Plug and Play Using Prefix Delegation MechanismPlug and Play Using Prefix Delegation Mechanism
Plug and Play Using Prefix Delegation MechanismShinsuke SUZUKI
 
Security Framework for the IPv6 Era
Security Framework for the IPv6 EraSecurity Framework for the IPv6 Era
Security Framework for the IPv6 EraShinsuke SUZUKI
 
Operational Issues inIPv6 --from vendors' point of view--
Operational Issues inIPv6 --from vendors' point of view--Operational Issues inIPv6 --from vendors' point of view--
Operational Issues inIPv6 --from vendors' point of view--Shinsuke SUZUKI
 
国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-
国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-
国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-Shinsuke SUZUKI
 
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でーIPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でーShinsuke SUZUKI
 
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からーIPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からーShinsuke SUZUKI
 
不正 RAの傾向と対策
不正 RAの傾向と対策不正 RAの傾向と対策
不正 RAの傾向と対策Shinsuke SUZUKI
 

More from Shinsuke SUZUKI (11)

IPv6標準化と実装
IPv6標準化と実装IPv6標準化と実装
IPv6標準化と実装
 
IPv6技術標準化の最新動向
IPv6技術標準化の最新動向IPv6技術標準化の最新動向
IPv6技術標準化の最新動向
 
Technology Updates in IPv6
Technology Updates in IPv6Technology Updates in IPv6
Technology Updates in IPv6
 
Plug and Play Using Prefix Delegation Mechanism
Plug and Play Using Prefix Delegation MechanismPlug and Play Using Prefix Delegation Mechanism
Plug and Play Using Prefix Delegation Mechanism
 
IPv6の現状
IPv6の現状IPv6の現状
IPv6の現状
 
Security Framework for the IPv6 Era
Security Framework for the IPv6 EraSecurity Framework for the IPv6 Era
Security Framework for the IPv6 Era
 
Operational Issues inIPv6 --from vendors' point of view--
Operational Issues inIPv6 --from vendors' point of view--Operational Issues inIPv6 --from vendors' point of view--
Operational Issues inIPv6 --from vendors' point of view--
 
国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-
国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-
国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて-
 
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でーIPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー
 
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からーIPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー
 
不正 RAの傾向と対策
不正 RAの傾向と対策不正 RAの傾向と対策
不正 RAの傾向と対策
 

BSD UnixにおいてIPv6を有効にした際に発生する課題とその対策

  • 1. All rights reserved. Copyright(c)2006 WIDE Project 1 BSD Unixにおいて IPv6 を有効にした際に発生する 課題とその対策 WIDE Project /アラクサラネットワークス(株) 鈴木伸介 <suz@kame.net>
  • 2. All rights reserved. Copyright(c)2006 WIDE Project 2 Abstract  DNS  AAAA Queryに対する異常応答  アドレスファミリー未指定時のA/AAAA Query順序  DNSサーバアドレス検出  Source Address Selection  Default Gateway Selection  まとめ
  • 3. All rights reserved. Copyright(c)2006 WIDE Project 3 AAAA Queryに対する異常応答  AAAA Queryにより異常な応答をするDNSサーバがあると、 AAAA Queryを行ったときのタイムアウト待ちにより、通信遅延 が発生 (RFC4074) IPv6で問い合わせたとき限定の症状 *BSDでの対応 Queryが無視される A/AAAA Queryの順番を細工 (抜本解ではないが…)エラーメッセージが返ってくる (ホスト名 不在=NXDOMAIN) Lame Delegationになる エラーメッセージが返ってくる (「ホスト 名不在」以外) エラーメッセージをトリガーに次の アクション (アプリケーション依 存) 壊れたrecordが返ってくる 壊れたrecordを廃棄
  • 4. All rights reserved. Copyright(c)2006 WIDE Project 4 アドレスファミリー未指定時の A/AAAA Query順序の工夫  一般的にはアプリケーション依存  普通は*BSD付属のライブラリの実装依存 OS Query順序 NetBSD, OpenBSD, FreeBSD (~5.3) AAAA→A FreeBSD (5.4~) A→AAAA KAME SNAP 非link-local IPv6アドレスの有 無で順序を変える あり: AAAA→A なし: A→AAAA
  • 5. All rights reserved. Copyright(c)2006 WIDE Project 5 A/AAAA Query順序の調整だけで は回避しきれないケース  誰かがAAAA Queryする限り、「ホスト名不在」エラーには対応 不能  端末がA Query, AAAA Queryを送信  A Queryにより、IPv4アドレスを学習し通信 (OK)  AAAA Queryにより、キャッシュDNSサーバに「ホスト名不在」による negative cache生成  以降キャッシュDNSサーバにA Queryしても、IPv4アドレスを学習できない (NG) host1=(ホスト名なし) A Query for host1 host1=(ホスト名なし)キャッシュDNS サーバ 端末1 AAAA Query for host1 Host1=(ホスト名なし) host1=(ホスト名なし) キャッシュDNS サーバ 端末2 host1(A)=192.168.0.1 A Query for host1 キャッシュDNS サーバ host1(A)=192.168.0.1 host1(A)=192.168.0.1 端末1
  • 6. All rights reserved. Copyright(c)2006 WIDE Project 6 A/AAAA Query順序の調整だけで は回避しきれないケース (cont.)  AAAA Queryを行う限り「答えのないAAAA Queryのタ イムアウト待ち」は避けられない  KAME SNAPでは、A Queryの応答時間から適当なタイムアウト値 を推測し、タイムアウト時間を必要最小限にしている。  いずれのケースも端末側ではどうしようもない  AAAA Queryに異常応答をするDNSサーバの修正が必須  駄目な場合は、アプリケーション毎の対応が不可避 (e.g. mozilla)
  • 7. All rights reserved. Copyright(c)2006 WIDE Project 7 DNSサーバアドレス検出  各配布方法への対応状況  RA配布: 未対応  DHCPv6配布: 対応済 (WIDE-DHCPv6)  Well-known Anycast address: 対応済 (手設定)  根本的な問題  どれが標準?  IETFでも標準化作業が頓挫…  仮に標準が決まったとして  DNSサーバのIPv4アドレス,IPv6アドレスがあるときどちらを 優先すべきか?
  • 8. All rights reserved. Copyright(c)2006 WIDE Project 8 DNSサーバのIPv4/IPv6アドレス の優先度問題  IPv4/v6 Dual-Stack化により顕在化  DNSサーバアドレスをDHCPv4,v6両方で学習  c.f. 類似問題  DNSサーチパスをDHCPv4,v6両方で学習  Policy Tableを複数の上流ISPから学習  Default Routerを複数の隣接ルータから学習  想定される問題  Queryの回数が無駄に増える  「なりすましDNSサーバ」への誘導に悪用することも可能  特にIPv4 onlyセグメント内で「なりすましDNSサーバのIPv6アドレス」が 広告されても、ネットワーク管理者は見つけにくい PC なりすましDNSサーバ兼DNSサーバ広告サーバ DNSサーバ (v4) DNSサーバ(v6)
  • 9. All rights reserved. Copyright(c)2006 WIDE Project 9 *BSDでのDNSサーバの IPv4/IPv6アドレスの優先度  通常はIPv4アドレスだけ使用  OS付属のDHCPv4 clientでDNS情報取得  DHCPv6クライアント(WIDE-DHCPv6)も、デフォルトでは 取得したDNS情報を端末に反映しない  必要な人だけ、DHCPv6 clientで取得した情報を /etc/resolv.conf へ反映するよう設定  実用上はこれで特に問題ないでしょう
  • 10. All rights reserved. Copyright(c)2006 WIDE Project 10 Source Address Selection  RFC3484実装状況  longest-match rule = 全ての*BSDで実装済  Policy Table = 一部の*BSDで実装済  FreeBSD: 5.2~  NetBSD: まだ (KAME-SNAPでは実装済)  OpenBSD: まだ (KAME-SNAPでは実装済)  ただしいずれも手動設定 (ip6addrctl)で、DHCPv6など と連動した自動設定は未サポート
  • 11. All rights reserved. Copyright(c)2006 WIDE Project 11 Source Address Selection (cont.)  Policy Table自動設定が未サポートな背景  標準化がまだ  汎用的なPolicy Table自動設定は非常に難しい  IPv6マルチホーム問題そのもの  一部の場合(e.g. 閉域網とInternetの同時使用)には簡単かつ効 果的  上の効果的なパターンは「Unique Local Address (RFC4193) とlongest-match ruleの併用」でも対応可  Policy Table自動設定ならば/48よりも広いアドレス空間でも有効  そのメリットも、FC00::/8 (centrally-managed Unique Local Address) のRegistry割当が始まればなくなる可能性大
  • 12. All rights reserved. Copyright(c)2006 WIDE Project 12 Default Gateway Selection  Router Preference  ルータ側 = 全*BSD対応済  端末側 = 一部BSD端末で使用可能  FreeBSD: 6.1~  NetBSD: -current (Jan 2006)  OpenBSD: (KAME-SNAPのみ)  More-Specific Route  ルータ側 = 全*BSD対応済  端末側 = 未実装
  • 13. All rights reserved. Copyright(c)2006 WIDE Project 13 Default Gateway Selection (cont.)  なぜ端末側でMore Specific Routeが未実装か?  kernel内実装が困難  経路制御プロトコルをkernel内で実装するのとほぼ等価  端末で「受信のみRIPng」を動かすほうが、素直かつ きめ細かい制御ができるのでは?  素直=これなら、*BSD全て対応済み  きめ細かい制御=経路制御計算を踏まえた経路広告
  • 14. All rights reserved. Copyright(c)2006 WIDE Project 14 まとめ  DNS関連の問題は以下の2つにより対処  壊れたメッセージを廃棄  A/AAAA Queryの順序を工夫している  が端末側の対応には限界がある→サーバ側の対応を切に望みます  DNSサーバアドレス検出  実用上はDHCPv4のみで十分  Source Address Selection  一部実装済  動的Source Address Selection Policyは、複雑な割に有効な局面が 少ない感がある  Default Gateway Selection  Router-Preferenceは実装済  More-Specific Route optionは未実装だが、受信のみRIPngで十分
  • 15. All rights reserved. Copyright(c)2006 WIDE Project 15 Thanks!
  • 16. All rights reserved. Copyright(c)2006 WIDE Project 16 SWG指摘の他のネタに対するコ メント
  • 17. All rights reserved. Copyright(c)2006 WIDE Project 17 到達性が無いIPv6アドレス取得  基本的にはアプリケーション依存  OSはアプリケーションにエラーを返す  host unreachable, net unreachable, ...  あとはアプリケーションがそのエラー値を見て賢く 振舞うか次第  アプリケーションではエラー処理はちゃんと実 装しましょう  IPv4でも同じことは起こる
  • 18. All rights reserved. Copyright(c)2006 WIDE Project 18 自動トンネル  *BSDではユーザが意図的に有効にしない 限り、設定されない  6to4  ISATAP (KAME)  TSP (freenet6)  L2TP (l2tpd)  そのため、指摘されたような問題は発生し ない
  • 19. All rights reserved. Copyright(c)2006 WIDE Project 19 マルチキャストとPersonal Firewall  現状  「マルチキャストだったらデフォルト廃棄」という Personal Firewall実装もあるが、これは非常に迷惑  提案  こんなStateful inspectionが欲しい  MLD joinしたら、そのグループ宛のパケットだけ通す  その他のグループ宛のは廃棄
  • 20. All rights reserved. Copyright(c)2006 WIDE Project 20 IPsecとmulticast  事前共有鍵による鍵交換は動く  動的鍵生成による鍵交換は未対応  IPv4/v6にかかわらない問題