Jawaban yang Direvisi:
Tuan rumah itu sendiri tidak menangani FQDN yang sebenarnya. Itu ditangani oleh DNS . FQDN (Fully Qualified Domain Name) ditangani oleh DNS yang menerjemahkan nama menjadi alamat IP. Menggunakan /etc/hosts
file, Anda pada dasarnya menimpa server DNS. Komputer melihat ke /etc/hosts
file terlebih dahulu untuk melihat apakah entri didefinisikan untuk nama host ke alamat IP. Entri dalam /etc/hosts
tampilannya seperti berikut:
127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu
Entri ini tidak spesifik distro. Semua OS menggunakan format yang sama untuk baris ini. Hanya lokasi hosts
perubahan file. Linux, biasanya terletak di /etc/
folder, di mana di Windows biasanya terletak di C:\Windows\System32\drivers\etc\
folder.
Memecah barisan itu, Anda dapat melihat bahwa saya menetapkan keduanya terrance-ubuntu.local
, yang merupakan FQDN saya sendiri untuk mengesampingkan DNS sehingga aplikasi tahu untuk tidak meninggalkan komputer saya, dan terrance-ubuntu
, yang merupakan nama host, lagi sehingga aplikasi tahu untuk tidak meninggalkan komputer saya atau 127.0.0.1 ( localhost ). Menetapkan nama host saya pada sistem saya 127.0.1.1
tidak berpengaruh pada komputer yang menemukan host saya di jaringan. Jika DNS berfungsi dengan benar, mereka akan melihat nama host saya sebagai 10.0.0.100
. Alasan untuk menggunakan 127.0.1.1
aplikasi saya adalah untuk menemukan sistem saya lebih cepat karena akan tahu bahwa sistem saya tidak keluar di tempat lain di jaringan saya. Nama host saya yang sebenarnya dengan .local
menjadi FQDN saya, the.local
sebenarnya Domain saya yang saya setup melalui router saya yang juga merupakan server DNS lain di jaringan saya.
Sekarang, katakanlah layanan DNS di jaringan lokal tidak menetapkan nama host atau FQDN ke alamat IP, tetapi Anda tahu apa alamat IP dari host di jaringan lokal. Anda kemudian akan menetapkan host itu di /etc/hosts
file Anda sehingga Anda tidak perlu mengetikkan alamat IP host setiap kali Anda ingin mengaksesnya. Tuan rumah mungkin server alat, printer, atau sistem jaringan yang terhubung lainnya. Tambahkan entri seperti biasa ke /etc/hosts
file.
Saya akan menggunakan printer yang terhubung ke jaringan saya misalnya. Ini memiliki IP statis 10.0.0.253. Saya tidak tahu nama itu. Untuk ini, saya ingin menyebutnya hp_printer
. Saya akan ping IP dan nama host untuk itu, lalu tambahkan /etc/hosts
.
terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer
terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms
Sekarang, saya juga dapat mengakses halaman web untuk pengaturan printer saya di nama yang saya berikan bukan alamat IP yang lebih mudah diingat:
File /etc/resolv.conf Anda juga digunakan oleh DNS untuk membantu menemukan nama host. Ini adalah file konfigurasi untuk resolver. Ini menyediakan domain pencarian sehingga Anda tidak harus menentukan FQDN Anda sepanjang waktu ketika Anda mencari host. Ini juga memasok alamat IP untuk DNS atau server nama jaringan lokal Anda. The search
garis bawah menunjukkan nama local
yang nama domain saya.
terrance@terrance-ubuntu:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local
Semoga ini membantu memberikan pemahaman yang lebih baik tentang bagaimana DNS dan FQDN bekerja.