Difference between revisions of "IPv6 Server: Berkeley Internet Name Domain (BIND) daemon “named”"

From OnnoWiki
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 19: Line 19:
  
 
  # netstat -lnptu |grep "named\W*$"  
 
  # netstat -lnptu |grep "named\W*$"  
  tcp 0 0 :::53        :::*      LISTEN 1234/named
+
 
¬ # incoming TCP requests
+
  tcp 0 0 :::53        :::*      LISTEN 1234/named # incoming TCP requests
udp 0 0 1.2.3.4:53    0.0.0.0:*        1234/named
+
udp 0 0 1.2.3.4:53    0.0.0.0:*        1234/named # incoming UDP requests to IPv4 1.2.3.4
¬ # incoming UDP requests to IPv4 1.2.3.4
+
udp 0 0 127.0.0.1:53  0.0.0.0:*        1234/named # incoming UDP requests to IPv4 localhost
udp 0 0 127.0.0.1:53  0.0.0.0:*        1234/named
+
udp 0 0 0.0.0.0:32868 0.0.0.0:*        1234/named # dynamic chosen port for outgoing queries
¬ # incoming UDP requests to IPv4 localhost
+
udp 0 0 :::53        :::*            1234/named # incoming UDP request to any IPv6
udp 0 0 0.0.0.0:32868 0.0.0.0:*        1234/named
 
¬ # dynamic chosen port for outgoing queries
 
udp 0 0 :::53        :::*            1234/named
 
¬ # incoming UDP request to any IPv6
 
  
 
Test sederhana dapat dilakukan seperti berikut
 
Test sederhana dapat dilakukan seperti berikut
Line 34: Line 30:
 
  # dig localhost @::1
 
  # dig localhost @::1
  
 
+
dan akan memperlihatkan hasilnya.
 
 
and should show you a result.
 
  
 
==Disable BIND named for listening on IPv6 address==
 
==Disable BIND named for listening on IPv6 address==
Line 48: Line 42:
 
  };
 
  };
  
==IPv6 enabled Access Control Lists (ACL)==
+
==IPv6 enable Access Control Lists (ACL)==
  
 
IPv6 enabled ACL sangat mungkin dan sebaiknya digunakan. Sebuah contoh akan tampak sebagai berikut:
 
IPv6 enabled ACL sangat mungkin dan sebaiknya digunakan. Sebuah contoh akan tampak sebagai berikut:
Line 66: Line 60:
 
  };
 
  };
  
This ACLs can be used e.g. for queries of clients and transfer zones to secondary name-servers. This prevents also your caching name-server to be used from outside using IPv6.
+
ACL ini dapat digunakan, misalnya, untuk mengatur permohonan dari client dan transfer zone ke secondary name server. Ini untuk menjaga agar name server caching kita tidak digunakan dari luar menggunakan IPv6.
 +
 
  
 
  options {
 
  options {
Line 75: Line 70:
 
  };
 
  };
  
It's also possible to set the allow-query and allow-transfer option for most of single zone definitions, too.
+
Sangat mungkin untuk menset opsi allow-query dan allow-transfer dari definisi satu zone saja.
  
==Sending queries with dedicated IPv6 address==
 
  
This option is not required, but perhaps needed:
+
==Mengirim permohonan dengan IPv6 address dedicated==
 +
 
 +
Opsi ini tidak dibutuhkan, tapi jika di inginkan:
  
 
  query-source-v6 address <ipv6address|*> port <port|*>;
 
  query-source-v6 address <ipv6address|*> port <port|*>;
  
22.1.4. Per zone defined dedicated IPv6 addresses
+
==Per zone defined IPv6 address dedicated==
 +
 
 +
Sangat mungkin untuk mendefinisikan beberapa address IPv6 per zone.
  
It's also possible to define per zone some IPv6 addresses.
 
  
 
==Transfer source address==
 
==Transfer source address==
  
Transfer source address is used for outgoing zone transfers:
+
Transfer source address digunakan untuk outgoing zone transfer:
  
 
  transfer-source-v6 <ipv6addr|*> [port port];
 
  transfer-source-v6 <ipv6addr|*> [port port];
  
==Notify source address==
+
==Source address untuk Notifikasi==
  
