Linux 에서 로컬 호스트 이름 확인 관리하기

CompTIABeginner
지금 연습하기

소개

이 실습에서는 /etc/hosts 파일을 직접 편집하여 Linux 에서 로컬 호스트 이름 확인을 관리하는 필수 기술을 배우게 됩니다. 이 파일은 로컬 머신에서 호스트 이름을 IP 주소에 수동으로 매핑할 수 있게 해주며, 이는 웹 개발, 네트워크 테스트 및 시스템 관리에 중요한 기술입니다. 이러한 매핑을 제어함으로써 공개 DNS 서버를 재정의하고 특정 도메인의 트래픽을 로컬 또는 사용자 지정 IP 주소로 지시할 수 있습니다.

완전하고 실용적인 워크플로우를 안내해 드립니다. 먼저, cat 명령을 사용하여 /etc/hosts 파일의 기본 내용을 검사하여 구조를 이해합니다. 그런 다음, nano 편집기를 사용하여 사용자 지정 호스트 항목을 추가합니다. 구성을 확인하기 위해 ping 명령으로 새 호스트 이름을 테스트합니다. 마지막으로 추가한 항목을 제거하여 파일을 원래 상태로 복원하고 실습을 완료합니다.

cat 명령어로 기본 /etc/hosts 파일 검사하기

이 단계에서는 /etc/hosts 파일의 내용을 보는 방법을 배우게 됩니다. 이 파일은 운영 체제가 호스트 이름을 IP 주소에 매핑하는 데 사용하는 간단한 텍스트 파일입니다. 컴퓨터가 인터넷의 DNS 서버에 도메인 이름을 확인하도록 요청하기 전에, 먼저 이 로컬 파일을 확인합니다. 이 파일의 구조를 이해하는 것은 Linux 에서의 기본적인 네트워킹 기술입니다.

파일을 읽고 내용을 터미널에 출력하는 표준 유틸리티인 cat 명령을 사용하겠습니다.

터미널을 열고 다음 명령을 실행하여 /etc/hosts 파일의 내용을 표시하십시오.

cat /etc/hosts

예시 출력:

아래와 유사한 출력을 보게 될 것입니다. 정확한 내용은 약간 다를 수 있지만, 형식은 동일합니다.

127.0.0.1       localhost

## The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost   ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1       Aliyun

192.168.2.67    iZbp1gakoh36s0s067d3ebZ iZbp1gakoh36s0s067d3ebZ

172.20.239.123  ubunut-base-image       ubunut-base-image

172.28.138.90   iZj6c8bsoq3dpsob2zhgheZ iZj6c8bsoq3dpsob2zhgheZ

이 출력 내용을 살펴보겠습니다.

  • 127.0.0.1 localhost: 이것이 가장 일반적인 항목입니다. IP 주소 127.0.0.1(루프백 주소라고도 함) 을 호스트 이름 localhost에 매핑합니다. 이는 많은 로컬 서비스가 올바르게 작동하는 데 중요합니다.
  • #으로 시작하는 줄: 이것은 주석입니다. 시스템은 이를 무시하지만, 설명을 제공하는 데 유용합니다.
  • IPv6 항목: ::1 ip6-localhost와 같은 줄은 루프백 및 기타 표준 네트워크 구성에 대한 IPv6 에 해당하는 항목입니다.

이제 hosts 파일의 기본 구조를 확인했으므로, 다음 단계에서 이를 수정하는 방법을 배울 준비가 되었습니다.

nano 편집기로 사용자 지정 호스트 항목 추가하기

이 단계에서는 /etc/hosts 파일에 새 항목을 수동으로 추가합니다. 이는 도메인을 로컬 서버로 가리켜야 하는 개발자나 내부 네트워크를 설정하는 시스템 관리자에게 실용적인 기술입니다. /etc/hosts는 시스템 보호 파일이므로, 이를 수정할 수 있는 필요한 권한을 얻으려면 sudo를 사용해야 합니다.

LabEx 환경에 사전 설치된 간단하고 사용자 친화적인 명령줄 텍스트 편집기인 nano를 사용하겠습니다.

다음 명령을 실행하여 nano/etc/hosts를 엽니다.

sudo nano /etc/hosts

이제 터미널에 nano 편집기 내의 파일 내용이 표시됩니다. 화살표 키를 사용하여 커서를 파일 끝으로 이동하십시오. 다음 새 줄을 추가합니다.

192.168.1.100   myfictionalserver.local

이 줄은 시스템이 myfictionalserver.local 호스트 이름을 볼 때마다 IP 주소 192.168.1.100으로 확인해야 함을 시스템에 알려줍니다.

이제 변경 사항을 저장하고 편집기를 종료해야 합니다. 다음 키 입력을 따르십시오.

  1. 파일을 저장하려면 Ctrl+O ("Write Out" 명령) 를 누릅니다.
  2. nano가 "File Name to Write"를 묻습니다. 기본값은 /etc/hosts이며 올바르므로, 확인하려면 Enter를 누르기만 하면 됩니다.
  3. nano를 종료하고 터미널 프롬프트로 돌아가려면 Ctrl+X를 누릅니다.

이제 hosts 파일을 성공적으로 수정했습니다. 다음 단계에서는 이 새 항목이 예상대로 작동하는지 확인하기 위해 테스트할 것입니다.

