deadwood - ອອນ​ໄລ​ນ​໌​ໃນ​ຟັງ​ໄດ້​

ນີ້ແມ່ນຄໍາສັ່ງ deadwood ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


deadwood - ຕົວແກ້ໄຂ DNS caching recursive ຢ່າງເຕັມສ່ວນ

ລາຍລະອຽດ


Deadwood ເປັນ cache DNS recursive ຢ່າງເຕັມສ່ວນ. ນີ້ແມ່ນເຄື່ອງແມ່ຂ່າຍ DNS ທີ່ມີລັກສະນະດັ່ງຕໍ່ໄປນີ້:

* ສະຫນັບສະຫນູນຢ່າງເຕັມທີ່ສໍາລັບທັງ DNS recursion ແລະ DNS forwarding caching

* ຂະ​ຫນາດ​ນ້ອຍ​ແລະ​ຮອຍ​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ທີ່​ເຫມາະ​ສົມ​ສໍາ​ລັບ​ລະ​ບົບ​ຝັງ​

* codebase ງ່າຍ​ດາຍ​ແລະ​ສະ​ອາດ​

* ການ​ອອກ​ແບບ​ທີ່​ປອດ​ໄພ​

* ການ​ປົກ​ປ້ອງ​ການ​ຫຼອກ​ລວງ​: ການ​ເຂົ້າ​ລະ​ຫັດ​ທີ່​ເຂັ້ມ​ແຂງ​ນໍາ​ໃຊ້​ເພື່ອ​ກໍາ​ນົດ ID ຂອງ​ການ​ສອບ​ຖາມ​ແລະ​ພອດ​ແຫຼ່ງ​

* ຄວາມ​ສາ​ມາດ​ໃນ​ການ​ອ່ານ​ແລະ​ຂຽນ​ຖານ​ຄວາມ​ຈໍາ​ກັບ​ໄຟລ​໌​

* cache ແບບໄດນາມິກທີ່ລຶບລາຍການທີ່ບໍ່ໄດ້ໃຊ້ໃນບໍ່ດົນມານີ້

* ຄວາມ​ສາ​ມາດ​ໃນ​ການ​ນໍາ​ໃຊ້​ລາຍ​ການ​ຫມົດ​ອາ​ຍຸ​ໃນ​ຖານ​ຄວາມ​ຈໍາ​ໃນ​ເວ​ລາ​ທີ່​ມັນ​ເປັນ​ໄປ​ບໍ່​ໄດ້​ທີ່​ຈະ​ຕິດ​ຕໍ່​ກັບ​ນ​້​ໍ​າ​
ເຊີບເວີ DNS.

* ຮອງຮັບ IPv6 ສາມາດລວບລວມໄດ້ຖ້າຕ້ອງການ

* ທັງ DNS-over-UDP ແລະ DNS-over-TCP ຖືກຈັດການໂດຍ daemon ດຽວກັນ

* ການທໍາງານຂອງ dnswall ໃນຕົວ

ຄໍາສັ່ງ LINE ການໂຕ້ຖຽງ


Deadwood ມີການໂຕ້ຖຽງເສັ້ນຄໍາສັ່ງທາງເລືອກດຽວ: ສະຖານທີ່ຂອງການຕັ້ງຄ່າ
ໄຟລ໌ທີ່ Deadwood ໃຊ້, ລະບຸດ້ວຍທຸງ "-f". ຖ້າຫາກວ່ານີ້ບໍ່ໄດ້ຖືກກໍານົດ, Deadwood
ໃຊ້ໄຟລ໌ "/etc/maradns/deadwood/dwood3rc" ເປັນໄຟລ໌ການຕັ້ງຄ່າ.

ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ການເອີ້ນ Deadwood ເປັນ ຕົ້ນໄມ້ ຈະເຮັດໃຫ້ Deadwood ໃຊ້
/etc/maradns/deadwood/dwood3rc ເປັນໄຟລ໌ການຕັ້ງຄ່າ; ເອີ້ນ Deadwood ເປັນ ຕົ້ນໄມ້ -f
ຟຸບາ ຈະເຮັດໃຫ້ Deadwood ໃຊ້ໄຟລ໌ "foobar" ໃນໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ (the
ໄດເລກະທໍລີຫນຶ່ງແມ່ນຢູ່ໃນເວລາເລີ່ມຕົ້ນ Deadwood) ເປັນໄຟລ໌ການຕັ້ງຄ່າ.

CONFIGURATION ເອກະສານ ຮູບແບບ


ໄຟລ໌ການຕັ້ງຄ່າ Deadwood ຖືກສ້າງແບບຈໍາລອງຫຼັງຈາກ syntax ຂອງ Python 2. ທຸກໆ Deadwood ທີ່ຖືກຕ້ອງ
ໄຟລ໌ການຕັ້ງຄ່າຄວນແຍກວິເຄາະຢ່າງຖືກຕ້ອງໃນທັງ Python 2.4.3 ແລະ Python 2.6.6. ຖ້າ
ໄຟລ໌ການຕັ້ງຄ່າໃດໆ parse ຢ່າງຖືກຕ້ອງໃນ Deadwood ແຕ່ເຮັດໃຫ້ເກີດຄວາມຜິດພາດ syntax ໃນ
Python, ນີ້ແມ່ນ bug ທີ່ຄວນໄດ້ຮັບການແກ້ໄຂ.

ນີ້ຢູ່ໃນໃຈ, whitespace ແມ່ນສໍາຄັນ; ຕົວກໍານົດການໄມ້ຕາຍຕ້ອງຢູ່ໃນຊ້າຍສຸດ
ຖັນທີ່ບໍ່ມີບ່ອນຫວ່າງທາງໜ້າ. ນີ້ແມ່ນເສັ້ນທີ່ຖືກຕ້ອງ (ຕາບໃດທີ່ບໍ່ມີຊ່ອງຫວ່າງ
ຊ້າຍ​ຂອງ​ຕົນ​)​:

recursive_acl = "127.0.0.1/16"

ແນວໃດກໍ່ຕາມ, ແຖວຕໍ່ໄປນີ້ຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດໃນການແຍກວິເຄາະ:

recursive_acl = "127.0.0.1/16"

ສັງເກດຊ່ອງຫວ່າງທາງຊ້າຍຂອງສະຕຣິງ "recusive_acl" ໃນຮູບແບບທີ່ບໍ່ຖືກຕ້ອງ
ເສັ້ນ.

ປາຣາມາເທີ TYPES


Deadwood ມີສາມປະເພດພາລາມິເຕີທີ່ແຕກຕ່າງກັນ:

* ຕົວກໍານົດການຕົວເລກ. ຕົວກໍານົດການຕົວເລກຈະຕ້ອງບໍ່ຖືກອ້ອມຮອບດ້ວຍວົງຢືມ, ເຊັ່ນນີ້
ຍົກຕົວຢ່າງ:

filter_rfc1918 = 0

ຖ້າຕົວກໍານົດການຕົວເລກຖືກອ້ອມຮອບດ້ວຍວົງຢືມ, ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ "Unknown dwood3rc
string parameter "ຈະປາກົດ.

* ຕົວກໍານົດການສາຍ. ຕົວກໍານົດການ String ຕ້ອງໄດ້ຮັບການອ້ອມຮອບດ້ວຍວົງຢືມ, ເຊັ່ນໃນນີ້
ຍົກຕົວຢ່າງ:

bind_address = "127.0.0.1"

* ຕົວກໍານົດການວັດຈະນານຸກົມ. ຕົວກໍານົດການວັດຈະນານຸກົມທັງຫມົດຕ້ອງໄດ້ຮັບການເລີ່ມຕົ້ນກ່ອນທີ່ຈະນໍາໃຊ້, ແລະ
ພາລາມິເຕີວັດຈະນານຸກົມຕ້ອງມີທັງດັດຊະນີວັດຈະນານຸກົມ ແລະຄ່າຂອງດັດຊະນີດັ່ງກ່າວ
ອ້ອມຮອບດ້ວຍຄໍາເວົ້າ, ເຊັ່ນໃນຕົວຢ່າງນີ້:

upstream_servers = {}
upstream_servers[""]="8.8.8.8, 8.8.4.4"

ຕົວກໍານົດການ dwood3rc ທັງໝົດ ຍົກເວັ້ນ ຕໍ່ໄປນີ້ແມ່ນຕົວກໍານົດການຕົວເລກ:

* bind_address (string)

* cache_file (string)

* chroot_dir (string)

* ip_blacklist (string)

* ipv4_bind_addresses (string)

* random_seed_file (string)

* recursive_acl (string)

* root_servers (ວັດ​ຈະ​ນາ​ນຸ​ກົມ​)

* upstream_servers (ວັດ​ຈະ​ນາ​ນຸ​ກົມ​)

ສະ ໜັບ ສະ ໜູນ PARAMETERS