Notify source address is used for outgoing notify messages:
+
Source address untuk notifikasi yang digunakan untuk message notifikasi outgoing:
  
 
  notify-source-v6 <ipv6addr|*> [port port];
 
  notify-source-v6 <ipv6addr|*> [port port];
  
22.1.5. IPv6 DNS zone files examples
+
==contoh file IPv6 DNS zone==
  
Some information can be also found at IPv6 DNS Setup Information (article). Perhaps also helpful is the IPv6 Reverse DNS zone builder for BIND 8/9 (webtool).
+
Beberapa informasi juga dapat ditemukan di artikel tentang Setup IPv6 DNS. Mungkin juga akan membantu artikel "IPv6 Reverse DNS zone builder for BIND 8/9" (webtool).
  
==Serving IPv6 related DNS data==
+
===Melayani DNS data yang berhubungan dengan IPv6===
  
For IPv6 new types and root zones for reverse lookups are defined:
+
Untuk IPv6 maka definisikan tipe baru dan root zone untuk reverse lookup:
  
* AAAA and reverse IP6.INT: specified in RFC 1886 / DNS Extensions to support IP version 6, usable since BIND version 4.9.6
+
* AAAA dan reverse IP6.INT: di jelaskan di RFC 1886 / DNS Extensions to support IP version 6, digunakan sejak BIND versi 4.9.6
  
* A6, DNAME (DEPRECATED NOW!) and reverse IP6.ARPA: specified in RFC 2874 / DNS Extensions to Support IPv6 Address Aggregation and Renumbering, usable since BIND 9, but see also an information about the current state at Domain Name System Extension (dnsext)
+
* A6, DNAME (DEPRECATED!) dan reverse IP6.ARPA: dijelaskan di RFC 2874 / DNS Extensions to Support IPv6 Address Aggregation and Renumbering, digunakan sejak BIND 9, ada baiknya melihat informasi tentang kondisi Domain Name System Extension (dnsext)
  
Perhaps filled later more content, for the meantime take a look at given RFCs and
+
Karena IP6.INT deprecated (tapi masih digunakan), DNS server yang mendukung informasi IPv6 harus mendukung ke dua reverse zone.
  
* AAAA and reverse IP6.INT: IPv6 DNS Setup Information
+
===Praktek Yang Banyak di Adopsi===
  
* A6, DNAME (DEPRECATED NOW!) and reverse IP6.ARPA: take a look into chapter 4 and 6 of the BIND 9 Administrator Reference Manual (ARM) distributed with the bind-package or get this here: BIND manual version 9.3
+
Karena banyak masalah dengan format yang baru. praktek dilapangan yang banyak di adopsi adalah
  
Because IP6.INT is deprecated (but still in use), a DNS server which will support IPv6 information has to serve both reverse zones.
+
Forward lookup mendukung:
  
==Current best practice==
+
AAAA
  
Because there are some troubles around using the new formats, current best practice is:
+
Reverse lookup mendukung:
  
Forward lookup support:
+
* Reverse nibble format untuk zone ip6.int (UNTUK BACKWARD COMPATIBILITY)
 +
* Reverse nibble format untuk zone ip6.arpa (RECOMMENDED)
  
    AAAA
+
==Cek sambungan melalui IPv6==
  
Reverse lookup support:
+
Untuk mencek, apakah BIND named mendengarkan pada soket IPv6 socket dan menerima data, mari perhatikan contoh berikut.
  
    Reverse nibble format for zone ip6.int (FOR BACKWARD COMPATIBILITY)
+
===IPv6 tersambung, tapi di tolak oleh ACL===
  
    Reverse nibble format for zone ip6.arpa (RECOMMENDED)
+
Set sebuah dedicated server untuk diminta informasi, sebuah sambungan IPv6 dapat di paksakan sebagai berikut:
  
22.1.7. Checking IPv6-enabled connect
+
$host -t aaaa www.6bone.net 2001:4860:4860::8888
  
To check, whether BIND named is listening on an IPv6 socket and serving data see following examples.
+
Using domain server:
22.1.7.1. IPv6 connect, but denied by ACL
+
Name: 2001:4860:4860::8888
 +
Address: 2001:4860:4860::8888#53
 +
Aliases:
  
Specifying a dedicated server for the query, an IPv6 connect can be forced:
+
www.6bone.net is an alias for 6bone.net.
 +
