OS:Ubuntu 12.04 64位

ศูนย์、บทนำ

การปนเปื้อน DNS(DNS pollution):

การปนเปื้อนแคชของเซิร์ฟเวอร์ชื่อโดเมน (DNS cache pollution) หรือที่เรียกอีกอย่างว่า “การวางยาพิษแคชของ DNS” (DNS cache poisoning) หมายถึงการที่แพ็กเก็ต DNS บางส่วนถูกสร้างขึ้นอย่างจงใจหรือเกิดขึ้นโดยไม่ตั้งใจ แล้วทำให้โดเมนชี้ไปยัง IP ที่ไม่ถูกต้อง โดยทั่วไปบนอินเทอร์เน็ตจะมีเซิร์ฟเวอร์ DNS ที่เชื่อถือได้อยู่แล้ว แต่เพื่อช่วยลดภาระของทราฟฟิกเครือข่าย เซิร์ฟเวอร์ DNS มักจะเก็บบันทึกการแปลผลที่ได้รับจากเซิร์ฟเวอร์ต้นทางไว้ชั่วคราว เมื่อมีเครื่องอื่นในครั้งถัดไปมาร้องขอการแปลโดเมน ก็สามารถตอบกลับได้ทันที

อย่างไรก็ตาม หากแคชของเซิร์ฟเวอร์ DNS ภายในเครือข่ายท้องถิ่นเกิดถูกปนเปื้อน ก็จะทำให้เครื่องคอมพิวเตอร์ภายในถูกชี้ไปยังเซิร์ฟเวอร์หรือหน้าเว็บไซต์ที่ผิดพลาดได้ด้วย 1

OpenDNS:

OpenDNS ให้บริการ DNS ทั้งสำหรับผู้ใช้ส่วนบุคคลและเชิงพาณิชย์ ผู้ใช้สามารถเลือกใช้บริการของ OpenDNS หรือเลือกใช้ DNS ที่ผู้ให้บริการอินเทอร์เน็ต (ISP) ให้มา การวางกลุ่มเซิร์ฟเวอร์ในตำแหน่งเชิงยุทธศาสตร์ และการใช้แคชโดเมนจำนวนมาก ช่วยให้ขั้นตอนการค้นหา DNS เสร็จเร็วขึ้นมาก จึงทำให้การเรียกดูหน้าเว็บเร็วขึ้นด้วย

ผลการค้นหา DNS บางครั้งอาจถูกแคชไว้โดยระบบปฏิบัติการหรือแอปพลิเคชันในเครื่อง ทำให้ความเร็วที่เพิ่มขึ้นอาจไม่สะท้อนทุกครั้งในการค้นหา แต่หากผลลัพธ์ไม่อยู่ในแคชภายในเครื่อง การเพิ่มความเร็วจะสังเกตเห็นได้ชัดเจนกว่า นอกจากนี้คุณสมบัติอื่น ๆ ได้แก่ ตัวกรองป้องกันฟิชชิง (anti-phishing) และการแก้คำที่ป้อนผิด (type correction) เช่น หากคุณพิมพ์ wikipedia.og ระบบจะเปลี่ยนเป็น wikipedia.org โดยอัตโนมัติ

ผ่านการรวบรวมรายชื่อเว็บไซต์ที่เป็นอันตราย เมื่อผู้ใช้เข้าถึงเว็บไซต์อันตรายเหล่านั้นผ่านบริการของ OpenDNS OpenDNS จะบล็อกเว็บไซต์เหล่านั้น OpenDNS ได้เริ่มบริการป้องกันฟิชชิงล่าสุด (PhishTank) ทำให้ผู้ใช้ทั่วโลกสามารถรายงานและดูเว็บไซต์ฟิชชิงที่ไม่น่าเชื่อถือได้

อย่างไรก็ตาม OpenDNS ไม่ใช่ซอฟต์แวร์โอเพนซอร์สตามชื่อ มันไม่ได้เป็นโปรเจกต์โอเพนซอร์สแต่อย่างใด 2

ทำไม DNSCrypt ถึงช่วยป้องกัน DNS pollution

พูดแบบเข้าใจง่ายเลยก็ว่าได้

