맥(Mac) 운영체제에서 호스트 파일은, 특정 호스트 이름을 지정된 IP 주소와 연결하는 역할을 하는 작은 텍스트 문서입니다. 이 파일은 인터넷 연결에 있어서 중요한 역할을 담당합니다.
오늘날 인터넷은 공개 및 비공개 DNS 서버를 통해 IP 주소를 매핑하지만, 호스트 파일은 이러한 DNS 설정을 덮어쓸 수 있는 강력한 도구입니다. 이를 활용해 웹사이트 주소를 사용자가 원하는 특정 IP 주소로 수동으로 지정하거나, 아예 접근을 차단할 수 있습니다. 예를 들어, 특정 웹사이트를 내부 IP 주소로 지정하여 접근을 완전히 막을 수도 있습니다.
이제 macOS 환경에서 맥 호스트 파일을 편집하는 방법에 대해 자세히 알아보겠습니다.
텍스트 편집기를 활용한 맥 호스트 파일 수정 방법
맥 OS X에서는 호스트 파일을 편집하는 두 가지 주요 방법이 존재합니다.
첫 번째 방법은, 호스트 파일 자체가 일반 텍스트 문서이므로 ‘텍스트 편집기’ 프로그램을 사용하는 것입니다. 그러나, 이 파일은 시스템의 보호된 영역에 위치하므로 직접 열 수 없습니다. 따라서, 파일을 데스크탑과 같은 안전한 위치에 복사한 후 편집하고, 편집이 완료되면 다시 원래 위치로 옮겨야 합니다.
- 호스트 파일을 찾기 위해서는, 먼저 Finder를 실행해야 합니다. 파인더는 데스크탑을 클릭하거나, 화면 왼쪽 하단의 웃는 얼굴 아이콘을 클릭하거나, ‘cmd + 스페이스바 + Finder’ 키를 눌러 접근할 수 있습니다.
- Finder가 실행되면, ‘이동’ 드롭다운 메뉴를 선택합니다.
3. ‘이동’ 메뉴에서 ‘폴더로 이동’을 선택합니다.
4. 나타나는 상자에 “/private/etc/hosts”를 입력하고 ‘Return’ 키를 누릅니다.
5. 새로운 Finder 창이 열리고, 맥의 호스트 파일이 선택된 상태로 나타납니다. 이 파일을 클릭하여 Finder 창 밖으로 끌어 데스크탑에 놓습니다.
파일을 열려면 단순히 더블 클릭하면, ‘텍스트 편집기’ (혹은 사용자가 설정한 기본 텍스트 편집기)에서 파일 내용이 표시됩니다.
IP 주소를 이용한 웹사이트 차단
기본적으로 ‘/etc/hosts’ 파일은 비교적 단순한 구조를 가지고 있습니다. 이 파일에는 ‘#’ 기호로 시작하는 여러 줄의 설명 텍스트가 포함되어 있습니다. 이 ‘#’ 기호는 ‘주석’을 의미합니다.
‘#’ 기호로 시작하는 줄들은 주석 처리된 것으로 간주되어 ‘/etc/hosts’ 파일에서 무시됩니다. 따라서, ‘#’ 기호 뒤에 텍스트를 추가하여 파일에 메모나 설명을 남길 수 있습니다. 파일에는 ‘localhost’ 및 ‘broadcasthost’에 대한 기본 IP 값도 포함되어 있습니다. 파일을 편집하려면 ‘broadcasthost’ 줄 다음에 새로운 행을 추가합니다.
호스트 파일을 편집하는 주된 이유는, 새로 개발된 웹사이트를 테스트하거나 웹 호스팅을 이전하는 것 외에도 특정 웹사이트에 대한 접근을 막기 위함입니다.
예를 들어, 우리가 사용하는 컴퓨터를 업무용으로만 사용하고 싶다고 가정해 봅시다. 이때, 페이스북 때문에 작업에 방해받는 것을 원치 않을 수 있습니다.
이러한 경우, IP 주소를 입력하고 두 개의 탭을 누른 다음, 호스트 이름을 입력합니다. 페이스북 접근을 차단하려면, ‘www.facebook.com’을 ‘0.0.0.0’에 매핑합니다. ‘0.0.0.0’은 잘못된 IP 주소이므로 오류를 발생시킵니다.
이제 맥에서 ‘www.facebook.com’으로 접속하려 할 때마다 웹 브라우저가 해당 페이지를 로드하지 못하게 되어 업무에 집중할 수 있게 됩니다.
웹 주소 리디렉션
또 다른 방법으로는 ‘0.0.0.0’ 대신, 유효한 웹사이트의 IP 주소를 입력할 수 있습니다. 이렇게 하면, 페이스북에 접속하려던 사용자가 사용자가 지정한 웹사이트로 리디렉션됩니다.
- 웹사이트의 IP 주소를 확인하려면 macOS에 기본적으로 포함된 ‘dig’ 명령어를 사용할 수 있습니다. 터미널에서 ‘dig’ 명령어를 URL과 함께 실행하면, 해당 웹사이트의 IP 주소가 출력됩니다.
- 예를 들어, ‘dig www.techjunkie.com +short’를 입력하면 ‘104.25.27.105’와 같은 IP 주소를 얻을 수 있습니다.
참고: ‘+short’ 옵션은 필요한 정보인 IP 주소만 출력하도록 합니다.
3. 이렇게 얻은 IP 주소를 기록해두고, 맥 호스트 파일 매핑에 사용합니다. 예를 들어, 뉴욕타임스 웹사이트의 IP 주소가 ‘170.149.172.130’이라고 가정해 봅시다. 호스트 파일에서 페이스북을 이 IP 주소에 매핑하면, 맥을 사용하는 사용자가 페이스북에 접속하려 할 때마다 뉴욕타임스 웹사이트가 대신 로드되는 것을 확인할 수 있습니다.
참고: 대부분의 웹사이트는 도메인 이름을 현재 매핑된 IP 주소에 재매핑하는 것을 허용하지 않으므로, 이 방법을 시도할 경우 보안 오류가 발생할 수 있습니다.
4. 호스트 파일에 원하는 만큼 항목을 추가할 수 있습니다. 각 행에 새로운 매핑을 입력하면 됩니다. 호스트 파일을 원하는 대로 수정한 후, 데스크탑의 현재 위치에 저장합니다.
5. 다음으로, 데스크탑에 저장된 호스트 파일을 ‘/private/etc’ 디렉토리의 원래 위치로 드래그 앤 드롭합니다. Finder 창을 닫은 경우, ‘Finder > 이동 > 폴더로 이동’ 명령을 사용하여 다시 열 수 있습니다.
6. 호스트 파일을 원래 위치로 이동하면, macOS는 이미 존재하는 수정되지 않은 호스트 파일에 대해 어떻게 처리할지 묻습니다. ‘바꾸기’를 선택하고, 관리자 계정의 비밀번호를 입력하여 전송을 인증합니다.
수정된 호스트 파일이 준비되면, 웹 브라우저를 실행하여 변경 사항이 적용되었는지 확인합니다.
DNS 캐시 초기화
대부분의 경우, 새로운 매핑은 즉시 적용되어야 하지만, 만약 올바르게 동작하지 않는다면, DNS 캐시를 초기화하여 브라우저가 호스트 파일에서 변경된 매핑을 읽도록 해야 할 수 있습니다.
- 맥에서 DNS 캐시를 초기화하려면, 터미널을 열고 다음 명령어를 사용합니다. ‘sudo’는 컴퓨터의 관리자 권한으로 명령어를 실행할 수 있도록 해줍니다.
- 다음 명령어를 입력하고 ‘Return’ 키를 누릅니다: ‘sudo killall -HUP mDNSResponder’. 참고로, 이 명령어를 실행하려면 관리자 비밀번호를 입력해야 합니다.
- 맥이 DNS 캐시를 지우도록 하고, 캐시가 성공적으로 초기화되었는지 확인하려면, 두 개의 명령어를 세미콜론으로 구분하여 입력합니다.
그러면 맥이 스피커를 통해 “DNS 캐시가 초기화되었습니다.”라는 메시지를 출력합니다.
Nano 편집기를 이용한 터미널에서 맥 호스트 파일 수정 방법
앞서 설명한 방법이 간단하지만, 호스트 파일을 복사하는 과정이 번거롭게 느껴진다면, macOS에 내장된 UNIX ‘Nano’ 텍스트 편집기를 사용하여 터미널에서 직접 편집할 수 있습니다.
- 시작하려면, 터미널을 실행하고 다음 명령어를 입력한 후, ‘Return’ 키를 누릅니다. ‘sudo nano /private/etc/hosts’. 모든 sudo 명령어와 마찬가지로, 이 명령어를 실행하려면 관리자 비밀번호를 입력해야 합니다.
2. 그러면 호스트 파일이 ‘Nano’ 편집기 (또는 ‘vim’과 같은 다른 편집기)에서 열립니다. ‘Nano’에서 파일을 탐색하고 편집하려면, 키보드의 화살표 키를 사용합니다.
3. 앞서 텍스트 편집기를 사용했던 방법처럼, 호스트 이름 매핑을 자유롭게 추가, 수정 또는 삭제할 수 있습니다. ‘sudo’ 권한으로 ‘Nano’를 실행했으므로, 모든 변경 사항은 인증을 거쳐 홈 디렉토리 외부로 복사할 필요 없이 원본 호스트 파일에 직접 저장됩니다.
4. 변경이 완료되면, ‘Ctrl-X’ 키를 눌러 편집기를 종료하고, ‘Y’ 키를 눌러 변경 사항을 저장하고, ‘Return’ 키를 눌러 기존 호스트 파일을 덮어씁니다.
앞서 언급했듯이, 새로운 매핑이 제대로 작동하지 않는 경우, DNS 캐시를 초기화하십시오.
이 예에서는 작업 환경에서 방해되는 웹사이트를 차단하고 리디렉션하는 방법을 살펴보았지만, 이 방법을 사용하여 악의적인 웹사이트나 다른 목적을 위한 액세스를 수동으로 차단할 수도 있습니다.
만약 실수를 했거나, 수정 방법을 모르는 경우, 다음 기본 정보로 호스트 파일을 복원할 수 있습니다.
##
# 호스트 데이터베이스
#
# localhost는 루프백 인터페이스를 구성하는 데 사용됩니다.
# 시스템이 부팅될 때. 이 항목을 변경하지 마십시오.
##
127.0.0.1 로컬 호스트
255.255.255.255 브로드캐스트 호스트::1 로컬 호스트
fe80::1%lo0 로컬 호스트
마무리
macOS에서 호스트 파일을 편집하는 방법을 알면, DNS 서버 설정을 변경하고 웹사이트 주소를 사용자가 지정한 IP 주소로 매핑하거나 접근을 차단할 수 있습니다. 위에 설명된 단계를 따르면, 이러한 작업을 매우 빠르게 수행할 수 있습니다.
당신은 맥의 호스트 파일을 편집하는 이유가 무엇인가요? 어떤 결과를 얻었나요? 아래 댓글을 통해 공유해주세요!