ping 명령어로 사용자 지정 호스트 이름 테스트하기

이 단계에서는 /etc/hosts에 추가한 사용자 지정 항목이 올바르게 작동하는지 확인할 것입니다. 이를 수행하는 가장 좋은 방법은 ping 명령을 사용하는 것입니다. ping은 IP 네트워크에서 호스트의 도달 가능성을 테스트하는 데 사용되는 네트워크 유틸리티입니다. 또한 메시지가 소스 호스트에서 대상 컴퓨터로 전송되고 다시 돌아오는 데 걸리는 시간을 측정합니다.

호스트 이름을 ping하면 시스템은 먼저 해당 이름을 IP 주소로 확인하려고 시도합니다. /etc/hostsmyfictionalserver.local에 대한 항목을 추가했으므로, 시스템은 해당 항목을 거기서 찾아 IP 주소 192.168.1.100을 사용해야 합니다.

테스트해 봅시다. 터미널에서 다음 명령을 실행합니다. 테스트에 편리하도록 4 개의 패킷만 보내고 중지하는 -c 4 플래그를 사용합니다.

ping -c 4 myfictionalserver.local

예시 출력:

호스트에 도달할 수 없더라도 이름 확인을 확인하는 출력을 보게 될 것입니다.

PING myfictionalserver.local (192.168.1.100) 56(84) bytes of data.
^C
--- myfictionalserver.local ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3053ms

가장 중요한 부분은 첫 번째 줄인 PING myfictionalserver.local (192.168.1.100)입니다. 이는 시스템이 /etc/hosts 파일 항목을 사용하여 호스트 이름 myfictionalserver.local을 IP 주소 192.168.1.100으로 성공적으로 확인했음을 확인합니다.

명령은 중지될 때까지 계속 실행됩니다 (예: Ctrl+C를 눌러). 네트워크에 192.168.1.100에 실제 장치가 없기 때문에 수신되는 패킷이 없습니다. 그러나 프로세스의 이름 확인 부분은 성공했으며, 이것이 우리가 보여주고자 했던 것입니다.

이제 사용자 지정 hosts 파일 항목이 활성화되었음을 확인했습니다. 마지막 단계에서는 이 항목을 제거하여 정리하는 방법을 배웁니다.

사용자 지정 호스트 항목 제거하여 초기 상태 복원하기

이 마지막 단계에서는 /etc/hosts 파일에 적용한 변경 사항을 정리합니다. 특히 공유 또는 프로덕션 환경에서는 나중에 예상치 못한 동작을 방지하기 위해 임시 변경 사항을 되돌리는 것이 중요합니다. 파일을 원래 상태로 복원하면 시스템의 이름 확인이 다른 모든 네트워크 작업에 대해 예상대로 작동하도록 보장합니다.

이전과 마찬가지로 nano로 파일을 편집하려면 sudo 권한이 필요합니다.

편집기에서 /etc/hosts 파일을 다시 엽니다.

sudo nano /etc/hosts

화살표 키를 사용하여 2 단계에서 추가한 줄로 이동합니다.

192.168.1.100   myfictionalserver.local

커서가 해당 줄에 있으면 삭제할 수 있습니다. nano에서 전체 줄을 삭제하는 빠른 방법은 Ctrl+K를 누르는 것입니다.

줄을 삭제한 후 파일을 저장하고 편집기를 종료합니다.

  1. 변경 사항을 저장하려면 Ctrl+O를 누른 다음 Enter를 누릅니다.
  2. nano를 종료하려면 Ctrl+X를 누릅니다.

항목이 제거되었고 시스템이 더 이상 호스트 이름을 로컬로 확인할 수 없음을 확인하려면 마지막으로 한 번 더 ping을 시도합니다.

ping myfictionalserver.local

예시 출력:

이번에는 시스템이 이름을 확인할 방법이 없으므로 명령이 오류 메시지와 함께 즉시 실패해야 합니다.

ping: myfictionalserver.local: Name or service not known

이는 사용자 지정 항목을 성공적으로 제거하고 hosts 파일을 깨끗한 상태로 복원했음을 확인합니다.

요약

이 실습에서는 /etc/hosts 파일을 조작하여 Linux 에서 로컬 호스트 이름 확인을 관리하는 방법을 배웠습니다. DNS 쿼리가 수행되기 전에 IP 주소를 호스트 이름에 매핑하는 파일의 역할을 이해하면서 cat 명령을 사용하여 이 파일의 기본 내용과 구조를 검사하는 것으로 시작했습니다. 127.0.0.1 localhost와 같은 표준 항목이 형식화되는 방식과 문서화를 위한 주석 사용법을 보았습니다.

검사 후에는 nano 텍스트 편집기를 사용하여 로컬 개발 또는 네트워크 테스트에 일반적인 작업인 사용자 지정 호스트 항목을 추가하는 실질적인 기술을 습득했습니다. 변경 사항이 효과적이었는지 확인하기 위해 ping 명령을 사용하여 새 사용자 지정 호스트 이름을 테스트하고 시스템이 지정한 IP 주소로 확인되었는지 확인했습니다. 마지막으로 사용자 지정 항목을 제거하여 시스템을 원래 상태로 복원함으로써 실습을 완료했으며, 로컬 호스트 항목 관리의 전체 수명 주기를 보여주었습니다.