บนอินเทอร์เน็ตรวมถึงเครือข่ายท้องถิ่น, เครื่องเรียกกันโดยที่อยู่ IP ในการเข้าถึงเครื่อง B จากเครื่อง A โดยใช้ชื่อเครื่อง B เครื่อง A จะต้องมีวิธีการแมปชื่อของ B กับที่อยู่ IP มีสามวิธีในการประกาศชื่อเครื่องบน A:
- ไฟล์โฮสต์ นี่คือไฟล์ข้อความธรรมดาที่จับคู่ชื่อกับที่อยู่
- ระบบชื่อโดเมน (DNS) นี่คือวิธีการที่ใช้บนอินเทอร์เน็ตทั่วโลก ตัวอย่างเช่นเมื่อคุณโหลดหน้านี้ในเบราว์เซอร์, สิ่งแรกที่เครื่องคอมพิวเตอร์ของคุณไม่สามารถที่จะทำให้การร้องขอ DNS
unix.stackexchange.com
ทราบที่อยู่ของ
- ฐานข้อมูลชื่ออื่น ๆ เช่นNIS , LDAPหรือActive Directory สิ่งเหล่านี้ถูกใช้ในเครือข่ายองค์กรบางแห่ง แต่ไม่บ่อยนัก (เครือข่ายจำนวนมากที่ใช้ NIS, LDAP หรือ AD สำหรับฐานข้อมูลผู้ใช้ใช้ DNS สำหรับชื่อเครื่อง) หากเครือข่ายของคุณใช้หนึ่งในนั้นคุณมีผู้ดูแลระบบเครือข่ายมืออาชีพและควรถามเขาว่าจะทำอย่างไร
มีหลายวิธีที่สิ่งเหล่านี้สามารถทำงานได้ในทางปฏิบัติ มันเป็นไปไม่ได้ที่จะครอบคลุมพวกเขาทั้งหมด ในคำตอบนี้ฉันจะอธิบายสถานการณ์ทั่วไปไม่กี่
ไฟล์โฮสต์
เมธอดไฟล์โฮสต์มีข้อดีที่ไม่ต้องใช้วิธีพิเศษใด ๆ มันอาจเป็นเรื่องยุ่งยากหากคุณมีเครื่องหลายเครื่องเพราะคุณต้องอัปเดตทุกเครื่องเมื่อชื่อเครื่องเปลี่ยน ไม่เหมาะสมหากที่อยู่ IP ของ B ถูกกำหนดแบบไดนามิก (เพื่อให้คุณได้รับที่แตกต่างกันในแต่ละครั้งที่คุณเชื่อมต่อกับเครือข่าย)
ไฟล์โฮสต์คือรายการชื่อการแมปบรรทัดอย่างง่าย ๆ ไปยังที่อยู่ IP ดูเหมือนว่านี้:
127.0.0.1 localhost localhost.localdomain
198.51.100.42 darkstar darkstar.bands
บนระบบ UNIX, /etc/hosts
ไฟล์โฮสต์คือ บน Windows c:\windows\system32\drivers\etc\hosts
ก็ เกือบทุกระบบปฏิบัติการที่คุณสามารถเชื่อมต่อกับอินเทอร์เน็ตมีไฟล์ที่คล้ายกัน วิกิพีเดียมีรายชื่อ
ในการเพิ่มรายการสำหรับ B ในไฟล์โฮสต์ของ A:
กำหนดที่อยู่ IP ของ B. บน B ให้เรียกใช้คำสั่งifconfig
(หากไม่พบคำสั่งให้ลอง/sbin/ifconfig
) ผลลัพธ์จะมีบรรทัดดังนี้:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
inet addr:10.3.1.42 Bcast:10.3.1.255 Mask:255.255.255.0
ในตัวอย่างนี้ที่อยู่ IP ของ B คือ 10.3.1.42 หากมีหลายinet addr:
บรรทัดให้เลือกอันที่สอดคล้องกับการ์ดเครือข่ายของคุณไม่เคยlo
เข้าหรืออุโมงค์หรือรายการเสมือน
- แก้ไขไฟล์ hosts บน A หาก A ใช้ระบบยูนิกซ์คุณจะต้องแก้ไข
/etc/hosts
ในฐานะผู้ใช้ขั้นสูง ดูที่ฉันจะรันคำสั่งในฐานะผู้ดูแลระบบ (root)ได้อย่างไร
DHCP + DNS บนเครือข่ายในบ้านหรือสำนักงานขนาดเล็ก
วิธีนี้ง่ายที่สุดหากคุณมีอุปกรณ์ที่จำเป็น คุณจะต้องกำหนดค่าอุปกรณ์เดียวและคอมพิวเตอร์ทุกเครื่องของคุณจะรู้ชื่อของกันและกัน วิธีนี้จะถือว่าคอมพิวเตอร์ของคุณได้รับที่อยู่ IP ของพวกเขาผ่านDHCPซึ่งเป็นวิธีการที่คอมพิวเตอร์จะเรียกคืนที่อยู่ IP โดยอัตโนมัติเมื่อพวกเขาเชื่อมต่อกับเครือข่าย หากคุณไม่ทราบว่า DHCP คืออะไรพวกเขาอาจทำเช่นนั้น
หากเครือข่ายของคุณมีเราเตอร์ที่บ้านเป็นสถานที่ที่ดีที่สุดในการกำหนดค่าชื่อสำหรับเครื่องที่เชื่อมต่อกับเราเตอร์นั้น ก่อนอื่นคุณต้องหาที่อยู่ MACของ B. แต่ละอุปกรณ์เครือข่ายจะมีที่อยู่ MAC ที่ไม่ซ้ำกัน บน B รันคำสั่งifconfig -a
(หากไม่พบคำสั่งลอง/sbin/ifconfig -a
) ผลลัพธ์จะมีบรรทัดดังนี้:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
ในตัวอย่างนี้ที่อยู่ MAC 01:23:45:67:89:ab
คือ คุณต้องเลือกสาย HWaddr ที่สอดคล้องกับพอร์ตเครือข่ายที่เชื่อมต่อกับเราเตอร์ผ่านสายเคเบิล (หรือการ์ด wifi หากคุณเชื่อมต่อผ่าน wifi) หากคุณมีหลายรายการและคุณไม่ทราบว่าเป็นรายการใดให้เสียบสายเคเบิลและดูว่าอุปกรณ์เครือข่ายใดได้รับที่อยู่ IP ( inet addr
บรรทัดด้านล่าง)
ในตอนนี้บนเว็บอินเตอร์เฟสของเราเตอร์ให้มองหาการตั้งค่าเช่น "DHCP" ชื่อและที่ตั้งของการตั้งค่านั้นขึ้นอยู่กับรุ่นของเราเตอร์อย่างสมบูรณ์ แต่ส่วนใหญ่จะมีการตั้งค่าพื้นฐานที่คล้ายกัน นี่คือหน้าตาของเฟิร์มแวร์ Tomato :
ป้อนที่อยู่ MAC, ที่อยู่ IP และชื่อที่ต้องการ คุณสามารถเลือกที่อยู่ IP ใด ๆ ในช่วงที่อยู่เครือข่ายท้องถิ่นของคุณ เราเตอร์ภายในบ้านส่วนใหญ่ได้รับการกำหนดค่าล่วงหน้าสำหรับช่วงที่อยู่ของฟอร์ม 192.168 x . Yหรือ 10 x Y z . ตัวอย่างเช่นบนเราเตอร์ Tomato ที่แสดงด้านบนในแท็บ "เครือข่าย" มีการตั้งค่า "ที่อยู่ IP ของเราเตอร์" ด้วยค่า 10.3.0.1 และการตั้งค่า "subnet mask" ด้วยค่า 255.255.255.0 ซึ่งหมายความว่าคอมพิวเตอร์บน เครือข่ายท้องถิ่นจะต้องมีที่อยู่ของแบบฟอร์ม 10.3.0 z . นอกจากนี้ยังมีช่วงของที่อยู่สำหรับที่อยู่ DHCP ที่กำหนดโดยอัตโนมัติ (10.3.0.129–10.3.0.254) สำหรับที่อยู่ DHCP ที่กำหนดด้วยตนเองให้เลือกที่ไม่อยู่ในช่วงนี้
ตอนนี้เชื่อมต่อ B กับเครือข่ายและควรได้รับที่อยู่ IP ที่คุณระบุและจะสามารถเข้าถึงได้โดยชื่อที่ระบุจากเครื่องใด ๆ ในเครือข่าย
สร้างเซิร์ฟเวอร์ DNS ของคุณเองด้วย Dnsmasq
หากคุณไม่มีเราเตอร์ในบ้านที่มีคุณสมบัติคุณสามารถตั้งค่าฟังก์ชันการทำงานเดียวกันบนเครื่อง Linux เครื่องใดก็ได้ ฉันจะอธิบายวิธีการใช้dnsmasqการตั้งค่าDNS มีโปรแกรมที่คล้ายกันอื่น ๆ อีกมากมาย; ฉันเลือก Dnsmasq เพราะง่ายต่อการกำหนดค่าและมีน้ำหนักเบา (เป็นสิ่งที่เราเตอร์ของ Tomato ที่แสดงด้านบนใช้ตัวอย่างเช่น) Dnsmasq มีอยู่ใน Linux และ BSD ส่วนใหญ่สำหรับพีซีเซิร์ฟเวอร์และอุปกรณ์เครือข่าย
เลือกคอมพิวเตอร์ที่เปิดอยู่ตลอดเวลาที่มีที่อยู่ IP แบบคงที่และใช้ Linux หรือ BSD บางประเภท เรียกมันว่า S (สำหรับเซิร์ฟเวอร์) บน S ติดตั้งdnsmasq
แพ็กเกจ (ถ้ายังไม่ได้ติดตั้ง) ด้านล่างฉันจะสมมติว่าไฟล์การกำหนดค่าเป็น/etc/dnsmasq.conf
; สถานที่อาจแตกต่างกันไปในการกระจายบางส่วน ตอนนี้คุณต้องทำหลายสิ่ง
คุณยังสามารถใช้ Dnsmasq เป็นเซิร์ฟเวอร์ DHCPเพื่อให้เครื่องสามารถรับที่อยู่ที่สอดคล้องกับชื่อของพวกเขาโดยอัตโนมัติ นี่อยู่นอกเหนือขอบเขตของคำตอบนี้ ศึกษาเอกสาร Dnsmasq (มันไม่ยาก) โปรดทราบว่าสามารถมีเซิร์ฟเวอร์ DHCP เดียวในเครือข่ายท้องถิ่นที่กำหนดเท่านั้น (คำจำกัดความที่แน่นอนของเครือข่ายท้องถิ่นอยู่นอกเหนือขอบเขตของคำตอบนี้)
ชื่อบนอินเทอร์เน็ตทั่วโลก
จนถึงตอนนี้ฉันได้สันนิษฐานว่าเป็นเครือข่ายท้องถิ่น ถ้าคุณต้องการตั้งชื่อให้เครื่องจักรที่อยู่คนละมุมของโลกล่ะ คุณยังคงสามารถใช้เทคนิคใด ๆ ข้างต้นได้ยกเว้นชิ้นส่วนที่เกี่ยวข้องกับ DHCP จะสามารถใช้ได้ภายในเครือข่ายท้องถิ่นเท่านั้น หรือหากเครื่องของคุณมีที่อยู่ IP สาธารณะคุณสามารถลงทะเบียนชื่อสาธารณะของคุณเองได้ (คุณสามารถกำหนดที่อยู่ IP ส่วนตัวให้กับชื่อสาธารณะได้เช่นกันมันน้อยกว่าทั่วไปและมีประโยชน์น้อยกว่า แต่ไม่มีปัญหาด้านเทคนิค)
รับชื่อโดเมนของคุณเอง
คุณสามารถรับชื่อโดเมนของคุณเองและกำหนดที่อยู่ IP ให้กับชื่อโฮสต์ภายในโดเมนนี้ คุณต้องลงทะเบียนชื่อโดเมนกับผู้ให้บริการชื่อโดเมน โดยทั่วไปจะมีค่าใช้จ่าย $ 10 - $ 15 / ปี (สำหรับโดเมนที่ถูกที่สุด) ใช้เว็บอินเตอร์เฟสของผู้ให้บริการชื่อโดเมนของคุณเพื่อกำหนดที่อยู่ให้กับชื่อโฮสต์
DNS แบบไดนามิก
หากเครื่องของคุณมีที่อยู่ IP แบบไดนามิกคุณสามารถใช้โปรโตคอลDNS แบบไดนามิกเพื่ออัปเดตที่อยู่ IP ที่เชื่อมโยงกับชื่อเครื่องเมื่อที่อยู่เปลี่ยนไป ผู้ให้บริการชื่อโดเมนบางรายสนับสนุน DNS แบบไดนามิกดังนั้นควรซื้อสินค้าก่อนตัดสินใจซื้อ สำหรับการใช้งานส่วนตัวNo-IPให้บริการ DNS แบบไดนามิกฟรีหากคุณใช้โดเมนของตนเอง (เช่นexample.ddns.net
)
ping
) หรือบนเครื่องที่ให้คำปรึกษาลูกค้า ระบบปฏิบัติการบนไคลเอนต์คืออะไร? การกำหนดค่า DNS คืออะไร