DNS แบบเดิมเป็นข้อความธรรมดา (plaintext) ก็เหมือนกับ “โปสการ์ด” หนึ่งใบ—บนโปสการ์ดมีตำแหน่งที่คุณเขียนว่า “คุณเป็นใคร” “ส่งให้ใคร” และ “กำลังขอข้อมูลอะไร” ดังนั้นคนที่ทำหน้าที่เป็นผู้ส่งโปสการ์ดสามารถเห็นสิ่งที่คุณเขียนไว้ได้ ถ้าเขาไม่พอใจ ก็สามารถนำโปสการ์ดของคุณไป “ปลอมแปลง” เนื้อหาแล้วส่งกลับมาเพื่อหลอกคุณ (หรือจะดักไว้ไม่ให้ถึงปลายทางเลยก็ได้ ทั้งนี้ขึ้นอยู่กับว่าเขาจะทำอะไร)

ในทำนองเดียวกัน คำตอบที่เซิร์ฟเวอร์ DNS ส่งกลับมาหาคุณก็เป็นแบบเดียวกัน

แต่ DNSCrypt ทำการเข้ารหัสข้อมูล DNS สิ่งที่อยู่บน “โปสการ์ด” จะถูกเขียนด้วยภาษาที่ “คุณกับเซิร์ฟเวอร์ DNS เข้าใจ” แต่ “พนักงานไปรษณีย์และคนอื่น ๆ ไม่เข้าใจ” เขาจึงคิดว่าเป็นจดหมายปกติ และทำการส่งไปยังปลายทางโดยแทบไม่เปลี่ยนแปลง

แน่นอน วันหนึ่งพนักงานไปรษณีย์อาจรู้สึกว่า “เฮ้…ของเซิร์ฟเวอร์ DNS นี้ดูไม่ปกติ” แล้วอาจจะทำการแก้ไข/ทำลายจดหมายสำหรับเซิร์ฟเวอร์นั้นทั้งหมดได้เช่นกัน แต่ตอนนี้ยังไม่ได้ทำแบบนั้นเท่าที่เราเห็นอยู่…

ที่มีคนบอกถึงการใช้ TCP นั้น ไม่ใช่ประเด็นหลัก เพราะ DNSCrypt สามารถทำงานบน UDP ได้ด้วย ตัวเลือกที่เกี่ยวกับ TCP เป็นเพียงฟังก์ชันเสริม เพราะในสภาพแวดล้อมที่อัตราการสูญหายของแพ็กเก็ตสูง UDP อาจใช้งานได้ไม่สบายใจนัก 3

Dnsmasq

Dnsmasq เป็นซอฟต์แวร์โอเพนซอร์สสำหรับทำ DNS forwarder และยังทำหน้าที่เป็น DHCP/TFTP server เขียนด้วยภาษา C Dnsmasq ออกแบบมาสำหรับเครือข่ายภายในบ้านหรือเครือข่ายขนาดเล็ก การใช้งานใช้ทรัพยากรน้อยและตั้งค่าได้ง่าย รองรับแพลตฟอร์ม เช่น Debian, Fedora, Smoothwall, IP-Cop, floppyfw, Firebox, LEAF, Freesco, fli4l, CoyoteLinux และ Android รวมถึงในระบบเราท์เตอร์อย่าง dd-wrt และ OpenWrt ก็มีการนำไปใช้งานด้วย 4

Ubuntu

Ubuntu (การออกเสียงสากลในภาษาอังกฤษ: /ʊˈbʊntuː/ อ่านประมาณ uu-buun-too) คือระบบปฏิบัติการ GNU/Linux ที่เน้นฝั่งเดสก์ท็อปเป็นหลัก ชื่อมาจากคำว่า “ubuntu” ในภาษาซูลูหรือโคซ่าของแอฟริกาตอนใต้ (แปลว่า “อูบุนตู”) หมายถึง “ความเป็นมนุษย์” และ “การที่ฉันมีอยู่ก็เพราะทุกคนมีอยู่” ซึ่งสะท้อนค่านิยมแบบดั้งเดิมของชาวแอฟริกา