6bone.net has IPv6 address 2001:5c0:1000:10::2
  
$ host -t aaaa www.6bone.net 2001:0db8:200:f101::1
+
Jika gagal akan tampak
Using domain server:
 
Name: 2001:0db8:200:f101::1
 
Address: 2001:0db8:200:f101::1#53
 
Aliases:
 
  
Host www.6bone.net. not found: 5(REFUSED)
+
Host www.6bone.net. not found: 5(REFUSED)
  
Related log entry looks like following:
+
Pada log akan tampak seperti berikut:
  
Jan 3 12:43:32 gate named[12347]: client
+
Jan 3 12:43:32 gate named[12347]: client 2001:0db8:200:f101:212:34ff:fe12:3456#32770:  
¬ 2001:0db8:200:f101:212:34ff:fe12:3456#32770:  
 
 
  query denied
 
  query denied
  
If you see such entries in the log, check whether requests from this client should be allowed and perhaps review your ACL configuration.
+
Jika kita melihat entri seperti di atas dalam log, cek apakah request dari client harus di ijinkan dan mungkin kita harus me-review konfigurasi ACL.
  
==Successful IPv6 connect==
+
===Sambungan IPv6 yang berhasil===
  
A successful IPv6 connect looks like following:
+
Sebuah sambungan IPv6 yang berhasil akan tampak sebagai berikut:
  
  $ host -t aaaa www.6bone.net 2001:0db8:200:f101::1
+
  $ host -t aaaa www.6bone.net 2001:4860:4860::8888
Using domain server:
 
Name: 2001:0db8:200:f101::1
 
Address: 2001:0db8:200:f101::1#53
 
Aliases:
 
  
  www.6bone.net. is an alias for 6bone.net.  
+
Using domain server:
  6bone.net. has AAAA address 3ffe:b00:c18:1::10
+
Name: 2001:4860:4860::8888
 +
Address: 2001:4860:4860::8888#53
 +
Aliases:
 +
 +
  www.6bone.net is an alias for 6bone.net.
 +
  6bone.net has IPv6 address 2001:5c0:1000:10::2

Latest revision as of 08:15, 20 July 2013

IPv6 di dukung sejak versi 9. Selalu menggunakan versi terakhir. Paling tidak menggunakan versi 9.1.3, karena versi yang lama mengandung security hole.


Listen ke IPv6 address

Tidak seperti versi IPv4. versi IPv6 tidak mengijinkan server untuk bind ke server soket dengan IPv6 dedicated address. Oleh karenanya hanya any dan none yang valid. Karena ini mungkin merupakan security issue, cek bagian Access Control List (ACL) dibawah.

Enable BIND named for listening on IPv6 address

Untuk mengaktifkan IPv6 untuk listen, opsi berikut perlu di ubah

options {
        # sure other options here, too
        listen-on-v6 { any; };
};

Setelah di restart kita dapat melihat kurang lebih:


# netstat -lnptu |grep "named\W*$" 
tcp 0 0 :::53         :::*      LISTEN 1234/named  # incoming TCP requests
udp 0 0 1.2.3.4:53    0.0.0.0:*        1234/named  # incoming UDP requests to IPv4 1.2.3.4
udp 0 0 127.0.0.1:53  0.0.0.0:*        1234/named  # incoming UDP requests to IPv4 localhost
udp 0 0 0.0.0.0:32868 0.0.0.0:*        1234/named  # dynamic chosen port for outgoing queries
udp 0 0 :::53         :::*             1234/named  # incoming UDP request to any IPv6

Test sederhana dapat dilakukan seperti berikut

# dig localhost @::1

dan akan memperlihatkan hasilnya.

Disable BIND named for listening on IPv6 address

Untuk mendisable listen IPv6 , opsi berikut kita tulis

options {
        # sure other options here, too
        listen-on-v6 { none; };
};

IPv6 enable Access Control Lists (ACL)

IPv6 enabled ACL sangat mungkin dan sebaiknya digunakan. Sebuah contoh akan tampak sebagai berikut:

acl internal-net { 
        127.0.0.1; 
        1.2.3.0/24;  
        2001:0db8:100::/56; 
        ::1/128; 
        ::ffff:1.2.3.4/128; 
};
acl ns-internal-net { 
        1.2.3.4;  
        1.2.3.5;  
        2001:0db8:100::4/128; 
        2001:0db8:100::5/128; 
};

