/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
수 없는 것 같습니다 . 해결 방법은 다음과 같습니다.telnet
host
nslookup
적용 범위 /etc/nsswitch.conf
는 다음과 같습니다 /etc/nsswitch.dns
.
cp /etc/nsswitch.dns /etc/nsswitch.conf
답변2
Adam, 당신은 어떤 버전의 Solaris를 사용하고 있는지 알려주지 않았습니다.
Solaris의 모든 호스트 조회는 Solaris 이름 지정 서비스 데몬을 통해 발생합니다. 유일한 예외는 nslookup
DNS 서버에 대한 직접 DNS 쿼리입니다. 이름 지정 서비스 데몬은 기본적으로 이름 지정 정보의 캐시 역할을 합니다. 다른 운영 체제에도 비슷한 서비스가 있습니다. Solaris 이름 지정 서비스는 이 파일에서 구성됩니다 /etc/nsswitch.conf
.
Solaris 10 이하와 같은 이전 버전을 사용하고 계시기를 바랍니다. 그렇지 않으면 이제 더 이상 편집해서는 안 되는 파일인 이 파일을 수동으로 편집한 것입니다 /etc/nsswitch.conf
.
어쨌든, 당신이솔라리스 10또는 이전: /etc/nsswitch.conf
다음과 같은 항목이 있어야 합니다.
hosts: files dns
이는 Solaris 이름 지정 서비스에 호스트를 검색해야 함을 알려줍니다.첫 번째로컬 파일(예: /etc/hosts
)그 다음에DNS에서. 물론 여기서는 "dns"를 사용할 수도 있지만 사람들은 일반적으로 /etc/hosts
DNS의 내용을 무시할 수 있기를 원합니다.
이제 이름 지정 서비스 데몬을 다시 시작해야 할 수도 있습니다.
svcadm restart /system/name-service-cache
getent
Solaris 명령을 사용하여 언제든지 이름 지정 서비스 설정을 확인할 수 있습니다 .
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 새로 고침 이름 서비스/스위치