Ubuntu ถูกก่อตั้งโดย Mark Shuttleworth เวอร์ชันแรก—4.10 เผยแพร่เมื่อวันที่ 20 ตุลาคม 2004 โดยยึดฐานการพัฒนาจาก Debian แตกต่างจากแนวทางการอัปเกรดที่มั่นคงของ Debian ตรงที่ Ubuntu จะปล่อยเวอร์ชันใหม่ทุก ๆ หกเดือน เพื่อให้ผู้ใช้ได้รับและใช้งานซอฟต์แวร์ใหม่ได้ทันเวลา

จุดประสงค์ของการพัฒนา Ubuntu คือทำให้คอมพิวเตอร์ส่วนบุคคลใช้งานได้ง่ายขึ้น รวมทั้งมีเวอร์ชันสำหรับงานเซิร์ฟเวอร์ในเชิงธุรกิจด้วย Ubuntu แต่ละเวอร์ชันใหม่มักมีสภาพแวดล้อมเดสก์ท็อป GNOME เวอร์ชันล่าสุด และโดยทั่วไปจะปล่อยภายในหนึ่งเดือนหลังจากที่ GNOME เปิดตัวเวอร์ชันใหม่ เมื่อเทียบกับลินุกซ์ดิสทริบิวชันที่อิง Debian อื่น ๆ เช่น MEPIS, Xandros, Linspire, Progeny และ Libranet Ubuntu จะใกล้เคียงแนวคิดการพัฒนาของ Debian มากกว่า คือเน้นใช้ซอฟต์แวร์เสรีและโอเพนซอร์สเป็นหลัก ขณะที่ดิสทริบิวชันอื่น ๆ มักจะแถมซอฟต์แวร์แบบปิดจำนวนมากมาด้วย

Ubuntu สร้างขึ้นบน Debian สาขาที่ไม่เสถียร ไม่ว่าจะเป็นรูปแบบแพ็กเกจ (deb) หรือระบบจัดการซอฟต์แวร์และการติดตั้ง (Debian Apt) ผู้พัฒนา Ubuntu จะส่งต่อผลการแก้ไขที่ทำกับซอฟต์แวร์ให้กับชุมชน Debian แบบทันที ไม่ใช่รอประกาศในการเปิดตัวเวอร์ชันใหม่เท่านั้น ที่จริงแล้ว ผู้พัฒนา Ubuntu จำนวนมากยังเป็นผู้ดูแลแพ็กเกจซอฟต์แวร์หลักของ Debian ด้วย อย่างไรก็ดี Debian และ Ubuntu ไม่ได้เข้ากันแบบ 100% เสมอไป กล่าวคือ การนำแพ็กเกจของ Debian ไปติดตั้งบน Ubuntu อาจพบปัญหาความเข้ากันได้ และในทางกลับกันก็เช่นเดียวกัน

การทำงานของ Ubuntu พึ่งพาการสนับสนุนของ Canonical เป็นหลัก และยังมีผู้สนใจจากชุมชน Linux อาสาช่วยเหลือ ผู้พัฒนามักเรียก Mark Shuttleworth ด้วยคำย่อ SABDFL (ย่อมาจาก self-appointed benevolent dictator for life คือ “ผู้เผด็จการใจดีตลอดชีพที่แต่งตั้งเอง”) ในวันที่ 8 กรกฎาคม 2005 Mark Shuttleworth และ Canonical ประกาศจัดตั้ง Ubuntu Foundation พร้อมเงินตั้งต้น 10 ล้านดอลลาร์สหรัฐ เพื่อให้มูลนิธิสามารถดำเนินงานได้อย่างต่อเนื่องในอนาคต และให้การสนับสนุนแก่ Ubuntu แต่จนถึงปี 2006 มูลนิธินี้ยังไม่เริ่มดำเนินงานจริง Mark Shuttleworth อธิบายว่ามูลนิธินี้เป็นเงินทุนฉุกเฉินช่วงที่ Canonical เผชิญวิกฤตด้านการเงิน

