โฮมเพจ » ทำอย่างไร » วิธีการ (และทำไม) กำหนดโดเมน. local ให้กับราสเบอร์รี่ Pi ของคุณ

    วิธีการ (และทำไม) กำหนดโดเมน. 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 แทน.