티스토리 뷰

728x90
반응형

포스팅은 Hostname Resolution에 대한 가이드입니다.


Hostname Resolution은 주어진 이름에 대한 IP주소를 알아내는 과정을 말합니다. 사람의 입장에서는 이름을 사용하는 것을 선호하기 때문에 도메인과 IP주소간에 변환할수 있는 방법과 방식이 필요합니다. 도메인 이름을 입력시 TCP/IP는 이 의미를 갖는 단어들을 IP주소로 번역해야합니다.

일반적으로 많은 사람이 알고 있는 DNS(Domain Name Server)가 이 역할을 담당하게 됩니다. 다만, DNS가 항상 위와 같은 일을 담당하는 것은 아닙니다. 예를 들어 인터넷이 안된느 사내 망을 사용하는 A라는 회사는 DNS를 사용할 수 없습니다. 이럴 경우 OS 자체적으로 DNS에 담겨 있듯 맵핑 정보를 등록하여 옳바른 TCP/IP를 찾아 갈 수 있어야 합니다. 이에 대한 우선순위를 설정하는 것은 매우 중요한 부분이라 할수 있습니다.

 

Hostname Resolution은 일반적인 호스트의 이름을 변환하는 보편적방식이며 대부분의 TCP/IP유틸리티와 프로그램은 이 방식을 사용합니다. 호스트 name resolution 은 IP주소를 얻기위해 7개의 단계를 거치게 됩니다.

먼저 로컬호스트(Local host)에서 Name Resolution을 검색합니다. 찾지 못할 경우 HOSTS 파일에서 Name Resolution을 검색합니다.
다음으로 DNS에서 Name Resolution을 검색합니다. 다음 단계로 NetBIOS name 캐쉬에서 Name Resolution을 검색합니다.
이후에는 WINS에서 Name Resolution을 검색하고, 찾지 못할 경우 브로드 캐스트에서 Name Resolution을 검색합니다.
마지막으로 LMHOSTS 파일에서 Name Resolution을 검색다.

또한 Ping,FTP,HTTP 등의 몇가지 유틸리티와 프로그램들이 Hostname Resolution 방식을 사용합니다. 본 포스팅에서는 각 vender 사 별 OS에서 Hostname Resolution을 어떻게 변경하여 관리하는지에 대해 살펴보도록 하겠습니다.


먼저 IBM - AIX에서 HostName Resolution 우선순위 및 순서 변경 방법에 대해 알아보겠습니다.

IBM 사 AIX서버에서는 일반적으로 아래와 같은 순서에 따라 Name resolution과정을 수행합니다.

먼저 Bind/DNS (named)에서 확인합니다. 이는 /etc/resolv.conf 파일에서 DNS 찾아서 요청을 합니.

/etc/resolv.conf 파일이 없거나, DNS 해당 name 찾지 못할 경우 처리가 Network Information Service (NIS) 넘어갑니다.

NIS 경우 local /etc/hosts 설정한 내용보다 우선시 되기 때문에 NIS 운영되고 있다면 /etc/hosts 내용은 무시됩니다.

다음으로 /etc/hosts에서 host 이름을 찾게 되고 해당 파일에서도 요청 내용을 확인 없으면 HOST_NOT_FOUND return 됩니다.

HostName Server는 매 요청마다 HostName Resolution을 할 경우 부하가 있기 때문에 제한된 시간 동안 캐시 합니다.

 

다음으로 HP-UX에서 HostName Resolution 우선순위 및 순서 변경 방법에 대해 알아보겠습니다.

HP-UX 서버에서는 일반적으로 아래와 같은 순서에 따라 Name resolution과정을 수행합니다.

먼저 /etc/nsswitch.conf 파일에 설정된 순서에 의해 수행되고, 이 파일이 없을 경우/etc/nsswitch.hp_default 파일의 설정이 default 입니다.

Name resolution 순서는 /etc/nsswitch.conf 파일에 설정을 통해 적용할 수 있습니다.