ในอดีตผู้ใช้สามารถรับแผ่นติดตั้งฟรีผ่านบริการ shipit อย่างไรก็ดี Ubuntu 6.06 มีบริการ shipit ฟรี แต่ Ubuntu 6.10 เวอร์ชันถัดมาจำหน่ายแผ่นติดตั้งแบบ shipit ฟรีไม่ได้ ผู้ใช้ต้องดาวน์โหลดอิมเมจแผ่นจากเว็บไซต์แล้วนำไปไรท์เพื่อติดตั้ง แผ่น shipit ของ Ubuntu 6.06 มีข่าวว่าหลังจากนั้นจะไม่ให้บริการกับเวอร์ชันที่ไม่ใช่ LTS แต่เมื่อ Ubuntu 7.04 เปิดตัว บริการ shipit ก็กลับมาอีกครั้ง แม้เวอร์ชันนี้จะไม่ใช่ LTS และก่อนถึงช่วงเปิดตัว Ubuntu 11.04 บริการ shipit ถูกยุติลง

ปัจจุบัน Ubuntu มี Long Term Support (LTS) อยู่ 5 เวอร์ชัน คือ Ubuntu 6.06, 8.04, 10.04, 12.04 และ 14.04 Ubuntu 12.04 และ 14.04 มีรอบการสนับสนุน 5 ปีทั้งฝั่งเดสก์ท็อปและเซิร์ฟเวอร์ ส่วน LTS รุ่นก่อนหน้ารองรับฝั่งเดสก์ท็อป 3 ปี และฝั่งเซิร์ฟเวอร์ 5 ปี 5

รายการเวอร์ชัน Ubuntu: 6

รายการเวอร์ชัน Ubuntu

เลขเวอร์ชัน ชื่อรหัส ความหมายภาษาไทย
Ubuntu 4.10 Warty Warthog หมูป่าอ้วนที่มีผื่นพรายหลายจุด
Ubuntu 5.04 Hoary Hedgehog เม่นหัวหงอก
Ubuntu 5.10 Breezy Badger แบดเจอร์ (ตัวแบดเจอร์) แบบลมพัดสบาย
Ubuntu 6.06 LTS Dapper Drake เป็ดตัวผู้เรียบร้อย
Ubuntu 6.10 Edgy Eft กิ้งก่าสีสันคมกริบตัวเล็ก
Ubuntu 7.04 Feisty Fawn ลูกกวางตัวน้อยใจร้อน
Ubuntu 7.10 Gutsy Gibbon ลิงวานรแข็งแกร่งใจกล้า
Ubuntu 8.04 LTS Hardy Heron นกกระสาแข็งแรง
Ubuntu 8.10 Intrepid Ibex แพะภูเขาห้าวหาญ
Ubuntu 9.04 Jaunty Jackalope กระต่ายป่าจอร์แดนแสนภูมิใจ
Ubuntu 9.10 Karmic Koala โคอาล่าที่โชคดี
Ubuntu 10.04 LTS Lucid Lynx แมวลิงซ์ (lynx) ที่สดใสชัดเจน
Ubuntu 10.10 Maverick Meerkat มังกรมาร์คาทตัวแปลกใหม่ที่ไม่เหมือนใคร
Ubuntu 11.04 Natty Narwhal วาฬนาร์วาลว่องไว
Ubuntu 11.10 Oneiric Ocelot เสือโอเซลอตในฝัน
Ubuntu 12.04 LTS Precise Pangolin มังกรตัวน้อยจิ้งจกเกราะแม่นยำ
Ubuntu 12.10 Quantal Quetzal นกเควทซัลแบบควอนตัม
Ubuntu 13.04 Raring Ringtail แมวแพนด้าหางวงแหวนที่พร้อมลุย
Ubuntu 13.10 Saucy Salamander ซาลาแมนเดอร์ตัวจอมกวน
Ubuntu 14.04 LTS Trusty Tahr แทร์ที่ซื่อสัตย์
Ubuntu 14.10 Utopic Unicorn ยูนิคอร์นแห่งโลกอนาคต

หนึ่ง、ตั้งค่า PPA

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:shnatsel/dnscrypt

สอง、ติดตั้ง DNSCrypt Proxy

การติดตั้ง:

sudo apt-get update
sudo apt-get install dnscrypt-proxy

การตั้งค่า:

เนื่องจาก DNSCrypt มีพอร์ตเริ่มต้นเป็น 53 จึงจะชนกับ DNSMasq ดังนั้นเราต้องเปลี่ยนพอร์ตเป็นพอร์ตอื่น เช่น เปลี่ยนเป็น 40

