260 likes | 562 Views
BIND 軟體在 IPv6 上的支援與設定. 許乃文 snw@twnic.net.tw 2002/04/10. 內容. IPv4 與 IPv6 的差別 BIND 不同版本對 IPv6 的支援程度 正反解的設定 IPv6 的存取控制 Binary Label 及 DNAME A6 及 renumbering 相關文件. IPv4/IPv6 Address. IPv4: 32bits,4Bytes ex: 168.95.1.1 IPv6: 128bits ex: 2001:238:882:0:248:54ff:fe53:d3ee
E N D
BIND軟體在IPv6上的支援與設定 許乃文 snw@twnic.net.tw 2002/04/10
內容 • IPv4與IPv6的差別 • BIND不同版本對IPv6的支援程度 • 正反解的設定 • IPv6的存取控制 • Binary Label及DNAME • A6及renumbering • 相關文件
IPv4/IPv6 Address • IPv4: 32bits,4Bytes ex: 168.95.1.1 • IPv6: 128bits ex: 2001:238:882:0:248:54ff:fe53:d3ee • 依現有ipv4的消耗速度,ipv4在三至五年左右會用完 • Domain name會越來越重要
IPv6 Address 表示方式 • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx • 128 bits 固定長度,每16 bits 以 : 隔開, 共 8 個欄位 • 每一欄位開頭的 0 可省略 • Ex: 2001:238:882:0:248:54ff:fe53:d3ee
IPv6 Address表示方式 • :: 可代表連續多個 0 的欄位(僅可使用一次) • 2001:238:F882:0:0:0:0:1 = 2001:238:F882::1 • 0:0:0:0:0:0:0:1 = ::1 • 0:0:0:0:0:0:0:0 = :: • 2001:0:0:345:0:0:0:1 = 2001:0:0:345::1
IPv6 address 範圍 • Link local: FE80::/10 • Site local: FEC0::/10 • Global: 2000::/3
一些特殊的 IPv6 Address • ::1 • Loopback • :: • Unspecified • ::<IPv4> • Auto-tunnels (IPv6 over IPv4) • ::FFFF:<IPv4> • IPv4 mapped address(resolver library)
BIND的IPv6支援(1) • 可接受來自 ipv4 主機查詢某domain name的 IPv6 address • BIND 4.9.5 及 8.1 以後支援 AAAA 的 DNS 記錄 • 相當於 IPv4 的 A 記錄 • BIND 9 以後支援 A6, DNAME 的 DNS 記錄 • 除有 AAAA 的功能外, 可支援 renumbering • 將來會取代 AAAA 的記錄
BIND的IPv6支援(2) • 可接受來自 ipv6 主機(該機器的連線 IP 是 ipv6)的 DNS 查詢 • DNS本身需連線在 IPv6 的網路上 • BIND 8.1.2 以上支援 • Root servers • 目前無法回答來自 IPv6 address 的 DNS 查詢 • 但可回答 AAAA 的記錄
IPv6 DNS反解 • DNS反解 • 從IP解析出網域名稱 • 與IPv4一樣使用PTR紀錄 • 但已由 in-addr.arpa 移至 ip6.int • 但新的RFC已改回到ip6.arpa • 由每8bits改成每4bits為一sub domain • 可以使用binary label及DNAME
BIND啟用IPv6 • /etc/named.conf options { listen-on-v6 { any; }; }; • Disable options { listen-on-v6 { none; }; };
IPv6 zone file sample(1) • /etc/named.conf zone “twnic.net.tw” { type master; file “twnic.zone”; }; zone “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int” { type master; file “localhost”; } zone “2.8.8.0.8.3.2.0.1.0.0.2.ip6.int” { type master; file “twnic.reverse”; };
IPv6 zone file sample(2) • twnic.zone @ IN SOA ns.twnic.net.tw. snw.twnic.net.tw. ( 100013117 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS ns.twnic.net.tw. ; pc1 IN AAAA 2001:238:882:0:248:54ff:fe53:d3ee pc2 IN AAAA 2001:238:882::9AFF:FE80:3333 ; . . .
IPv6 zone file sample(3) • loalhost @ IN SOA ns.twnic.net.tw. snw.twnic.net.tw. ( 100013117 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhost. ; 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int. IN PTR localhost.
IPv6 Access Control Lists(1) acl internal-net { 127.0.0.1; 1.2.3.0/24; 3ffe:ffff:100::/56; ::1/128; }; acl ns-internal-net { 1.2.3.4; 1.2.3.5; 3ffe:ffff:100::4/128; };
IPv6 Access Control Lists(2) options { listen-on-v6 { any; }; allow-query { internal-net; }; allow-transfer { ns-internal-net; }; };
指定特定的IPv6 address(1) • 在IPv6的環境中,一部機器可能會有多個IP address,或是多部機器有相同的IP address (anycast) • Link local, Site local, Global… • 某些情況下需要使用特定的IP address • 使用特定的IPv6 address作DNS查詢 • query-source-v6 address <ipv6address|*> port <port|*>;
指定特定的IPv6 address(2) • 使用特定的IPv6 address作zone transfers: • transfer-source-v6 <ipv6addr|*> [port port]; • 使用特定的IPv6 address作 notify source address • notify-source-v6 <ipv6addr|*> [port port];
Binary label • Binary label • BIND 9開始支援 • 原本之0.2.9.7.5.0.f.f.f.f.4.6.0.b.2.0.0.0.0.0.2.8.8.0.8.3.2.0.1.0.0.2.ip6.int • 可改寫成\[x200102380882000002B064FFFF057920/128].ip6.int
DNAME • DNAME • 相當於CNAME • CNAME用來作主機別名,DNAME用來作網域名稱別名 • 如:twnic.net. DNAME twnic.net.tw. • 查 www.twnic.net 會得到 www.twnic.net.tw 的 IP
IPv6 位址分配 • 依RCF 2374規定: • 每個單位分配 /48 的IPv6 address • Ex: TWNIC 分配到 2001:238:882::/48 • 每個網段(interface)到 /64的IPv6 address • Ex: TWNIC 技術組: 2001:238:882::/64 • TWNIC LAB: 2001:238:882:1::/64 • TWNIC DN組: 2001:238:882:2::/64
IP renumbering • IPv6的設計:當電腦連上網路,路由器會設定電腦的IP及網路環境 • 一個單位的路由器連上ISP的路由器,ISP的路由器會設定下游路由器的網路設定 • 電腦在各網段間的移動及連線單位更換ISP是十分容易的事,那DNS?
A6 Resource Record • BIND 9支援 • a.b.c A6 64 ::248:54ff:fe53:d3ee SLA.b.c • 64: prefix length (0-128) • ::248:54ff:fe53:d3ee: address suffix • SLA.b.c: prefix name • Prefix length=128-<address suffix>的長度 • 當<prefix length>=0時,無<prefix name>
A6 設定例子(1) pc1.twnic.net.tw. IN A6 64 ::248:54ff:fe53:d3ee tect-dept.twnic.net.tw. tect-dept.twnic.net.tw. IN A6 48 :: ISP.twnic.net.tw. Lab.twnic.net.tw. IN A6 48 0:0:0:1:: ISP.twnic.net.tw. Dn-dept.twnic.net.tw. IN A6 48 0:0:0:2:: ISP.twnic.net.tw. ISP.twnic.net.tw. IN A6 0 2001:238:882::
A6 設定例子(2) • 當pc1.twnic.net.tw.自技術組移至DN組時 • pc1.twnic.net.tw. IN A6 64 ::248:54ff:fe53:d3ee tect-dept.twnic.net.tw. • 改成 • pc1.twnic.net.tw. IN A6 64 ::248:54ff:fe53:d3ee Dn-dept.twnic.net.tw. • 當TWNIC的ISP自HiNet改到SEEDNet時 • ISP.twnic.net.tw. IN A6 0 2001:238:882:: • 改成 • ISP.twnic.net.tw. IN A6 0 2001:242:112::
IPv6 DNS相關的RFC/draft • RFC 1886 / DNS Extensions to support IP version 6 • RFC 2874 / DNS Extensions to Support IPv6 Address Aggregation and Renumbering • RFC 3152 / Delegation of IP6.ARPA • RFC 3226 / DNSSEC and IPv6 A6 aware server/resolver message size requirements • draft-ietf-ipv6-dns-discovery-04.txt / IPv6 Stateless DNS Discovery • draft-ietf-ipngwg-dns-discovery-analysis-00.txt / Analysis of DNS Server Discovery Mechanisms for IPv6