ໄຟລ໌ການຕັ້ງຄ່າ Deadwood ຮອງຮັບພາລາມິເຕີຕໍ່ໄປນີ້:

bind_address

ນີ້ແມ່ນທີ່ຢູ່ IP (ຫຼືອາດຈະເປັນ IPv6) ທີ່ພວກເຮົາຜູກມັດກັບ.

cache_file

ນີ້ແມ່ນຊື່ໄຟລ໌ຂອງໄຟລ໌ທີ່ໃຊ້ສໍາລັບການອ່ານແລະຂຽນ cache ກັບແຜ່ນ; ນີ້
string ສາມາດມີຕົວພິມນ້ອຍ, ສັນຍາລັກ '-', ສັນຍາລັກ '_' ແລະ '/' (ສຳລັບ
ວາງ cache ໃນ subdirectory). ສັນຍາລັກອື່ນໆທັງໝົດກາຍເປັນສັນຍາລັກ '_'.

ໄຟລ໌ນີ້ຖືກອ່ານ ແລະຂຽນເມື່ອຜູ້ໃຊ້ Deadwood ແລ່ນເປັນ.

chroot_dir

ນີ້ແມ່ນໄດເລກະທໍລີທີ່ໂຄງການຈະດໍາເນີນການຈາກ.

ສົ່ງ_ທັງໝົດ

ນີ້ມີຜົນກະທົບຕໍ່ພຶດຕິກໍາໃນ Deadwood 2.3, ແຕ່ບໍ່ມີຜົນຕໍ່ Deadwood 3. ຕົວແປນີ້ແມ່ນ
ທີ່ນີ້ເທົ່ານັ້ນເພື່ອໃຫ້ໄຟລ໌ Deadwood 2 rc ສາມາດດໍາເນີນການໃນ Deadwood 3.

dns_port

ນີ້ແມ່ນພອດ Deadwood ຜູກມັດແລະຟັງສໍາລັບການເຊື່ອມຕໍ່ຂາເຂົ້າ. ຄ່າເລີ່ມຕົ້ນ
ຄ່າສໍາລັບການນີ້ແມ່ນພອດ DNS ມາດຕະຖານ: port 53

filter_rfc1918

ເມື່ອນີ້ມີມູນຄ່າ 1, ຈໍານວນຂອງຊ່ວງ IP ທີ່ແຕກຕ່າງກັນບໍ່ໄດ້ຖືກອະນຸຍາດໃຫ້ຢູ່ໃນ DNS A
ຕອບກັບ:

* 192.168.xx

* 172.[16-31].xx

* 10.xxx

* 127.xxx

* 169.254.xx

* 224.xxx

* 0.0.xx

ຖ້າຫນຶ່ງຂອງ IP ຂ້າງເທິງນີ້ຖືກກວດພົບໃນການຕອບ DNS, ແລະ filter_rfc1918 ມີມູນຄ່າ 1,
Deadwood ຈະສົ່ງຄືນການຕອບໂຕ້ແບບສັງເຄາະ "ເຈົ້າພາບນີ້ບໍ່ຕອບ" (ບັນທຶກ SOA ໃນ
ສ່ວນ NS) ແທນບັນທຶກ A.

ເຫດຜົນສໍາລັບການນີ້ແມ່ນເພື່ອໃຫ້ "dnswall" ທີ່ປົກປ້ອງຜູ້ໃຊ້ສໍາລັບບາງປະເພດຂອງ
ການໂຈມຕີ, ດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ http://crypto.stanford.edu/dns/

ກະລຸນາສັງເກດວ່າ Deadwood ພຽງແຕ່ສະຫນອງການທໍາງານ IPv4 "dnswall" ແລະບໍ່ໄດ້ຊ່ວຍ
ປ້ອງກັນຄໍາຕອບ IPv6. ຖ້າ​ຫາກ​ວ່າ​ການ​ປົກ​ປັກ​ຮັກ​ສາ​ຕໍ່​ບາງ IPv6 AAAA records ແມ່ນ​ຈໍາ​ເປັນ​,
ບໍ່ວ່າຈະປິດການທໍາງານຄໍາຕອບ AAAA ທັງຫມົດໂດຍການຕັ້ງ reject_aaaa ໃຫ້ມີຄ່າຂອງ 1, ຫຼືໃຊ້ an
ໂປລແກລມພາຍນອກເພື່ອກັ່ນຕອງຄໍາຕອບ IPv4 ທີ່ບໍ່ຕ້ອງການ (ເຊັ່ນໂຄງການ dnswall).

ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້ແມ່ນ 1

handle_noreply

ເມື່ອອັນນີ້ຖືກຕັ້ງເປັນ 0, Deadwood ບໍ່ສົ່ງຄໍາຕອບກັບລູກຄ້າ (ເມື່ອລູກຄ້າເປັນ a
ລູກ​ຄ້າ TCP, Deadwood ປິດ​ການ​ເຊື່ອມ​ຕໍ່ TCP) ໃນ​ເວ​ລາ​ທີ່​ການ​ສອບ​ຖາມ UDP ຖືກ​ສົ່ງ​ຂຶ້ນ​ນ​້​ໍ​າ​ແລະ
DNS ເທິງນ້ໍາບໍ່ເຄີຍສົ່ງຄໍາຕອບ.

ເມື່ອອັນນີ້ຖືກຕັ້ງເປັນ 1, Deadwood ສົ່ງ SERVER FAIL ກັບຄືນຫາລູກຄ້າເມື່ອມີການສອບຖາມ UDP.
ສົ່ງເທິງນ້ໍາແລະ DNS ເທິງນ້ໍາບໍ່ເຄີຍສົ່ງຄໍາຕອບ.

ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້ແມ່ນ 1

handle_overload

ເມື່ອນີ້ມີມູນຄ່າ 0, Deadwood ບໍ່ສົ່ງຄໍາຕອບເມື່ອຄໍາຖາມ UDP ຖືກສົ່ງແລະ
ເຊີບເວີຖືກໂຫຼດເກີນ (ມີການເຊື່ອມຕໍ່ທີ່ຍັງຄ້າງຫຼາຍເກີນໄປ); ເມື່ອມັນມີມູນຄ່າ 1,
Deadwood ສົ່ງຊຸດ SERVER FAIL ກັບຄືນໄປຫາຜູ້ສົ່ງຄໍາຖາມ UDP. ຄ່າເລີ່ມຕົ້ນ
ສໍາລັບນີ້ແມ່ນ 1.

hash_magic_number

ອັນນີ້ເຄີຍໃຊ້ສໍາລັບເຄື່ອງກໍາເນີດ hash ພາຍໃນຂອງ Deadwood ເພື່ອຮັກສາເຄື່ອງກໍາເນີດ hash
ຂ້ອນຂ້າງສຸ່ມແລະມີພູມຕ້ານທານກັບບາງປະເພດຂອງການໂຈມຕີ. ໃນ Deadwood 3.0, entropy ສໍາລັບ
ຟັງຊັນ hash ຖືກສ້າງຂື້ນໂດຍການເບິ່ງເນື້ອຫາຂອງ /dev/urandom (secret.txt ໃນ Windows.
ເຄື່ອງຈັກ) ແລະເວລາປະຈຸບັນ. ພາລາມິເຕີນີ້ແມ່ນຢູ່ທີ່ນີ້ເທົ່ານັ້ນ, ດັ່ງນັ້ນການຕັ້ງຄ່າທີ່ເກົ່າກວ່າ
ໄຟລ໌ບໍ່ແຕກໃນ Deadwood 3.0.

ip_blacklist

ນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງ IP ທີ່ພວກເຮົາບໍ່ອະນຸຍາດໃຫ້ຢູ່ໃນຄໍາຕອບຂອງຄໍາຮ້ອງຂໍ DNS. ໄດ້
ເຫດຜົນສໍາລັບການນີ້ແມ່ນເພື່ອຕ້ານການປະຕິບັດບາງ ISPs ມີການແປງ "ເວັບໄຊທ໌ນີ້
ບໍ່ມີ" ຄໍາຕອບ DNS ໃນຫນ້າທີ່ຄວບຄຸມໂດຍ ISP; ນີ້ເຮັດໃຫ້ເປັນໄປໄດ້
ບັນຫາຄວາມປອດໄພ.

ພາລາມິເຕີນີ້ຍອມຮັບພຽງແຕ່ IP ສ່ວນບຸກຄົນ, ແລະບໍ່ໃຊ້ netmasks.

maradns_uid

user-id Deadwood ແລ່ນເປັນ. ນີ້ສາມາດເປັນຕົວເລກລະຫວ່າງ 10 ແລະ 65535; ຄ່າເລີ່ມຕົ້ນ
ຄ່າແມ່ນ 99 (ບໍ່ມີໃຜຢູ່ໃນການແຈກຢາຍ Linux ທີ່ມາຈາກ RedHat). ຄ່ານີ້ບໍ່ໄດ້ໃຊ້ໃນ
ລະບົບ Windows.