แก้ไข /etc/default/dnscrypt-proxy 7 ค้นหาในบรรทัดนั้น แล้วเปลี่ยนพอร์ตเป็น 40 แน่นอนว่าคุณสามารถเปลี่ยนเป็นพอร์ตอื่นได้เช่นกัน เพียงแต่ต้องไม่ไปชนกับพอร์ตอื่นของระบบ:

# What local IP the daemon will listen to, with an optional port. The default port is 53.
local
-address=127.0.0.2:40

การทดสอบ:

$ sudo service dnscrypt-proxy restart
dnscrypt-proxy stop/waiting
dnscrypt-proxy start/running, process 1561

$ dig g.cn @127.0
.0.2 -p 40
; > DiG 9.8
.1-P1 <<>> g.cn @127.0.0.2 -p 40;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30656
;; flags: qr rd ra; QUERY: 1
, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0
, flags:; udp: 4096;; QUESTION SECTION:
;g.cn.				IN	A

;; ANSWER SECTION:
g.cn.			227
	IN	A	203.208.48.148g.cn.			227
	IN	A	203.208.48.144g.cn.			227
	IN	A	203.208.48.145g.cn.			227
	IN	A	203.208.48.146g.cn.			227
	IN	A	203.208.48.147
;; Query time: 113
 msec;; SERVER: 127.0
.0.2#40(127.0.0.2);; WHEN: Sun Aug 23
 22:28:37 2015;; MSG SIZE  rcvd: 113

คำอธิบาย:

DNSCrypt มี 3 โหมดการทำงาน:

โหมดบรรทัดคำสั่ง: ตั้งค่าคำสั่งเริ่มด้วยพารามิเตอร์โดยตรงในบรรทัดคำสั่ง 8

รองรับคำสั่งดังต่อไปนี้:

$ dnscrypt-proxy --help
dnscrypt-proxy 1.4
.0
Options:

  -a
	--local-address=...			# 监听的地址,例如: 127.0.0.1:53  -d
	--Daemonize模式				# 守护进程模式  -e
	--edns-payload-size=...		# 后面略,详情见官方文档[^2]  -h	--help
  -L	--resolvers-list=...
  -R	--resolver-name=...
  -l
	--logfile=...  -m	--loglevel=...
  -n	--max-active-requests=...
  -p	--pidfile=...
  -X	--plugin=...
  -N	--provider-name=...
  -k	--provider-key=...
  -r	--resolver-address=...
  -u	--user=...
  -t	--test=...
  -T	--tcp-only
  -V	--version

Please consult the dnscrypt-proxy(8
) man page for details.

Daemonize mode: ทำงานเป็นกระบวนการเบื้องหลัง

สามารถสั่งให้เริ่มทำงานได้ทันทีผ่าน sudo dnscrypt-proxy -d โดยไม่ต้องตั้งค่าพารามิเตอร์บรรทัดคำสั่งใด ๆ ทั้งหมดจะถูกอ่านจากไฟล์กำหนดค่า /etc/default/dnscrypt-proxy

โหมดบริการระบบ:เป็นโหมดเริ่มต้น

หลังติดตั้งเสร็จ หรือเมื่อระบบเริ่มทำงาน จะเริ่มทำงานอัตโนมัติ เช่นเดียวกับ Daemonize mode พารามิเตอร์เริ่มต้นจะถูกอ่านจากไฟล์กำหนดค่า /etc/default/dnscrypt-proxy

  • หยุด:sudo service dnscrypt stop
  • เริ่ม:sudo service dnscrypt start
  • รีสตาร์ท:sudo service dnscrypt restart

สอง、ติดตั้ง DNSMasq

การติดตั้ง:

sudo apt-get update
sudo apt-get -y install dnsmasq

การตั้งค่า:

แก้ไขไฟล์กำหนดค่า /etc/dnsmasq.conf เนื้อหาในไฟล์สามารถปรับได้ตามความจำเป็น ตรงนี้จะไม่ลงรายละเอียดหน้าที่ของแต่ละตัวเลือกและข้อควรระวัง อย่างไรก็ตาม ให้ดูรายละเอียดเพิ่มเติมได้จาก google 9

