วิธีการ (และทำไม) กำหนดโดเมน. local ให้กับราสเบอร์รี่ Pi ของคุณ
หากคุณเบื่อที่จะค้นหาที่อยู่ IP ของอุปกรณ์ที่คุณเข้าถึงบ่อยครั้งผ่านการเข้าสู่ระบบจากระยะไกล SSH และวิธีการอื่น ๆ ในเครือข่ายภายในบ้านของคุณคุณสามารถประหยัดเวลาได้มากด้วยการกำหนดจำง่าย .ในประเทศ
ที่อยู่ไปยังอุปกรณ์ อ่านต่อในขณะที่เราสาธิตโดยกำหนดชื่อที่จดจำได้ง่ายให้กับ Raspberry Pi ของเรา.
ทำไมฉันถึงต้องการทำเช่นนี้?
เป็นไปได้ว่าเครือข่ายในบ้านของคุณส่วนใหญ่ใช้การกำหนด IP DHCP ซึ่งหมายความว่าทุกครั้งที่อุปกรณ์ออกจากเครือข่ายและส่งคืนที่อยู่ IP ใหม่ให้กับมัน แม้ว่าคุณจะตั้งค่า IP แบบคงที่สำหรับอุปกรณ์ที่ใช้บ่อย (เช่นคุณตั้งค่ากล่อง Raspberry Pi ให้กำหนดเป็นหมายเลขเสมอ 192.168.1.99
) คุณยังคงต้องยอมรับว่าจำนวนหน่วยความจำที่ไม่ได้ใช้งานง่ายทั้งหมด นอกจากนี้หากคุณจำเป็นต้องเปลี่ยนหมายเลขด้วยเหตุผลใดก็ตามคุณจะต้องจำหมายเลขใหม่แทน.
การทำเช่นนั้นไม่ใช่จุดจบของโลก แต่มันไม่สะดวก ทำไมต้องกังวลกับการจำสตริง IP เมื่อคุณสามารถให้ชื่ออุปกรณ์จำได้ง่าย raspberrypi.local
หรือ mediaserver.local
?
ตอนนี้บางคน (โดยเฉพาะพวกคุณที่มีความรู้อย่างใกล้ชิดเกี่ยวกับ DNS, การตั้งชื่อโดเมนและโครงสร้างที่อยู่เครือข่ายอื่น ๆ ) อาจสงสัยว่าสิ่งที่จับได้คืออะไร มีความเสี่ยงหรือปัญหาโดยธรรมชาติในการตบชื่อโดเมนไปยังเครือข่ายที่มีอยู่ของคุณหรือไม่ เป็นสิ่งสำคัญที่นี่เพื่อจดบันทึก ใหญ่ ความแตกต่างระหว่างชื่อโดเมนที่ผ่านการรับรองโดยสมบูรณ์ (FQDN) ซึ่งเป็นคำต่อท้ายที่ได้รับการยอมรับอย่างเป็นทางการสำหรับโดเมนระดับบนสุด (เช่น .ดอทคอม
ส่วนหนึ่งของ www.howtogeek.com
ที่บ่งบอกว่า How-To Geek เป็นเว็บไซต์เชิงพาณิชย์) และชื่อโดเมนที่ไม่ได้รับการยอมรับจากระบบการตั้งชื่อ / DNS ทั่วโลกหรือถูกสงวนไว้สำหรับการใช้งานเครือข่ายส่วนตัว.
ตัวอย่างเช่น, .ภายใน
คือในฐานะของการเขียนนี้ไม่ใช่ FQDN; ไม่มีโดเมนที่ลงทะเบียนใด ๆ ในโลกที่ลงท้ายด้วย .ภายใน
และถ้าคุณต้องกำหนดค่าเครือข่ายส่วนตัวให้ใช้ .ภายใน
สำหรับที่อยู่ในท้องถิ่นจะไม่มีโอกาสเกิดข้อขัดแย้ง DNS อย่างไรก็ตามอาจมีการเปลี่ยนแปลง (แม้ว่าโอกาสจะอยู่ในระยะไกล) ในอนาคตหาก .ภายใน
กลายเป็น FQDN อย่างเป็นทางการและที่อยู่ที่ลงท้ายด้วย .ภายใน
ถูกแก้ไขจากภายนอกผ่านเซิร์ฟเวอร์ DNS สาธารณะ.
ตรงกันข้าม .ในประเทศ
โดเมนถูกจองอย่างเป็นทางการเป็นชื่อโดเมนที่ใช้งานพิเศษ (SUDN) โดยเฉพาะเพื่อวัตถุประสงค์ในการใช้เครือข่ายภายใน จะไม่ถูกกำหนดค่าเป็น FQDN และชื่อท้องถิ่นที่กำหนดเองของคุณจะไม่ขัดแย้งกับที่อยู่ภายนอกที่มีอยู่ (เช่น. howtogeek.local
).
ฉันต้องการอะไร?
ซอสลับที่ทำให้การแก้ปัญหา DNS ในเครื่องทั้งหมดเป็นที่รู้จักกันในชื่อ Multicast Domain Name Service (mDNS) ในความเป็นจริงแล้วมีการติดตั้ง mDNS สองครั้งโดยหนึ่งแอปเปิ้ลและไมโครซอฟท์ การติดตั้ง mDNS ที่สร้างโดย Apple นั้นเป็นสิ่งที่เกิดขึ้นกับบริการค้นหาเครือข่ายท้องถิ่นของ Bonjour ที่เป็นที่นิยม การใช้งานโดย Microsoft เป็นที่รู้จักกันในชื่อ Link-local Multicast Name Resolution (LLMNR) การใช้งานของ Microsoft ไม่เคยถูกนำมาใช้อย่างกว้างขวางเนื่องจากความล้มเหลวในการปฏิบัติตามมาตรฐานต่างๆและความเสี่ยงด้านความปลอดภัยที่เกี่ยวข้องกับโดเมนที่สามารถจับภาพได้สำหรับการใช้งานในท้องถิ่น.
เนื่องจากการติดตั้ง mDNS ของ Apple Bonjour มีอัตราการยอมรับที่กว้างกว่ามากมีการสนับสนุนที่ดีกว่าและมีแอพพลิเคชั่นจำนวนมากสำหรับแพลตฟอร์มขนาดใหญ่และขนาดเล็กเราจึงเลือกที่จะใช้สำหรับบทเรียนนี้.
หากคุณมีคอมพิวเตอร์ที่ใช้ OS X ของ Apple บนเครือข่ายของคุณคุณไม่จำเป็นต้องทำอะไรนอกจากทำตามบทแนะนำเพื่อตั้งค่าสิ่งต่าง ๆ บน Raspberry Pi (หรืออุปกรณ์ Linux อื่น ๆ ) คุณพร้อมที่จะไปเพราะคอมพิวเตอร์ของคุณรองรับอยู่แล้ว.
หากคุณใช้เครื่อง Windows ที่ไม่ได้ติดตั้ง iTunes (ซึ่งจะติดตั้งไคลเอนต์ Bonjour ที่ใช้ร่วมกันสำหรับการแก้ปัญหา mDNS) คุณสามารถแก้ไขปัญหาการขาดการสนับสนุน mDNS ดั้งเดิมได้โดยการดาวน์โหลดแอพผู้ช่วยเหลือของ Bonjour Printer Service ของ Apple ที่นี่ แม้ว่าหน้าดาวน์โหลดจะทำให้ดูเหมือนเป็นเครื่องมือสำหรับพิมพ์เท่านั้น แต่เพิ่มการสนับสนุน mDNS / Bonjour ทั่วกระดานให้มีประสิทธิภาพ.
การติดตั้งการสนับสนุน Bonjour บน Raspberry Pi ของคุณ
ลำดับแรกของธุรกิจคือการดึงเทอร์มินัลขึ้นบน Pi ของคุณหรือเชื่อมต่อกับเทอร์มินัลระยะไกล (ถ้าคุณมีเครื่องไร้หัว) ผ่าน SSH ใช้เวลาสักครู่เพื่อทำการอัพเดทและอัพเกรด apt-get (หมายเหตุ: หากคุณเพิ่งทำสิ่งนี้เมื่อเร็ว ๆ นี้ซึ่งเป็นส่วนหนึ่งของบทช่วยสอน Raspberry Pi ของเราคุณสามารถข้ามขั้นตอนนี้ได้)
sudo apt-get update
sudo apt-get upgrade
หลังจากกระบวนการอัปเดต / อัปเกรดเสร็จสมบูรณ์แล้วก็ถึงเวลาที่จะติดตั้ง Avahi ซึ่งเป็นการนำโอเพ่นซอร์ส mDNS มาใช้เพียงเล็กน้อย ป้อนคำสั่งต่อไปนี้ที่พร้อมท์:
sudo apt-get install avahi-daemon
เมื่อกระบวนการติดตั้งเสร็จสมบูรณ์คุณไม่จำเป็นต้องรีบูตอุปกรณ์ Raspberry Pi ของคุณจะเริ่มจดจำการค้นหาเครือข่ายท้องถิ่นทันทีสำหรับชื่อโฮสต์ (โดยค่าเริ่มต้น“raspberrypi
“) ที่ raspberrypi.local
.
เครื่องเฉพาะที่เราใช้สำหรับการทดสอบนี้คือ Raspberry Pi ตัวเดียวที่เราเปลี่ยนเป็นตัวบ่งชี้สภาพอากาศโดยรอบและต่อมาก็เปลี่ยนชื่อโฮสต์ท้องถิ่นดังนั้นเมื่อเราไปหาคำตอบใหม่ .ในประเทศ
ที่อยู่เราจะมองหา weatherstation.local
แทน raspberrypi.local
.
อีกครั้งสำหรับการเน้นส่วนที่นำหน้าส่วนต่อท้าย. local คือ เสมอ ชื่อโฮสต์ของอุปกรณ์ หากคุณต้องการให้เครื่องสตรีมเพลงของ Raspberry Pi มีชื่อท้องถิ่น jukebox.local
, ตัวอย่างเช่นคุณจะต้องทำตามคำแนะนำเหล่านี้เพื่อเปลี่ยนชื่อโฮสต์ของ Pi.
ไปข้างหน้าและ ping ใหม่ .ในประเทศ
ที่อยู่บนเครื่องที่คุณต้องการเข้าถึงอุปกรณ์จากตอนนี้:
ที่ประสบความสำเร็จ! weatherstation.local แก้ไขเป็น 192.168.1.100 ซึ่งเป็นที่อยู่ IP ที่แท้จริงของอุปกรณ์บนเครือข่ายท้องถิ่น จากนี้ไปแอปพลิเคชันหรือบริการใด ๆ ที่จำเป็นต้องใช้ที่อยู่ IP ของ Raspberry Pi ก่อนหน้านี้สามารถใช้ที่อยู่. local แทน.