maradns_gid

group-id Deadwood ແລ່ນເປັນ. ນີ້ສາມາດເປັນຕົວເລກລະຫວ່າງ 10 ແລະ 65535; ຄ່າເລີ່ມຕົ້ນ
ຄ່າແມ່ນ 99. ຄ່ານີ້ບໍ່ໄດ້ໃຊ້ໃນລະບົບ Windows.

max_ar_chain

ບໍ່ວ່າການຫມຸນບັນທຶກຊັບພະຍາກອນຖືກເປີດໃຊ້. ຖ້າອັນນີ້ມີມູນຄ່າ 1, ບັນທຶກຊັບພະຍາກອນ
ການຫມຸນຖືກເປີດໃຊ້ງານ, ຖ້າບໍ່ດັ່ງນັ້ນການຫມຸນບັນທຶກຊັບພະຍາກອນຖືກປິດໃຊ້ງານ.

ການຫມູນວຽນບັນທຶກຊັບພະຍາກອນປົກກະຕິແລ້ວແມ່ນເປັນຄວາມປາຖະຫນາ, ນັບຕັ້ງແຕ່ມັນອະນຸຍາດໃຫ້ DNS ປະຕິບັດຄືກັບ crude
load balancer. ຢ່າງໃດກໍຕາມ, ໃນລະບົບການໂຫຼດຫຼາຍມັນອາດຈະຕ້ອງການທີ່ຈະປິດການໃຊ້ງານມັນ
ຫຼຸດຜ່ອນການໃຊ້ CPU.

ເຫດຜົນສໍາລັບຊື່ທີ່ຜິດປົກກະຕິສໍາລັບຕົວແປນີ້ແມ່ນເພື່ອຮັກສາຄວາມເຂົ້າກັນໄດ້ກັບ MaraDNS
ໄຟລ໌ mararc.

ຄ່າເລີ່ມຕົ້ນແມ່ນ 1: ເປີດໃຊ້ການຫມຸນບັນທຶກຊັບພະຍາກອນ.

max_inflights

ຈໍານວນສູງສຸດຂອງລູກຄ້າພ້ອມໆກັນທີ່ພວກເຮົາດໍາເນີນການໃນເວລາດຽວກັນສໍາລັບການສອບຖາມດຽວກັນ.

ຖ້າ, ໃນຂະນະທີ່ດໍາເນີນການສອບຖາມ, ເວົ້າວ່າ, "example.com.", ລູກຄ້າ DNS ອື່ນສົ່ງໄປຫາ
Deadwood ຄໍາຖາມອື່ນສໍາລັບ example.com, ແທນທີ່ຈະສ້າງຄໍາຖາມໃຫມ່ເພື່ອດໍາເນີນການ
example.com, Deadwood ຈະແນບລູກຄ້າໃຫມ່ໃຫ້ກັບຄໍາຖາມດຽວກັນທີ່ມີ "ໃນ
ຖ້ຽວບິນ", ແລະສົ່ງຄໍາຕອບກັບລູກຄ້າທັງສອງເມື່ອພວກເຮົາມີຄໍາຕອບສໍາລັບ example.com.

ນີ້ແມ່ນຈໍານວນລູກຄ້າພ້ອມໆກັນທີ່ຄໍາຖາມໃຫ້ສາມາດມີ. ຖ້າຂອບເຂດນີ້
ເກີນ, ລູກຄ້າຕໍ່ມາທີ່ມີການສອບຖາມດຽວກັນຖືກປະຕິເສດຈົນກ່ວາຄໍາຕອບຈະພົບເຫັນ. ຖ້າ
ນີ້ມີມູນຄ່າ 1, ພວກເຮົາບໍ່ລວມເອົາຫຼາຍຄໍາຮ້ອງຂໍສໍາລັບການສອບຖາມດຽວກັນ, ແຕ່ໃຫ້ແຕ່ລະຄົນ
ຮ້ອງຂໍການເຊື່ອມຕໍ່ຂອງຕົນເອງ.

ຄ່າເລີ່ມຕົ້ນແມ່ນ 8.

max_ttl

ຈໍານວນເວລາສູງສຸດທີ່ພວກເຮົາຈະຮັກສາການເຂົ້າຢູ່ໃນ cache, ໃນວິນາທີ (ຍັງເອີ້ນວ່າ
"TTL ສູງສຸດ").

ນີ້ແມ່ນເວລາທີ່ຍາວທີ່ສຸດທີ່ພວກເຮົາຈະເກັບຂໍ້ມູນເຂົ້າໄວ້ໃນຖານຄວາມຈໍາ. ຄ່າເລີ່ມຕົ້ນສໍາລັບພາລາມິເຕີນີ້ແມ່ນ
86400 (ມື້ຫນຶ່ງ); ຄ່າຕໍາ່ສຸດທີ່ແມ່ນ 300 (5 ນາທີ) ແລະຄ່າສູງສຸດທີ່ສາມາດມີໄດ້
ແມ່ນ 7776000 (90 ມື້).

ເຫດຜົນວ່າເປັນຫຍັງພາລາມິເຕີນີ້ຢູ່ທີ່ນີ້ແມ່ນເພື່ອປົກປ້ອງ Deadwood ຈາກການໂຈມຕີທີ່ຂູດຮີດ
ມີຂໍ້ມູນ stale ໃນ cache, ເຊັ່ນການໂຈມຕີ "Ghost Domain Names".

maximum_cache_elements

ຈໍານວນສູງສຸດຂອງອົງປະກອບ cache ຂອງພວກເຮົາແມ່ນອະນຸຍາດໃຫ້ມີ. ນີ້ແມ່ນຕົວເລກລະຫວ່າງ 32
ແລະ 16,777,216; ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້ແມ່ນ 1024. ໃຫ້ສັງເກດວ່າ, ຖ້າຂຽນ cache ກັບ
ແຜ່ນຫຼືອ່ານ cache ຈາກແຜ່ນ, ມູນຄ່າທີ່ສູງຂຶ້ນຂອງນີ້ຈະຊ້າລົງ cache
ອ່ານ/ຂຽນ.

ປະລິມານຂອງຫນ່ວຍຄວາມຈໍາແຕ່ລະ cache ນໍາໃຊ້ແມ່ນມີການປ່ຽນແປງຂຶ້ນຢູ່ກັບລະບົບປະຕິບັດການ
ໃຊ້ແລະຂະຫນາດຂອງຫນ້າການຈັດສັນຫນ່ວຍຄວາມຈໍາທີ່ຖືກມອບຫມາຍ. ໃນ Windows XP, ສໍາລັບການຍົກຕົວຢ່າງ, ແຕ່ລະຄົນ
ເຂົ້າໃຊ້ປະມານສີ່ກິໂລໄບຂອງຫນ່ວຍຄວາມຈໍາແລະ Deadwood ມີສ່ວນເກີນຂອງ
ປະມານ 512 ກິໂລແມັດ. ດັ່ງນັ້ນ, ຖ້າມີອົງປະກອບແຄດ 512, Deadwood ໃຊ້
ປະມານ 2.5 megabytes ຂອງຫນ່ວຍຄວາມຈໍາ, ແລະຖ້າຫາກວ່າມີ 1024 cache ອົງປະກອບ, Deadwood ໃຊ້.
ປະມານ 4.5 megabytes ຂອງຫນ່ວຍຄວາມຈໍາ. ອີກເທື່ອຫນຶ່ງ, ຕົວເລກເຫຼົ່ານີ້ແມ່ນສໍາລັບ Windows XP ແລະອື່ນໆ
ລະບົບປະຕິບັດການຈະມີຈໍານວນການຈັດສັນຫນ່ວຍຄວາມຈໍາທີ່ແຕກຕ່າງກັນ.

ກະລຸນາຮັບຊາບວ່າແຕ່ລະ root_servers ແລະ upstream_servers ໃຊ້ເວລາເຖິງພື້ນທີ່ຢູ່ໃນ Deadwood's
cache ແລະທີ່ maximum_cache_elements ຈະຕ້ອງໄດ້ເພີ່ມຂຶ້ນເພື່ອເກັບຮັກສາຈໍານວນຫຼວງຫຼາຍ
ລາຍການເຫຼົ່ານີ້.

ສູງສຸດທີ່ເຄຍ

ນີ້ແມ່ນຈໍານວນສູງສຸດຂອງການເຊື່ອມຕໍ່ UDP ຫ່າງໄກສອກຫຼີກທີ່ Deadwood ສາມາດມີ. ໄດ້
ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້ແມ່ນ 1024.

max_tcp_procs

ນີ້ແມ່ນຈໍານວນການເຊື່ອມຕໍ່ TCP ເປີດທີ່ອະນຸຍາດໃຫ້. ຄ່າເລີ່ມຕົ້ນ: 8