ในที่นี้มีเพียงต้องแก้ไขบรรทัดเดียวเท่านั้น คือกำหนด “เซิร์ฟเวอร์ขาอัพสตรีม (upstream)” ของ DNSMasq ให้ชี้ไปยัง DNSCrypt-Proxy ที่เราเพิ่งตั้งค่าไว้ ให้ค้นหาแล้วเปลี่ยนเป็นแบบนี้:

# You can control how dnsmasq talks to a server: this forces
# queries to 10.1.2.3 to be routed via eth1
# server=10.1.2.3@eth1
server=127.0
.0.2#40

การทดสอบ

โปรดสังเกตว่าที่นี่พอร์ตคือ -p 53 ซึ่งแตกต่างจากพอร์ตของ dnscrpyt-proxy ในส่วนก่อนหน้า -p 40

$ sudo service dnsmasq restart
Stopped Name Service Cache Daemon: nscd.
 * Starting Name Service Cache Daemon nscd                               [ OK ]
 * Restarting DNS forwarder and DHCP server dnsmasq                      [ OK ]
Stopped Name Service Cache Daemon: nscd.
 * Starting Name Service Cache Daemon nscd                               [ OK ]

$ dig g.cn @127.0
.0.1 -p 53
; > DiG 9.8
.1-P1 <<>> g.cn @127.0.0.1 -p 53;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52188
;; flags: qr rd ra; QUERY: 1
, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0
, flags:; udp: 4096;; QUESTION SECTION:
;g.cn.				IN	A

;; ANSWER SECTION:
g.cn.			295
	IN	A	203.208.48.144g.cn.			295
	IN	A	203.208.48.146g.cn.			295
	IN	A	203.208.48.148g.cn.			295
	IN	A	203.208.48.145g.cn.			295
	IN	A	203.208.48.147
;; Query time: 113
 msec;; SERVER: 127.0
.0.1#53(127.0.0.1);; WHEN: Sun Aug 23
 22:41:00 2015;; MSG SIZE  rcvd: 113

คำอธิบาย:

dnsmasq สามารถใช้อัพสตรีมเซิร์ฟเวอร์อื่นได้ เช่น 8.8.8.8 และ 114.114.114.114 โดยค่าเริ่มต้น dnsmasq จะฟัง (listen) พอร์ตจากภายนอกอยู่แล้ว ดังนั้นไม่จำเป็นต้องกำหนดค่า “IP ที่จะให้ฟัง” คุณสามารถทดสอบโดยเข้าถึง external IP ได้ทันที เช่น

nslookup g.cn 192.168
.31.139

สาม、การทดสอบความถูกต้องของ OpenDNS

เข้าไปที่ OpenDNS的测试页面 หากคุณเห็นเครื่องหมายถูก แปลว่าตั้งค่าประสบความสำเร็จ หากมีปัญหา สามารถทิ้งข้อความไว้ได้ :)


1.

การปนเปื้อนแคช DNS, วิกิพีเดีย:https://zh.wikipedia.org/wiki/域名服务器缓存污染↩ 2.

OpenDNS, วิกิพีเดีย:https://zh.wikipedia.org/wiki/OpenDNS↩ 3.

DNSCrypt ทำงานอย่างไร และเหตุใดจึงช่วยป้องกัน DNS pollution?,知乎:http://www.zhihu.com/question/24253866/answer/29272628↩ 4.

Dnsmasq, วิกิพีเดีย:https://zh.wikipedia.org/wiki/Dnsmasq↩ 5.

Ubuntu, วิกิพีเดีย:https://zh.wikipedia.org/wiki/Ubuntu↩ 6.

รายการเวอร์ชัน Ubuntu, วิกิพีเดีย:https://zh.wikipedia.org/wiki/Ubuntu发行版列表↩ 7.

ไฟล์นี้ถูกสร้างขึ้นอัตโนมัติขณะติดตั้ง DNSCrypt ↩ 8.

นี่คือรูปแบบการเริ่มงานมาตรฐานตามเอกสาร ดูรายละเอียดเพิ่มเติมในคู่มือทางการ:https://github.com/jedisct1/dnscrypt-proxy#usage↩ 9.

การตั้งค่า DNSMasq:https://www.google.com/search?q=dnsmasq.conf%20%E7%9A%84#newwindow=1&safe=active&q=dnsmasq.conf+%E9%85%8D%E7%BD%AE↩