Saya memiliki masalah aneh dengan resolusi nama domain pada VPS saya. Masalahnya adalah ketika saya melakukan ping, atau telnet ke nama domain yang tidak ada , maka nama domain tingkat atas ".com" secara otomatis ditambahkan ke nama domain asli.
1) tes nslookup
[root@myhost etc]# nslookup www.dhjfdghfgdhafgdh.com
Server: 168.144.1.130
Address: 168.144.1.130#53
** server can't find www.dhjfdghfgdhafgdh.com: NXDOMAIN
OK - hasil yang diharapkan
2) tes ping
[root@myhost etc]# ping -v www.dhjfdghfgdhafgdh.com
PING www.dhjfdghfgdhafgdh.com.com (208.73.211.69) 56(84) bytes of data.
64 bytes from 208.73.211.69: icmp_seq=1 ttl=238 time=78.2 ms
64 bytes from 208.73.211.69: icmp_seq=2 ttl=238 time=74.5 ms
64 bytes from 208.73.211.69: icmp_seq=3 ttl=238 time=76.4 ms
^C
--- www.dhjfdghfgdhafgdh.com.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2427ms
rtt min/avg/max/mdev = 74.594/76.431/78.264/1.498 ms
NOK - domain yang tidak ada akan teratasi sebagai ".com" yang secara ajaib ditambahkan ke domain asli. com.com adalah nama domain terdaftar sehingga saya dapat melakukan ping, tetapi saya melakukan ping ke domain yang berbeda dengan yang saya maksudkan.
3) tes telnet
[root@myhost etc]# telnet www.dhjfdghfgdhafgdh.com 80
Trying 208.73.211.69...
Connected to www.dhjfdghfgdhafgdh.com.
Escape character is '^]'.
NOK - sama seperti ping. Namun kali ini, telnet tidak memberi tahu saya bahwa saya sebenarnya terhubung dengan host com.com. Saya hanya bisa tahu dari alamat IP.
Ini adalah /etc/resolv.conf saya:
nameserver 168.144.1.130
nameserver 108.59.242.6
Terima kasih atas petunjuknya.
Jawaban:
Ini adalah fitur, bukan bug.
Katakan bahwa domain lokal Anda
example.com
, dan Anda memiliki mesin yang disebutserver
. Senang bisaping server
dan memiliki semua yang Anda Tahu (TM) yang Anda maksudkanserver.example.com
.Untuk mencapai hal ini, ada beberapa pengaturan yang dapat dikonfigurasi. Pengaturan ini bisa di komputer lokal Anda (mungkin diatur oleh server dhcp Anda, jika Anda memilikinya); atau mereka bisa berada di server nama hulu, sehingga ketika sistem Anda bertanya hulu "Apa alamat untuk server?" jawabannya adalah "konyol, maksudmu server.example.com, dan btw 1.2.3.4".
Dua hal yang mengontrol pencarian ini adalah pengaturan yang disebut "ndots"; jika nama host memiliki titik "titik", itu tidak akan diterapkan pencarian tambahan bermanfaat ini. Biasanya ndots diatur ke 1 - sehingga
server
akan mendapatkan bantuan tambahan, tetapiserver.local
tidak. Dalam kasus Anda, sepertinya ndots diset ke minimal 2 - sepertinyawww.blah.com
masih dilakukan pencarian tambahan.Fitur lainnya adalah
search
daftar - daftar domain yang ditambahkan ke hostname untuk mencoba menemukan kecocokan. Dalam kasus biasa, ini akan menjadi "example.com". Dalam kasus Anda, kedengarannya seolah-olah "com" telah berakhir di daftar - saya menduga sehingga orang dapat memasukkan "yahoo" dan "yahoo.com" dikembalikan.Sekali lagi, ini mungkin sedang diatur oleh server DHCP Anda ketika membagikan sewa. Jika dikonfigurasi pada mesin lokal Anda, mungkin akan terdaftar di /etc/resolv.conf.
sumber
Menambahkan ke jawaban James Polley , Anda biasanya dapat mengesampingkan perilaku pencarian dengan secara eksplisit menentukan bahwa resolusi nama harus dimulai pada zona root DNS. Itu dilakukan dengan menambahkan satu
.
ke nama host yang sepenuhnya memenuhi syarat.Jadi, alih-alih
abc.server.example.com
, Anda akan menggunakanabc.server.example.com.
. Ekstra.
menginstruksikan resolver untuk mencoba hanya nama ini dan tidak menggunakan domain pencarian yang dikonfigurasi.sumber
Saya juga mengalami masalah ini. Perbaiki dengan cara ini:
Nama host saya adalah qifeiye.com. Lalu saya mengubahnya menjadi qifeiye. Anda dapat mengubah nama host di / etc / hostname.
Dan jalankan perintah:
Dan restart server. Masalah hilang.
Saya pikir itu disebabkan oleh sistem otomatis menemukan .com di hostname dan berpikir semua nama domain yang tidak dikenal akan berada di domain .com.
sumber