num_retries

ຈຳນວນເທື່ອທີ່ພວກເຮົາພະຍາຍາມສົ່ງຄຳຮ້ອງຂໍຄືນໃໝ່ກ່ອນການຍອມແພ້. ຖ້ານີ້ແມ່ນ 0, ພວກເຮົາ
ພຽງ​ແຕ່​ພະ​ຍາ​ຍາມ​ຄັ້ງ​ດຽວ​; ຖ້ານີ້ແມ່ນ 1, ພວກເຮົາພະຍາຍາມສອງຄັ້ງ, ແລະອື່ນໆ, ສູງສຸດ 32 ເທື່ອ. ໃຫ້ສັງເກດວ່າແຕ່ລະຄົນ
ລອງອີກຄັ້ງໃຊ້ເວລາ timeout_seconds ວິນາທີກ່ອນທີ່ພວກເຮົາຈະລອງໃໝ່ອີກຄັ້ງ. ຄ່າເລີ່ມຕົ້ນ: 5

ns_glueless_type

ປະເພດ RR ທີ່ພວກເຮົາສົ່ງເພື່ອແກ້ໄຂບັນທຶກທີ່ບໍ່ມີກາວ. ອັນນີ້ຄວນຈະເປັນ 1 (ກ.) ເມື່ອໃຊ້ເປັນສ່ວນໃຫຍ່
IPv4 ເພື່ອແກ້ໄຂບັນທຶກ. ຖ້າບັນທຶກ NS ທີ່ບໍ່ມີກາວມີ AAAA ແຕ່ບໍ່ແມ່ນບັນທຶກ A, ແລະ IPv6 ແມ່ນ
ເປີດໃຊ້ແລ້ວ, ມັນອາດຈະເຮັດໃຫ້ຄວາມຮູ້ສຶກນີ້ມີມູນຄ່າ 255 (ANY). ຖ້າ IPv4 ຢຸດເຊົາການເປັນ
ໃຊ້ໃນຂະຫນາດໃຫຍ່, ໃນທີ່ສຸດມັນອາດຈະເປັນໄປໄດ້ທີ່ຈະເຮັດໃຫ້ມູນຄ່າ 28
(AAAA).

ຄ່າເລີ່ມຕົ້ນແມ່ນ 1: ບັນທຶກ A (IPv4 IP). ຕົວກໍານົດການນີ້ມີ ບໍ່ ໄດ້​ຮັບ​ການ​ທົດ​ສອບ​; ໃຊ້ຢູ່
ຄວາມສ່ຽງຂອງທ່ານເອງ.

random_seed_file

ນີ້ແມ່ນໄຟລ໌ທີ່ມີຕົວເລກແບບສຸ່ມ, ແລະຖືກນໍາໃຊ້ເປັນເມັດສໍາລັບ
ຕົວສ້າງຕົວເລກແບບສຸ່ມທີ່ເຂັ້ມແຂງ cryptographically. Deadwood ຈະພະຍາຍາມອ່ານ 256 bytes
ຈາກໄຟລ໌ນີ້ (ການໃຊ້ RNG Deadwood ສາມາດຍອມຮັບສາຍນ້ໍາທີ່ມີຄວາມຍາວໃດໆ).

ໃຫ້ສັງເກດວ່າຟັງຊັນການບີບອັດ hash ໄດ້ຮັບບາງສ່ວນຂອງ entropy ຂອງມັນກ່ອນທີ່ຈະວິເຄາະ
ໄຟລ໌ mararc, ແລະເປັນລະຫັດຍາກເພື່ອໃຫ້ໄດ້ entropy ຈາກ /dev/urandom (secret.txt ໃນ Windows.
ລະບົບ). entropy ອື່ນໆສ່ວນໃຫຍ່ທີ່ໃຊ້ໂດຍ Deadwood ແມ່ນມາຈາກໄຟລ໌ທີ່ຊີ້ໃຫ້ເຫັນໂດຍ
random_seed_file.

recurse_min_bind_port

ທ່າເຮືອທີ່ມີຕົວເລກຕ່ໍາສຸດ Deadwood ແມ່ນອະນຸຍາດໃຫ້ຜູກມັດກັບ; ນີ້ແມ່ນຕົວເລກພອດແບບສຸ່ມທີ່ໃຊ້
ສໍາລັບພອດແຫຼ່ງຂອງການສອບຖາມຂາອອກ, ແລະບໍ່ແມ່ນ 53 (ເບິ່ງ dns_port ຂ້າງເທິງ). ນີ້​ແມ່ນ
ຕົວເລກລະຫວ່າງ 1025 ແລະ 32767, ແລະມີມູນຄ່າເລີ່ມຕົ້ນຂອງ 15000. ນີ້ຖືກນໍາໃຊ້ເພື່ອເຮັດໃຫ້ DNS
ການ​ໂຈມ​ຕີ​ຫຼອກ​ລວງ​ຍາກ​ກວ່າ.

recurse_number_ports

ຈໍານວນຂອງພອດ Deadwood ຜູກມັດກັບພອດແຫຼ່ງສໍາລັບການເຊື່ອມຕໍ່ຂາອອກ; ນີ້
ແມ່ນພະລັງງານຂອງ 2 ລະຫວ່າງ 256 ແລະ 32768. ນີ້ຖືກນໍາໃຊ້ເພື່ອເຮັດໃຫ້ການໂຈມຕີ DNS spoofing ຫຼາຍຂຶ້ນ.
ຍາກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 4096.

recursive_acl

ນີ້ແມ່ນລາຍຊື່ຜູ້ທີ່ໄດ້ຮັບອະນຸຍາດໃຫ້ໃຊ້ Deadwood ເພື່ອປະຕິບັດ DNS recursion, ໃນ "ip/mask"
ຮູບແບບ. ໜ້າກາກຕ້ອງເປັນຕົວເລກລະຫວ່າງ 0 ຫາ 32 (ສຳລັບ IPv6, ລະຫວ່າງ 0 ຫາ 128). ຍົກ​ຕົວ​ຢ່າງ,
"127.0.0.1/8" ອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ທ້ອງຖິ່ນ.

ປະຕິເສດ_aaaa

ຖ້າມັນມີມູນຄ່າ 1, SOA ປອມ "ບໍ່ມີ" ຕອບກັບຈະຖືກສົ່ງທຸກຄັ້ງທີ່ມີການສອບຖາມ AAAA.
ສົ່ງໄປ Deadwood. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ທຸກໆຄັ້ງທີ່ໂຄງການຖາມ Deadwood ສໍາລັບ IPv6 IP
ທີ່ຢູ່, ແທນທີ່ຈະພະຍາຍາມປະມວນຜົນການຮ້ອງຂໍ, ເມື່ອນີ້ຖືກກໍານົດເປັນ 1, Deadwood
ອ້າງວ່າຊື່ເຈົ້າພາບໃນຄໍາຖາມບໍ່ມີທີ່ຢູ່ IPv6.

ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບຜູ້ທີ່ບໍ່ໄດ້ໃຊ້ IPv6 ແຕ່ໃຊ້ແອັບພລິເຄຊັນ (ປົກກະຕິແລ້ວ * ຄໍາສັ່ງ NIX
ເຊັ່ນແອັບພລິເຄຊັນເຊັ່ນ "telnet") ເຊິ່ງເຮັດໃຫ້ສິ່ງທີ່ຊ້າລົງໃນຄວາມພະຍາຍາມຊອກຫາທີ່ຢູ່ IPv6.

ນີ້ມີມູນຄ່າເລີ່ມຕົ້ນຂອງ 0. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ຄໍາຖາມ AAAA ແມ່ນດໍາເນີນການຕາມປົກກະຕິເວັ້ນເສຍແຕ່
ນີ້ແມ່ນຕັ້ງ.

ປະຕິເສດ_mx

ເມື່ອນີ້ມີມູນຄ່າເລີ່ມຕົ້ນຂອງ 1, ການສອບຖາມ MX ຈະຖືກຫຼຸດລົງຢ່າງງຽບໆກັບ IP ຂອງພວກເຂົາ
ບັນທຶກ. A MX query ແມ່ນການສອບຖາມທີ່ເຮັດໂດຍເຄື່ອງຈັກເທົ່ານັ້ນຖ້າມັນຕ້ອງການເປັນຂອງຕົນເອງ
mail server ສົ່ງ mail ກັບເຄື່ອງໃນອິນເຕີເນັດ. ນີ້ແມ່ນການສອບຖາມ desktop ໂດຍສະເລ່ຍ
ເຄື່ອງ (ລວມທັງເຄື່ອງທີ່ໃຊ້ Outlook ຫຼືຕົວແທນຜູ້ໃຊ້ mail ອື່ນເພື່ອອ່ານແລະສົ່ງ
email) ຈະບໍ່ເຮັດ.

