ฉันพยายามเชื่อมต่อจากระบบ 10.04 ไปยังระบบ 12.04 ผ่าน SSH กฎที่resolv.conf
ดูเหมือนจะมีผลในการคัดเลือกอย่างแปลกประหลาดซึ่งทำให้ฉันงงงวย สังเกต:
[2] user@mach:~$ ssh pangolin
ssh: Could not resolve hostname pangolin: Name or service not known
[2] user@mach:~$ host pangolin
pangolin.subdomain.domain.tld has address 172.16.7.12
subdomain.domain.tld
อยู่ในsearch
บรรทัด/etc/resolv.conf
และใช้host
ชื่อค้นหาอย่างถูกต้องให้กฎเหล่านั้น อย่างไรก็ตามด้วยไคลเอนต์ SSH ssh
ฉันได้รับข้อผิดพลาดทำซ้ำข้างต้น สิ่งนี้จะเป็นอย่างไร ฉันมักจะรู้สึกว่ากฎการแก้ไขชื่อในresolv.conf
ระบบทั่วโลกใช้
หมายเหตุ: /etc/hosts
ไม่ได้ประกาศชื่อpangolin
เลย แพ็คเกจopenssh-server
ถูกกำหนดค่าบนเครื่องเป้าหมาย คำถามนี้เกี่ยวกับสาเหตุที่การจำแนกชื่อไม่สอดคล้องกันระหว่างโปรแกรมทั้งสอง
ทราบอีก: pangolin.subdomain.domain.tld
คำสั่งทำงานได้ดีเมื่อฉันป้อนชื่อโดเมนที่มีคุณสมบัติครบถ้วนคือ
ในขณะเดียวกันฉันรีบูตเครื่องไคลเอนต์ (10.04) และปัญหายังคงมีอยู่ ไม่มีการติดตั้ง daemon แคช DNS ดังนั้นฉันจึงคิดว่าไม่น่าจะมีปัญหาอยู่ดี
ข้อมูลที่ถามในความคิดเห็น:
$ grep host /etc/nsswitch.conf
hosts: files dns
/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 172.16.1.1
nameserver 172.16.1.5
search subdomain.domain1.com domain1.com domain2 domain3.com domain2.ccTLD domain3.net dev.domain1.com sdk.dev.domain1.com
... และเต็ม/etc/nsswitch.conf
:
$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
... และ/etc/network/interfaces
ซึ่งเป็นแหล่งสำหรับresolv.conf
ใน 12.04:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 172.16.1.234
netmask 255.255.0.0
gateway 172.16.255.254
dns-nameservers 172.16.1.1 172.16.1.5
dns-search domain1.com. domain2. domain3.com. domain2.ccTLD. domain3.net. dev.domain1.com. sdk.dev.domain1.com. subdomain.domain1.com.
dns-domain subdomain.domain1.com.
หมายเหตุ: การแปลงชื่อโดเมนเสร็จสิ้นsed
ดังนั้นจึงสอดคล้องกันระหว่างไฟล์ที่ทำซ้ำต่างๆ
ไม่มี~/.ssh/config
แต่นี่คือโลกหนึ่ง ( /etc/ssh/ssh_config
) ที่ย่อหย่อนเพื่อความกะทัดรัด:
$ grep -v '^#' /etc/ssh/ssh_config |grep -v '^[[:space:]]*$'
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
$ mtr pangolin
Name or service not known: Success
mtr pangolin
ไหม?
/etc/resolv.conf
และเอาท์พุทของคำสั่งนี้ได้grep host /etc/nsswitch.conf
ไหม?