참고로 /etc/nsswitch.conf 파일이 없을 경우 /etc/nsswitch.* 이름으로 존재하는 예제 파일을 복사해 /etc/nsswitch.conf 파일을 생성합니다. Name resolution 순서를 변경 한 후 swagentd 데몬을 재시작 시킵니다.

 

세번째로 Solaris에서 HostName Resolution 우선순위 및 순서 변경 방법에 대해 알아보겠습니다.

Solaris 서버는 /etc/nsswitch.conf 순서에 따라 Name resolution과정을 수행 합니다.

설치 시 선택한 설정에 따라 NIS+, NIS, local files(/etc/hosts) LDAP을 사용 합니다.

Name resolution 순서는 /etc/nsswitch.conf 설정을 통해 변경 할 수 있습니다.

일반적으로 /etc/resolv.conf /etc/nsswitch.conf 파일의 수정내용에 대해서는 named 데몬을 재시작 하지 않아도 적용되지만 필요시 아래 명령어를 통해 named 데몬을 재시작 할 수 있습니다.

inet 서비스 재기동 필요 시 아래와 같이 명령어를 수행합니다.

Inet 서비스 중지가 필요할 경우 inetsvc stop 으로 다운합니다.

Inet 서비스 시작이 필요할 경우 inetsvc start 으로 기동합니다.

 

마지막으로 Linux에서 HostName Resolution 우선순위 및 순서 변경 방법에 대해 알아보겠습니다.

Linux 서버에 따라 /etc/host.conf /etc/nsswitch.conf 파일의 설정에 따라 결정 됩니다.

Name resolution 순서는 구 버전의 linux의경우 /etc/host.conf 를 수정합니다.

/etc/hosts를 먼저 찾고, DNS를 백업으로 사용할 경우 아래와 같이 환경파일을 수정합니다.

Version 2 of the GNU standard library를 사용하는 linux의 경우 위의 HP, Solaris 와 같이 /etc/nsswitch.conf 에서 설정 할 수 있습니다.

마찬가지로 /etc/hosts를 먼저 찾고, DNS를 백업으로 사용할 경우 아래와 같이 환경파일을 수정합니다.

설정 후 아래와 같이 inet 서비스 재기동이 필요합니다.

named stop는 Inet 서비스 중지방법입니다.

named start는 Inet 서비스 시작방법입니다.

named restart는 Inet 서비스 재시작방법입니다.

 

결론입니다.

자주 찾는 host가 메모리에 올라와 있으면 최고의 성능을 발휘할 수 있습니다.
네트워크나 호스트의 구성에 따라서는, DNS 와 더불어 /etc/hosts 파일을 동시에 사용하기도 합니다.
일반적으로 Local System의 /etc/hosts 파일을 사용하면 host name을 local 에서 찾기 때문에, 성능에 좋은 영향을 줍니다.
하지만 DNS 와 /etc/hosts 파일간의 내용을 동일하게 유지하는 것은 시스템관리자에게 너무나 큰 부담을 주어 거의 불가능하다고 볼수 있습니다.
그래서 /etc/hosts 파일을 먼저 참조한 후, DNS를 통하여 resolve 를 시도하도록 변경할 필요가 있습니다.
따라서 DNS 를 사용하기 전에 /etc/hosts 파일을 먼저 참조하게 되어 네트워크에 부담을 덜어주고 성능향상을 가져올 수 있습니다.

name resolution은 때때로 성능 저하를 유발하는 요소로서 적용되거나, 사이트를 악용하고자 하는 용도로도 사용될 수 있습니다.

이를 유념하여 올바른 Name resolution을 반영해야 할 것입니다.

맙습니다.

728x90
반응형

'⑥ 네트워크, 운영체제 > ⓞ OS' 카테고리의 다른 글

[CPU 과점유] SunOS 편  (0) 2018.07.19
[CPU 과점유] LINUX 편  (0) 2018.07.19
[ETC] OS별 TCP Trace Dump 기록 방법  (0) 2018.06.18
[ETC] RAID Level  (0) 2018.03.25
[ETC] OS Level - Thread 별 CPU 점유 정보  (0) 2018.03.25