ສ່ວນຫຼາຍອາດຈະ, ຖ້າເຄື່ອງຈັກກໍາລັງພະຍາຍາມເຮັດການສອບຖາມ MX, ເຄື່ອງຈັກກໍາລັງຖືກຄວບຄຸມໂດຍ
ແຫຼ່ງຫ່າງໄກສອກຫຼີກເພື່ອສົ່ງອີເມວ "spam" ທີ່ບໍ່ຕ້ອງການ. ນີ້ຢູ່ໃນໃຈ, Deadwood ຈະບໍ່ອະນຸຍາດໃຫ້
ການສອບຖາມ MX ທີ່ຈະເຮັດເວັ້ນເສຍແຕ່ reject_mx ຈະຖືກຕັ້ງຢ່າງຈະແຈ້ງດ້ວຍຄ່າ 0.

ກ່ອນທີ່ຈະປິດການໃຊ້ງານນີ້, ກະລຸນາຈື່ໄວ້ວ່າ Deadwood ຖືກປັບປຸງໃຫ້ເໝາະສົມເພື່ອໃຊ້ກັບເວັບ
surfing, ບໍ່ແມ່ນເຄື່ອງແມ່ຂ່າຍ DNS ສໍາລັບ mail hub. ໂດຍສະເພາະ, IPs ສໍາລັບບັນທຶກ MX ແມ່ນ
ເອົາອອກຈາກການຕອບຂອງ Deadwood ແລະ Deadwood ຕ້ອງການດໍາເນີນການສອບຖາມ DNS ເພີ່ມເຕີມ
ໄດ້ຮັບ IPs ທີ່ສອດຄ້ອງກັບບັນທຶກ MX, ແລະການທົດສອບຂອງ Deadwood ແມ່ນມຸ່ງໄປສູ່ເວັບຫຼາຍຂຶ້ນ.
surfing (ເກືອບ 100% ການ​ຊອກ​ຫາ​ການ​ບັນ​ທຶກ​) ແລະ​ບໍ່​ແມ່ນ​ສໍາ​ລັບ​ການ​ສົ່ງ​ເມລ (ການ​ບັນ​ທຶກ MX ຢ່າງ​ກວ້າງ​ຂວາງ
ຊອກຫາ).

ປະຕິເສດ_ptr

ຖ້າມັນມີມູນຄ່າ 1, SOA ປອມ "ບໍ່ມີ" ຕອບກັບຈະຖືກສົ່ງທຸກຄັ້ງທີ່ມີການສອບຖາມ PTR.
ສົ່ງໄປ Deadwood. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ທຸກໆຄັ້ງທີ່ໂຄງການຖາມ Deadwood ສໍາລັບ "DNS reverse
lookup" -- ຊື່ເຈົ້າພາບສໍາລັບທີ່ຢູ່ IP ທີ່ໃຫ້ -- ແທນທີ່ຈະພະຍາຍາມປະມວນຜົນ
ການຮ້ອງຂໍ, ເມື່ອນີ້ຖືກກໍານົດເປັນ 1, Deadwood ປອມທີ່ຢູ່ IP ໃນຄໍາຖາມບໍ່ມີ
ຊື່ເຈົ້າພາບ.

ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບຜູ້ທີ່ໄດ້ຮັບ DNS timeouts ຊ້າໃນເວລາທີ່ພະຍາຍາມປະຕິບັດ a
reverse DNS lookups ໃນ IPs.

ນີ້ມີມູນຄ່າເລີ່ມຕົ້ນຂອງ 0. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ການສອບຖາມ PTR ແມ່ນດໍາເນີນການຕາມປົກກະຕິເວັ້ນເສຍແຕ່
ນີ້ແມ່ນຕັ້ງ.

ການຟື້ນຄືນຊີວິດ

ຖ້າສິ່ງນີ້ຖືກຕັ້ງເປັນ 1, Deadwood ຈະພະຍາຍາມສົ່ງບັນທຶກທີ່ຫມົດອາຍຸໃຫ້ກັບຜູ້ໃຊ້ກ່ອນທີ່ຈະໃຫ້
ຂຶ້ນ. ຖ້າມັນເປັນ 0, ພວກເຮົາບໍ່ໄດ້. ຄ່າເລີ່ມຕົ້ນ: 1

root_servers

ນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງເຄື່ອງແມ່ຂ່າຍຮາກ; syntax ຂອງມັນແມ່ນຄ້າຍຄືກັນກັບ upstream_servers (ເບິ່ງຂ້າງລຸ່ມນີ້).
ນີ້ແມ່ນປະເພດຂອງການບໍລິການ DNS ICANN, ສໍາລັບການຍົກຕົວຢ່າງ, ແລ່ນ. ເຫຼົ່ານີ້ແມ່ນເຄື່ອງແມ່ຂ່າຍທີ່ໃຊ້ທີ່ເຮັດ
ບໍ່ໃຫ້ພວກເຮົາມີຄໍາຕອບຄົບຖ້ວນສໍາລັບຄໍາຖາມ DNS, ແຕ່ພຽງແຕ່ບອກພວກເຮົາວ່າເຄື່ອງແມ່ຂ່າຍ DNS ໃດ
ເຊື່ອມຕໍ່ເພື່ອໃຫ້ໄດ້ຄໍາຕອບທີ່ໃກ້ຊິດກັບຄໍາຕອບທີ່ຕ້ອງການຂອງພວກເຮົາ.

ກະລຸນາຮັບຊາບວ່າແຕ່ລະລາຍການ root_servers ໃຊ້ພື້ນທີ່ຈັດເກັບຂໍ້ມູນຂອງ Deadwood ແລະນັ້ນ
maximum_cache_elements ຈະຕ້ອງໄດ້ເພີ່ມຂຶ້ນເພື່ອເກັບຮັກສາຈໍານວນຂະຫນາດໃຫຍ່ຂອງລາຍການເຫຼົ່ານີ້.

tcp_listen

ເພື່ອເປີດໃຊ້ DNS-over-TCP, ຕົວແປນີ້ຕ້ອງຖືກຕັ້ງ ແລະມີມູນຄ່າ 1. ຄ່າເລີ່ມຕົ້ນ.
ມູນຄ່າ: 0

ໝົດເວລາ_ວິນາທີ

ນີ້ແມ່ນໄລຍະເວລາທີ່ Deadwood ຈະລໍຖ້າກ່ອນທີ່ຈະປະຖິ້ມແລະຍົກເລີກ UDP DNS ທີ່ຍັງຄ້າງຢູ່
ຕອບ. ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້ແມ່ນ 1, ໃນ 1 ວິນາທີ, ເວັ້ນເສຍແຕ່ວ່າ Deadwood ໄດ້ຖືກລວບລວມດ້ວຍ
ເປີດໃຊ້ FALLBACK_TIME ແລ້ວ.

timeout_seconds_tcp

ລໍຖ້າດົນປານໃດໃນການເຊື່ອມຕໍ່ TCP ທີ່ບໍ່ມີປະໂຫຍດກ່ອນທີ່ຈະລຸດລົງ. ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້
ແມ່ນ 4, ໃນ 4 ວິນາທີ.

ttl_age

ບໍ່ວ່າຈະເປັນ TTL aging ຖືກເປີດໃຊ້; ບໍ່ວ່າຈະເປັນລາຍການທີ່ຢູ່ໃນ cache ມີ TTLs ຂອງພວກເຂົາຖືກຕັ້ງໃຫ້ເປັນ
ຈໍານວນເວລາທີ່ລາຍການໄດ້ປະໄວ້ຢູ່ໃນ cache.

ຖ້າອັນນີ້ມີມູນຄ່າ 1, TTL entries ມີອາຍຸ. ຖ້າບໍ່ດັ່ງນັ້ນ, ພວກເຂົາບໍ່ແມ່ນ. ຄ່າເລີ່ມຕົ້ນ
ມູນຄ່າສໍາລັບການນີ້ແມ່ນ 1.

upstream_port

ນີ້ແມ່ນພອດທີ່ Deadwood ໃຊ້ເພື່ອເຊື່ອມຕໍ່ ຫຼືສົ່ງແພັກເກັດໄປຍັງເຊີບເວີເທິງນ້ຳ. ໄດ້
ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້ແມ່ນ 53; ພອດ DNS ມາດຕະຖານ.

upstream_servers

ນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງເຄື່ອງແມ່ຂ່າຍ DNS ທີ່ load balancer ຈະພະຍາຍາມຕິດຕໍ່. ນີ້​ແມ່ນ
ວັດ​ຈະ​ນາ​ນຸ​ກົມ ຕົວແປ (array ຖືກ indexed ໂດຍ string ແທນທີ່ຈະເປັນຕົວເລກ) ແທນທີ່ຈະງ່າຍດາຍ
ຕົວແປ. ເນື່ອງຈາກ upstream_servers ເປັນຕົວແປວັດຈະນານຸກົມ, ມັນຈໍາເປັນຕ້ອງໄດ້ຮັບການເລີ່ມຕົ້ນ
ກ່ອນທີ່ຈະຖືກນໍາໃຊ້.