ACL ini dapat digunakan, misalnya, untuk mengatur permohonan dari client dan transfer zone ke secondary name server. Ini untuk menjaga agar name server caching kita tidak digunakan dari luar menggunakan IPv6.


options {
        # sure other options here, too
        listen-on-v6 { none; };
        allow-query { internal-net; }; 
        allow-transfer { ns-internal-net; }; 
};

Sangat mungkin untuk menset opsi allow-query dan allow-transfer dari definisi satu zone saja.


Mengirim permohonan dengan IPv6 address dedicated

Opsi ini tidak dibutuhkan, tapi jika di inginkan:

query-source-v6 address <ipv6address|*> port <port|*>;

Per zone defined IPv6 address dedicated

Sangat mungkin untuk mendefinisikan beberapa address IPv6 per zone.


Transfer source address

Transfer source address digunakan untuk outgoing zone transfer:

transfer-source-v6 <ipv6addr|*> [port port];

Source address untuk Notifikasi

Source address untuk notifikasi yang digunakan untuk message notifikasi outgoing:

notify-source-v6 <ipv6addr|*> [port port];

contoh file IPv6 DNS zone

Beberapa informasi juga dapat ditemukan di artikel tentang Setup IPv6 DNS. Mungkin juga akan membantu artikel "IPv6 Reverse DNS zone builder for BIND 8/9" (webtool).

Melayani DNS data yang berhubungan dengan IPv6

Untuk IPv6 maka definisikan tipe baru dan root zone untuk reverse lookup:

  • AAAA dan reverse IP6.INT: di jelaskan di RFC 1886 / DNS Extensions to support IP version 6, digunakan sejak BIND versi 4.9.6
  • A6, DNAME (DEPRECATED!) dan reverse IP6.ARPA: dijelaskan di RFC 2874 / DNS Extensions to Support IPv6 Address Aggregation and Renumbering, digunakan sejak BIND 9, ada baiknya melihat informasi tentang kondisi Domain Name System Extension (dnsext)

Karena IP6.INT deprecated (tapi masih digunakan), DNS server yang mendukung informasi IPv6 harus mendukung ke dua reverse zone.

Praktek Yang Banyak di Adopsi

Karena banyak masalah dengan format yang baru. praktek dilapangan yang banyak di adopsi adalah

Forward lookup mendukung:

AAAA

Reverse lookup mendukung:

  • Reverse nibble format untuk zone ip6.int (UNTUK BACKWARD COMPATIBILITY)
  • Reverse nibble format untuk zone ip6.arpa (RECOMMENDED)

Cek sambungan melalui IPv6

Untuk mencek, apakah BIND named mendengarkan pada soket IPv6 socket dan menerima data, mari perhatikan contoh berikut.

IPv6 tersambung, tapi di tolak oleh ACL

Set sebuah dedicated server untuk diminta informasi, sebuah sambungan IPv6 dapat di paksakan sebagai berikut:

$host -t aaaa www.6bone.net 2001:4860:4860::8888
Using domain server:
Name: 2001:4860:4860::8888
Address: 2001:4860:4860::8888#53
Aliases: 
www.6bone.net is an alias for 6bone.net.
6bone.net has IPv6 address 2001:5c0:1000:10::2

Jika gagal akan tampak

Host www.6bone.net. not found: 5(REFUSED)

Pada log akan tampak seperti berikut:

Jan 3 12:43:32 gate named[12347]: client 2001:0db8:200:f101:212:34ff:fe12:3456#32770: 
query denied

Jika kita melihat entri seperti di atas dalam log, cek apakah request dari client harus di ijinkan dan mungkin kita harus me-review konfigurasi ACL.

Sambungan IPv6 yang berhasil

Sebuah sambungan IPv6 yang berhasil akan tampak sebagai berikut:

$ host -t aaaa www.6bone.net 2001:4860:4860::8888
Using domain server:
Name: 2001:4860:4860::8888
Address: 2001:4860:4860::8888#53
Aliases: 

www.6bone.net is an alias for 6bone.net.
6bone.net has IPv6 address 2001:5c0:1000:10::2