More Related Content
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう What's hot (20)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring) [db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー... [db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ... UnboundとNSDの紹介 BIND9との比較編 [D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata OpenStack Object Storage; Usage Cassandra Summit 2016 注目セッション報告 [db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b... Riak / Riak-CS(Enterprise版) ベンチマークしました Yahoo! JAPANにおけるApache Cassandraへの取り組み フルオープンソースでここまで出来る。OpenStackの構築と運用 Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring Similar to BSD UnixにおいてIPv6を有効にした際に発生する課題とその対策 (20)
Samba最新動向(2011/07/16 OSC 2011 Kansai@Kyoto) SAS Visual Analytics 6.3 を使った DELL VRTX の評価 innodb_thread_concurrencyとtransparent hugepageの影響 20140518 JJUG MySQL Clsuter as NoSQL Bind 9.8 feature overview Hadoop operation chaper 4 Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション② OSC 2011 Hokkaido 自宅SAN友の会(後半) HDFS Supportaiblity Improvements Apache CloudStack 4.0 インストール(ver0.5) 20210731_OSC_Kyoto_PGStrom3.0 DNS64 (El capitan and unbound-1.5.1) More from Shinsuke SUZUKI (11)
Technology Updates in IPv6 Plug and Play Using Prefix Delegation Mechanism Security Framework for the IPv6 Era Operational Issues inIPv6 --from vendors' point of view-- 国際DVTS転送におけるネットワーク技術の使い方 -日伊間双方向DVTS送信を通じて- IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー IPv6 移行時に注意が必要なセキュリティ上の脅威と対策 ー実装者の観点からー 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で十分
- 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にかかわらない問題