Deadwood ຈະເບິ່ງຊື່ຂອງເຈົ້າພາບທີ່ມັນກໍາລັງພະຍາຍາມຊອກຫາເຄື່ອງແມ່ຂ່າຍເທິງ
ສໍາລັບ, ແລະຈະກົງກັບຄໍາຕໍ່ທ້າຍທີ່ຍາວທີ່ສຸດທີ່ມັນສາມາດຊອກຫາໄດ້.

ຕົວຢ່າງ, ຖ້າໃຜຜູ້ຫນຶ່ງສົ່ງຄໍາຖາມສໍາລັບ "www.foo.example.com" ໄປຫາ Deadwood, Deadwood ຈະ
ທໍາອິດເບິ່ງວ່າມີຕົວແປ upstream_servers ສໍາລັບ "www.foo.example.com.", ຫຼັງຈາກນັ້ນເບິ່ງ
ສໍາລັບ "foo.example.com.", ຫຼັງຈາກນັ້ນຊອກຫາ "example.com.", ຫຼັງຈາກນັ້ນ "com.", ແລະສຸດທ້າຍ ".".

ນີ້ແມ່ນຕົວຢ່າງຂອງ upstream_servers:

upstream_servers = {} # ເລີ່ມຕົ້ນຕົວປ່ຽນວັດຈະນານຸກົມ
upstream_servers["foo.example.com."] = "192.168.42.1"
upstream_servers["example.com."] = "192.168.99.254"
upstream_servers["."] = "10.1.2.3, 10.1.2.4"

ໃນຕົວຢ່າງນີ້, ສິ່ງໃດທີ່ສິ້ນສຸດໃນ "foo.example.com" ຖືກແກ້ໄຂໂດຍເຄື່ອງແມ່ຂ່າຍ DNS ຢູ່
192.168.42.1; ສິ່ງອື່ນທີ່ລົງທ້າຍໃນ "example.com" ຖືກແກ້ໄຂໂດຍ 192.168.99.254; ແລະ
ສິ່ງໃດທີ່ບໍ່ສິ້ນສຸດໃນ "example.com" ແມ່ນແກ້ໄຂໂດຍ 10.1.2.3 ຫຼື 10.1.2.4.

ທີ່ສໍາຄັນ: ຊື່ໂດເມນ upstream_servers ຊີ້ໃຫ້ຕ້ອງລົງທ້າຍດ້ວຍ "." ລັກສະນະ. ນີ້​ແມ່ນ
ຕົກ​ລົງ:

upstream_servers["example.com."] = "192.168.42.1"

ແຕ່ນີ້ແມ່ນ ບໍ່ ຕົກ​ລົງ:

upstream_servers["example.com"] = "192.168.42.1"

ເຫດຜົນສໍາລັບການນີ້ແມ່ນຍ້ອນວ່າ BIND ມີສ່ວນຮ່ວມໃນພຶດຕິກໍາທີ່ບໍ່ຄາດຄິດໃນເວລາທີ່ຊື່ເຈົ້າພາບ
ບໍ່ໄດ້ສິ້ນສຸດໃນຈຸດ, ແລະໂດຍການບັງຄັບຈຸດໃນຕອນທ້າຍຂອງຊື່ເຈົ້າພາບ, Deadwood ບໍ່ມີ.
ເພື່ອຄາດເດົາວ່າຜູ້ໃຊ້ຕ້ອງການພຶດຕິກໍາຂອງ BIND ຫຼືພຶດຕິກໍາ "ປົກກະຕິ".

ຖ້າບໍ່ໄດ້ຕັ້ງທັງ root_servers ຫຼື upstream_servers, Deadwood ຈະຕັ້ງ root_servers ໃຫ້ໃຊ້.
ເຄື່ອງແມ່ຂ່າຍຮາກຂອງ ICANN ເລີ່ມຕົ້ນ, ດັ່ງຕໍ່ໄປນີ້:

198.41.0.4 a.root-servers.net (VeriSign)
192.228.79.201 b.root-servers.net (ISI)
192.33.4.12 c.root-servers.net (Cogent)
199.7.91.13 d.root-servers.net (UMaryland)
192.203.230.10 e.root-servers.net (NASA Ames)
192.5.5.241 f.root-servers.net (ISC)
192.112.36.4 g.root-servers.net (DOD NIC)
128.63.2.53 h.root-servers.net (ArmyRU)
192.36.148.17 i.root-servers.net (NORDUnet)
192.58.128.30 j.root-servers.net (VeriSign)
193.0.14.129 k.root-servers.net (Reseaux)
199.7.83.42 l.root-servers.net (IANA)
202.12.27.33 m.root-servers.net (WIDE)

ບັນຊີລາຍຊື່ນີ້ແມ່ນປະຈຸບັນໃນວັນທີ 9 ກຸມພາ 2015, ແລະມີການປ່ຽນແປງຄັ້ງສຸດທ້າຍໃນວັນທີ 3 ມັງກອນ 2013.

ກະລຸນາຮັບຊາບວ່າແຕ່ລະລາຍການ upstream_servers ໃຊ້ພື້ນທີ່ຈັດເກັບຂໍ້ມູນຂອງ Deadwood ແລະນັ້ນ
maximum_cache_elements ຈະຕ້ອງໄດ້ເພີ່ມຂຶ້ນເພື່ອເກັບຮັກສາຈໍານວນຂະຫນາດໃຫຍ່ຂອງລາຍການເຫຼົ່ານີ້.

verbose_level

ນີ້ກໍານົດຈໍານວນຂໍ້ຄວາມທີ່ຖືກບັນທຶກຢູ່ໃນຜົນຜະລິດມາດຕະຖານ; ຄ່າທີ່ໃຫຍ່ກວ່າບັນທຶກຫຼາຍ
ຂໍ້ຄວາມ. ຄ່າເລີ່ມຕົ້ນສໍາລັບການນີ້ແມ່ນ 3.

ip/ໜ້າກາກ ຮູບແບບ of IP


Deadwood ໃຊ້ຮູບແບບ ip/netmask ມາດຕະຖານເພື່ອລະບຸ IPs. ip ເປັນຈຸດ - ທົດສະນິຍົມ
format, e.g. "10.1.2.3" (ຫຼືໃນຮູບແບບ IPv6 ເມື່ອສະຫນັບສະຫນູນ IPv6 ຖືກລວບລວມຢູ່ໃນ).

netmask ຖືກນໍາໃຊ້ເພື່ອກໍານົດຂອບເຂດຂອງ IPs. netmask ແມ່ນຕົວເລກດຽວລະຫວ່າງ 1
ແລະ 32 (128 ເມື່ອການສະຫນັບສະຫນູນ IPv6 ຖືກລວບລວມຢູ່ໃນ), ເຊິ່ງຊີ້ໃຫ້ເຫັນເຖິງຈໍານວນຊັ້ນນໍາ "1"
bits ໃນ netmask ໄດ້.

10.1.1.1/24 ຊີ້ບອກວ່າ ip ໃດນຶ່ງຈາກ 10.1.1.0 ຫາ 10.1.1.255 ຈະກົງກັນ.

10.2.3.4/16 ຊີ້ບອກວ່າ ip ໃດນຶ່ງຈາກ 10.2.0.0 ຫາ 10.2.255.255 ຈະກົງກັນ.

127.0.0.0/8 ຊີ້ໃຫ້ເຫັນວ່າ ip ໃດທີ່ມີ "127" ເປັນ octet ທໍາອິດ (ຕົວເລກ) ຈະກົງກັນ.

netmask ແມ່ນທາງເລືອກ, ແລະ, ຖ້າບໍ່ມີ, ຊີ້ໃຫ້ເຫັນວ່າພຽງແຕ່ IP ດຽວຈະກົງກັນ.

DNS ໃນໄລຍະ TCP


DNS-over-TCP ຕ້ອງໄດ້ຮັບການເປີດໃຊ້ຢ່າງຈະແຈ້ງໂດຍການຕັ້ງຄ່າ tcp_listen ເປັນ 1.

