Solaris 10에서 "host"와 "nslookup"은 호스트 이름을 확인할 수 있지만 "ping"과 "telnet"은 확인할 수 없는 이유는 무엇입니까?

Solaris 10에서 "host"와 "nslookup"은 호스트 이름을 확인할 수 있지만 "ping"과 "telnet"은 확인할 수 없는 이유는 무엇입니까?
  • /etc/resolv.conf활성 이름 서버를 포함합니다( ping명령으로 보고됨).
  • host아니면 nslookup해결이 가능할까요google.com

    $ host google.com
    google.com has address 74.125.228.3
    google.com has address 74.125.228.4
    ...
    $ nslookup google.com
    ...
    Non-authorative answer:
    Name:   google.com
    Address: 74.125.228.0
    Name:   google.com
    Address: 74.125.228.1
    ..
    
  • ping아니면 telnet해결이 안되나요google.com

    $ ping google.com
    ping: unknown host google.com
    $ telnet google.com
    google.com: node name or service name not known
    

답변1

구성된 DNS 서버를 쿼리하지 않고( 그리고 다른 DNS 쿼리 코드를 사용하는 것으로 보임) 호스트 이름을 확인할 ping수 없는 것 같습니다 . 해결 방법은 다음과 같습니다.telnethostnslookup

적용 범위 /etc/nsswitch.conf는 다음과 같습니다 /etc/nsswitch.dns.

cp /etc/nsswitch.dns /etc/nsswitch.conf

답변2

Adam, 당신은 어떤 버전의 Solaris를 사용하고 있는지 알려주지 않았습니다.

Solaris의 모든 호스트 조회는 Solaris 이름 지정 서비스 데몬을 통해 발생합니다. 유일한 예외는 nslookupDNS 서버에 대한 직접 DNS 쿼리입니다. 이름 지정 서비스 데몬은 기본적으로 이름 지정 정보의 캐시 역할을 합니다. 다른 운영 체제에도 비슷한 서비스가 있습니다. Solaris 이름 지정 서비스는 이 파일에서 구성됩니다 /etc/nsswitch.conf.

Solaris 10 이하와 같은 이전 버전을 사용하고 계시기를 바랍니다. 그렇지 않으면 이제 더 이상 편집해서는 안 되는 파일인 이 파일을 수동으로 편집한 것입니다 /etc/nsswitch.conf.

어쨌든, 당신이솔라리스 10또는 이전: /etc/nsswitch.conf다음과 같은 항목이 있어야 합니다.

hosts:  files dns

이는 Solaris 이름 지정 서비스에 호스트를 검색해야 함을 알려줍니다.첫 번째로컬 파일(예: /etc/hosts)그 다음에DNS에서. 물론 여기서는 "dns"를 사용할 수도 있지만 사람들은 일반적으로 /etc/hostsDNS의 내용을 무시할 수 있기를 원합니다.

이제 이름 지정 서비스 데몬을 다시 시작해야 할 수도 있습니다.

svcadm restart /system/name-service-cache

getentSolaris 명령을 사용하여 언제든지 이름 지정 서비스 설정을 확인할 수 있습니다 .

getent hosts google.com

getent명령은 Solaris 이름 지정 서비스가 예상대로 작동하는지 확인합니다. 너할 수 없다nslookup이를 확인하기 위해 .



당신이있는 경우솔라리스 11그런 다음 nolan600의 답변을 사용할 수 있습니다이 문제. 이 getent명령은 Solaris 11에서도 작동합니다.



당신이 그들 중 일부를 사용할 수 있기를 바랍니다.

답변3

root@solaris:~# svccfg -s 이름 서비스/스위치
svc:/system/name-service/switch> setprop config/host = "파일 DNS"
svc:/system/name-service/switch> listprop 구성
애플리케이션 구성
구성/기본 문자열 파일
config/value_authorization string Solaris.smf.value.name-service.switch
구성/프린터 문자열 "userfile"
구성/호스트 문자열 "파일 DNS"
svc:/system/name-service/switch> 종료
root@solaris11:~# svcadm 새로 고침 이름 서비스/스위치

관련 정보