4. /etc/hosts

Linux 시스템이 호스트 이름을 확인하기 위해 DNS 서버에 쿼리하기 전에, 먼저 로컬 머신에서 매핑을 확인합니다. 이 초기 확인은 이름 확인 프로세스의 기본 부분입니다.

/etc/hosts의 역할

이 로컬 조회를 위한 주요 파일은 /etc/hosts입니다. 이 간단한 텍스트 파일에는 호스트 이름과 IP 주소 간의 정적 매핑이 포함되어 있습니다. etc hosts 파일의 구조는 간단하며, 각 줄은 IP 주소, 정식 호스트 이름, 그리고 해당 호스트에 대한 선택적 별칭이라는 세 가지 필드로 구성됩니다.

다음은 일반적인 etc host linux 파일의 예입니다.

pete@icebox:~$ cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       icebox

거의 항상 기본적으로 localhost 주소가 매핑되어 있는 것을 볼 수 있습니다. 이 파일은 Debian hosts를 포함하여 대부분의 Linux 배포판에서 표준 기능입니다.

etc hosts linux 파일 편집

/etc/hosts 파일을 수동으로 편집하여 사용자 지정 매핑을 만들 수 있습니다. 재미있는 예제를 시도해 보겠습니다. 파일에 다음 줄을 추가합니다.

123.45.6.7  www.google.com

파일을 저장한 후 웹 브라우저에서 www.google.com으로 이동해 보세요. 작동하지 않는 것을 알게 될 것입니다. 이는 www.google.com을 잘못된 IP 주소에 매핑했기 때문입니다. 시스템이 로컬 /etc/hosts 파일을 먼저 확인하므로, 우리가 잘못 만든 매핑을 사용하고 올바른 주소를 찾기 위해 DNS 서버에 쿼리하는 단계로 넘어가지 않습니다. 이를 수정하려면 추가한 줄을 제거하기만 하면 됩니다.

이전 시스템에서는 접근 제어를 위해 /etc/hosts.deny/etc/hosts.allow를 사용했지만, 이 방법은 대부분 사용되지 않습니다. 최신 보안 관행은 강력한 보호를 위해 방화벽 규칙을 구성하는 데 의존합니다.

로컬 DNS 서버 구성

전통적으로 /etc/resolv.conf 파일은 조회를 위한 DNS 이름 서버를 지정하는 데 사용되었습니다. 그러나 시스템 관리의 발전으로 인해 이 파일은 수동으로 관리되지 않는 경우가 많습니다. 아래 예에서 볼 수 있듯이, 이 파일은 다른 서비스에 의해 자동으로 생성됩니다. DNS 이름 서버 매핑을 관리하려면 systemd-resolved 또는 resolvconf와 같은 도구가 현재 이를 처리하므로 특정 배포판의 설명서를 참조해야 합니다.

# 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 127.0.1.1
search localdomain

로그인하여 학습 진행 상황을 저장하세요

로그인

연습 문제

연습이 완벽을 만듭니다! 로컬 호스트 이름 확인 및 DNS 쿼리에 대한 이해를 강화하기 위한 실습 랩이 있습니다.

  1. Linux 에서 로컬 호스트 이름 확인 관리 - DNS 쿼리 전의 핵심 단계인 /etc/hosts 파일을 편집하여 로컬 호스트 이름 확인을 관리하는 연습을 합니다.
  2. dig 및 nslookup 을 사용하여 Linux 에서 DNS 레코드 쿼리 - dignslookup과 같은 필수 Linux 도구를 사용하여 DNS 레코드를 쿼리하는 방법을 배우고 머신이 외부 이름을 확인하는 방식을 이해합니다.

이러한 랩은 실제 시나리오에서 개념을 적용하고 호스트 이름 확인 및 DNS 에 대한 자신감을 구축하는 데 도움이 될 것입니다.

퀴즈

우리 머신에서 호스트 이름을 IP 주소에 매핑하는 데 사용되는 파일은 무엇입니까? (대소문자를 구분하여 영어로 답변해 주십시오).