Deadwood ສະກັດຂໍ້ມູນທີ່ເປັນປະໂຫຍດຈາກ UDP DNS packets ທີ່ຖືກຫມາຍຕັດທີ່ເກືອບ
ສະເຫມີເອົາຄວາມຕ້ອງການທີ່ຈະມີ DNS-over-TCP. ຢ່າງໃດກໍຕາມ, Deadwood ບໍ່ cache packets DNS
ຂະຫນາດໃຫຍ່ກວ່າ 512 bytes ໃນຂະຫນາດທີ່ຕ້ອງການສົ່ງໂດຍໃຊ້ TCP. ນອກຈາກນັ້ນ, DNS-over-TCP
ແພັກເກັດທີ່ "ບໍ່ສົມບູນ" ການຕອບກັບ DNS (ການຕອບຄືນທີ່ຕົວແກ້ໄຂ stub ບໍ່ສາມາດໃຊ້,
ເຊິ່ງສາມາດເປັນການອ້າງອີງ NS ຫຼືການຕອບກັບ CNAME ທີ່ບໍ່ຄົບຖ້ວນ) ບໍ່ໄດ້ຖືກຈັດການຢ່າງຖືກຕ້ອງ
ໂດຍ Deadwood.

Deadwood ມີການສະຫນັບສະຫນູນທັງ DNS-over-UDP ແລະ DNS-over-TCP; daemon ດຽວກັນຟັງ
ທັງ UDP ແລະ TCP DNS ພອດ.

ມີພຽງແຕ່ການສອບຖາມ UDP DNS ທີ່ຖືກເກັບໄວ້. Deadwood ບໍ່ຮອງຮັບການເກັບຂໍ້ມູນຈາກຖານຄວາມຈຳຫຼາຍກວ່າ TCP; ມັນຈັດການ
TCP ເພື່ອແກ້ໄຂການຕອບແບບຫຍໍ້ທີ່ຫາຍາກໂດຍບໍ່ມີຂໍ້ມູນທີ່ເປັນປະໂຫຍດຫຼືເຮັດວຽກກັບ
ຜິດປົກກະຕິຫຼາຍຕົວແກ້ໄຂ DNS ເທົ່ານັ້ນທີ່ບໍ່ແມ່ນ RFC ທີ່ສອດຄ່ອງກັບ TCP. ໃນໂລກທີ່ແທ້ຈິງ, DNS-over-TCP ແມ່ນ
ເກືອບບໍ່ເຄີຍໃຊ້.

ກຳ ລັງທັບເຮືອ ອື່ນໆ ໄຟ


ມັນເປັນໄປໄດ້ທີ່ຈະມີ Deadwood, ໃນຂະນະທີ່ແຍກໄຟລ໌ dwood3rc, ອ່ານໄຟລ໌ອື່ນໆແລະ
ວິເຄາະພວກມັນຄືກັບວ່າພວກມັນເປັນໄຟລ໌ dwood3rc.

ນີ້ແມ່ນເຮັດໄດ້ໂດຍໃຊ້ execfile. ເພື່ອໃຊ້ execfile, ໃຫ້ວາງເສັ້ນແບບນີ້ໃນ dwood3rc
file:

execfile("ເສັ້ນທາງ/ໄປ/ຊື່ໄຟລ໌")

ບ່ອນທີ່ path/to/filename ແມ່ນເສັ້ນທາງໄປຫາໄຟລ໌ທີ່ຈະຖືກວິເຄາະຄືກັບໄຟລ໌ dwood3rc.

ໄຟລ໌ທັງໝົດຈະຕ້ອງຢູ່ໃນ ຫຼືຢູ່ພາຍໃຕ້ໄດເລກະທໍລີ /etc/maradns/deadwood/execfile. ຊື່ໄຟລ໌ສາມາດ
ມີ​ແຕ່​ຕົວ​ພິມ​ນ້ອຍ​ແລະ​ຕົວ​ອັກ​ສອນ underscore ("_"​)​. ເສັ້ນທາງຢ່າງແທ້ຈິງບໍ່ແມ່ນ
ອະນຸຍາດໃຫ້ເປັນການໂຕ້ຖຽງເພື່ອ execfile; ຊື່ໄຟລ໌ບໍ່ສາມາດເລີ່ມຕົ້ນດ້ວຍ slash ("/")
ລັກສະນະ.

ຖ້າ​ຫາກ​ວ່າ​ມີ​ຄວາມ​ຜິດ​ພາດ​ການ​ວິ​ເຄາະ​ໃນ​ໄຟລ​໌​ຊີ້​ໄປ​ຫາ​ໂດຍ execfile​, Deadwood ຈະ​ລາຍ​ງານ​ການ​.
ຄວາມຜິດພາດເປັນຢູ່ໃນເສັ້ນທີ່ມີຄໍາສັ່ງ execfile ໃນໄຟລ໌ dwood3rc ຕົ້ນຕໍ. ຊອກ​ຫາ
ບ່ອນທີ່ມີຄວາມຜິດພາດ parse ຢູ່ໃນໄຟລ໌ຍ່ອຍ, ໃຊ້ບາງສິ່ງບາງຢ່າງເຊັ່ນ: "Deadwood -f
/etc/maradns/deadwood/execfile/filename" ເພື່ອ​ຊອກ​ຫາ​ຄວາມ​ຜິດ​ພາດ parse ໃນ​ໄຟລ​໌​ທີ່​ກະ​ທໍາ​ຜິດ​,
ບ່ອນທີ່ "filename" ແມ່ນໄຟລ໌ທີ່ຈະແຍກຜ່ານ execfile.

IPV6 ສະຫນັບສະຫນູນ


ເຊີບເວີນີ້ຍັງສາມາດຖືກລວບລວມເປັນທາງເລືອກເພື່ອໃຫ້ມີການສະຫນັບສະຫນູນ IPv6. ເພື່ອເປີດໃຊ້ IPv6
ຮອງຮັບ, ເພີ່ມ '-DIPV6' ໃສ່ທຸງເວລາລວບລວມ. ຕົວຢ່າງ, ການລວບລວມນີ້ເພື່ອເຮັດໃຫ້ a
ສອງ​ຂະ​ຫນາດ​ນ້ອຍ​, ແລະ​ມີ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ IPv6​:

ສົ່ງອອກ FLAGS='-Os -DIPV6'
ເຮັດໃຫ້

ຄວາມປອດໄພ


Deadwood ແມ່ນໂຄງການທີ່ຂຽນດ້ວຍຄວາມປອດໄພຢູ່ໃນໃຈ.

ນອກເຫນືອຈາກການໃຊ້ buffer-overflow string ທົນທານຕໍ່ຫ້ອງສະຫມຸດແລະຮູບແບບການເຂົ້າລະຫັດແລະ SQA
ຂະ​ບວນ​ການ​ທີ່​ກວດ​ສອບ​ສໍາ​ລັບ buffer overflows ແລະ​ຄວາມ​ຊົງ​ຈໍາ​ຮົ່ວ​ໄຫລ​, Deadwood ໃຊ້​ທີ່​ເຂັ້ມ​ແຂງ​
ເຄື່ອງ​ສ້າງ​ຈໍາ​ນວນ pseudo​-random (ສະ​ບັບ 32-bit ຂອງ RadioGatun​) ເພື່ອ​ສ້າງ​ທັງ​ສອງ​.
query ID ແລະພອດແຫຼ່ງ. ສໍາລັບເຄື່ອງສ້າງຕົວເລກແບບສຸ່ມເພື່ອຄວາມປອດໄພ, Deadwood ຕ້ອງການ a
ແຫຼ່ງທີ່ດີຂອງ entropy; ໂດຍຄ່າເລີ່ມຕົ້ນ Deadwood ຈະໃຊ້ /dev/urandom ເພື່ອໃຫ້ໄດ້ຮັບ entropy ນີ້. ຖ້າ
ທ່ານຢູ່ໃນລະບົບທີ່ບໍ່ມີການສະຫນັບສະຫນູນ / dev / urandom, ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະເຮັດໃຫ້ແນ່ໃຈວ່າ
Deadwood ມີແຫຼ່ງທີ່ດີຂອງ entropy ດັ່ງນັ້ນ ID ຄໍາຖາມແລະແຫຼ່ງແຫຼ່ງແມ່ນຍາກທີ່ຈະ
ຄາດເດົາ (ຖ້າບໍ່ດັ່ງນັ້ນມັນກໍ່ເປັນໄປໄດ້ທີ່ຈະປອມແພັກເກັດ DNS).

ພອດ Windows ຂອງ Deadwood ປະກອບມີໂຄງການທີ່ເອີ້ນວ່າ "mkSecretTxt.exe" ທີ່ສ້າງ a
ໄຟລ໌ແບບສຸ່ມຂະໜາດ 64-byte (512 bit) ເອີ້ນວ່າ "secret.txt" ທີ່ສາມາດໃຊ້ໂດຍ Deadwood (ຜ່ານ.
"random_seed_file" ພາລາມິເຕີ); Deadwood ຍັງໄດ້ຮັບ entropy ຈາກເວລາໃນເວລາທີ່ Deadwood
ແມ່ນເລີ່ມຕົ້ນແລະເລກ ID ຂະບວນການຂອງ Deadwood, ດັ່ງນັ້ນຈຶ່ງໃຊ້ static ດຽວກັນ
ໄຟລ໌ secret.txt ເປັນ random_seed_file ສໍາລັບການຮຽກຮ້ອງຫຼາຍອັນຂອງ Deadwood.

ກະລຸນາຮັບຊາບວ່າ Deadwood ບໍ່ໄດ້ຮັບການປົກປ້ອງຈາກຄົນທີ່ຢູ່ໃນເຄືອຂ່າຍດຽວກັນກັບແພັກເກັດການເບິ່ງທີ່ສົ່ງມາ
ໂດຍ Deadwood ແລະສົ່ງຊອງປອມເປັນການຕອບ.

ເພື່ອປົກປ້ອງ Deadwood ຈາກການໂຈມຕີປະຕິເສດການບໍລິການທີ່ເປັນໄປໄດ້, ມັນດີທີ່ສຸດຖ້າ
ຕົວເລກຫຼັກຂອງ Deadwood ທີ່ໃຊ້ສໍາລັບການ hashing ອົງປະກອບໃນ cache ແມ່ນການສຸ່ມ 31-bit prime.
ເລກ. ໂປລແກລມ RandomPrime.c ສ້າງ prime random ທີ່ວາງໄວ້ໃນໄຟລ໌
DwRandPrime.h ທີ່ຖືກສ້າງໃຫມ່ທຸກຄັ້ງທີ່ໂຄງການຖືກລວບລວມຫຼືສິ່ງຕ່າງໆ
ເຮັດຄວາມສະອາດດ້ວຍການເຮັດໃຫ້ສະອາດ. ໂຄງການນີ້ໃຊ້ /dev/urandom ສໍາລັບ entropy ຂອງມັນ; ໄຟລ໌
DwRandPrime.h ຈະບໍ່ຖືກສ້າງໃຫມ່ໃນລະບົບທີ່ບໍ່ມີ /dev/urandom.

ກ່ຽວກັບລະບົບໂດຍບໍ່ມີການສະຫນັບສະຫນູນໂດຍກົງ / dev / urandom, ມັນແມ່ນແນະນໍາໃຫ້ເບິ່ງວ່າມີ
ວິທີທີ່ເປັນໄປໄດ້ເພື່ອໃຫ້ລະບົບເຮັດວຽກ /dev/urandom. ວິທີການນີ້, ໃນເວລາທີ່ Deadwood ແມ່ນ
ລວບລວມ, ຕົວເລກ hash magic ຈະເປັນແບບສຸ່ມທີ່ເຫມາະສົມ.

ຖ້າ​ຫາກ​ວ່າ​ການ​ນໍາ​ໃຊ້ binary precompiled ຂອງ Deadwood​, ກະ​ລຸ​ນາ​ຮັບ​ປະ​ກັນ​ວ່າ​ລະ​ບົບ​ມີ /dev/urandom​.
ສະຫນັບສະຫນູນ (ໃນລະບົບ Windows, ກະລຸນາໃຫ້ແນ່ໃຈວ່າໄຟລ໌ທີ່ມີຊື່ secret.txt ແມ່ນ
ສ້າງຂຶ້ນໂດຍໂຄງການ mkSecretTxt.exe ລວມ); Deadwood, ໃນ runtime, ໃຊ້
/dev/urandom (secret.txt ໃນ Windows) ເປັນເສັ້ນທາງ hardcoded ເພື່ອໃຫ້ໄດ້ຮັບ entropy (ພ້ອມກັບ.
timestamp) ສໍາລັບສູດການຄິດໄລ່ hash.

DAEMONIZATION


Deadwood ບໍ່ມີບ່ອນສ້າງ daemonization; ນີ້​ແມ່ນ​ການ​ຈັດ​ການ​ໂດຍ​
ໂຄງການພາຍນອກ Duende ຫຼື daemonizer ອື່ນໆ.

ຍົກຕົວຢ່າງ configuration ເອກະສານ


ນີ້ແມ່ນຕົວຢ່າງໄຟລ໌ການຕັ້ງຄ່າ dwood3rc:

# ນີ້ແມ່ນຕົວຢ່າງໄຟລ໌ rc deadwood
# ໃຫ້ສັງເກດວ່າຄໍາເຫັນແມ່ນເລີ່ມຕົ້ນໂດຍສັນຍາລັກ hash

bind_address="127.0.0.1" # IP ທີ່ພວກເຮົາຜູກມັດກັບ

# ແຖວຕໍ່ໄປນີ້ຖືກປິດການໃຊ້ງານໂດຍການອອກຄໍາເຫັນ
#bind_address="::1" # ພວກເຮົາມີທາງເລືອກຮອງຮັບ IPv6

# ໄດເລກະທໍລີທີ່ພວກເຮົາແລ່ນໂຄງການຈາກ (ບໍ່ໄດ້ໃຊ້ໃນ Win32)
chroot_dir = "/etc/maradns/deadwood"

# ເຊີບເວີ DNS ເທິງກະແສຕໍ່ໄປນີ້ແມ່ນຂອງ Google
# (ຮອດເດືອນທັນວາ 2009) ເຄື່ອງແມ່ຂ່າຍ DNS ສາທາລະນະ. ສໍາລັບ
# ຂໍ້ມູນເພີ່ມເຕີມເບິ່ງໜ້າໄດ້ທີ່
# http://code.google.com/speed/public-dns/
#
# ຖ້າບໍ່ໄດ້ຕັ້ງທັງ root_servers ຫຼື upstream_servers,
# Deadwood ຈະໃຊ້ເຄື່ອງແມ່ຂ່າຍຮາກ ICANN ເລີ່ມຕົ້ນ.
#upstream_servers = {}
#upstream_servers["."]="8.8.8.8, 8.8.4.4"

# ໃຜເປັນຜູ້ອະນຸຍາດໃຫ້ໃຊ້ cache. ເສັ້ນນີ້
# ອະນຸຍາດໃຫ້ທຸກຄົນທີ່ມີ "127.0" ເປັນສອງອັນທໍາອິດ
# ຕົວເລກຂອງ IP ຂອງພວກເຂົາເພື່ອໃຊ້ Deadwood
recursive_acl = "127.0.0.1/16"

# ຈຳນວນສູງສຸດຂອງການຮ້ອງຂໍທີ່ຍັງຄ້າງຢູ່
maxprocs = 2048

# ສົ່ງເຊີບເວີລົ້ມເຫລວເມື່ອໂຫຼດເກີນ
handle_overload = 1

maradns_uid = 99 # UID Deadwood ແລ່ນເປັນ
maradns_gid = 99 # GID Deadwood ແລ່ນເປັນ

maximum_cache_elements = 60000

# ຖ້າທ່ານຕ້ອງການອ່ານແລະຂຽນ cache ຈາກແຜ່ນ,
# ໃຫ້ແນ່ໃຈວ່າ chroot_dir ຂ້າງເທິງແມ່ນສາມາດອ່ານໄດ້ແລະຂຽນໄດ້
# ໂດຍ maradns_uid/gid ຂ້າງເທິງ, ແລະບໍ່ໃຫ້ຄໍາເຫັນ
# ສາຍຕໍ່ໄປນີ້.
#cache_file = "dw_cache"

# ຖ້າເຄື່ອງແມ່ຂ່າຍ DNS ເທິງຂອງທ່ານປ່ຽນ "ບໍ່ມີ" ການຕອບ DNS
# ໃນ IPs, ພາລາມິເຕີນີ້ອະນຸຍາດໃຫ້ Deadwood ປ່ຽນການຕອບໃດໆ
# ກັບ IP ທີ່ມອບໃຫ້ກັບຄືນສູ່ IP "ບໍ່ຢູ່ທີ່ນັ້ນ". ຖ້າ IPs ໃດ
# ລາຍຊື່ຂ້າງລຸ່ມນີ້ແມ່ນຢູ່ໃນຄໍາຕອບ DNS, Deadwood ປ່ຽນຄໍາຕອບ
# ຢູ່ໃນ "ບໍ່ມີ"
#ip_blacklist = "10.222.33.44, 10.222.3.55"

# ໂດຍຄ່າເລີ່ມຕົ້ນ, ສໍາລັບເຫດຜົນດ້ານຄວາມປອດໄພ, Deadwood ບໍ່ອະນຸຍາດໃຫ້ IPs ເຂົ້າມາ
# ເຫຼັ້ມ 192.168.xx, 172.[16-31].xx, 10.xxx, 127.xxx,
# 169.254.xx, 224.xxx, ຫຼື 0.0.xx ຊ່ວງ. ຖ້າໃຊ້ Deadwood
# ເພື່ອແກ້ໄຂຊື່ໃນເຄືອຂ່າຍພາຍໃນ, ຍົກເລີກຄໍາເຫັນ
# ແຖວຕໍ່ໄປນີ້:
#filter_rfc1918 = 0

ໃຊ້ deadwood ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