도메인(domain)
: 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷주소
도메인 이름을 IP 주소로 변환할 때, 다음과 같은 과정을 거친다.
- 사용자가 도메인 이름을 입력
hosts
파일에서 해당 도메인 이름을 찾아 IP 주소 매핑이 있는지 확인- IP 주소를 찾지 못한 경우,
resolv.conf
파일에 설정된 DNS 서버로 쿼리를 보냄- DNS 서버에서 도메인의 IP 주소를 찾아 시스템에 반환
컴퓨터에서 도메인 이름과 IP 주소 간의 매핑을 정의하는 텍스트 파일이다. hosts
파일에 도메인과 IP를 임의로 지정하게 되면 DNS 서버보다 우선된다. hosts
파일은 /etc
에 있다.
[편집기] /etc/hosts
nano
나 vi
같은 편집기를 이용하여 아래와 같이 google.com
도메인을 추가해준다.ping google.com
명령어를 실행하면 google.com
도메인이 hosts파일에 등록한 IP 주소로 연결된 것을 확인할 수 있다.ping [도메인 또는 IP 주소]
: 네트워크 상태를 확인하는 명령어서버가 사용할 네임서버를 지정해둔 파일이다. 시스템이 DNS를 사용하여 도메인 이름을 IP 주소로 해석할 때 필요한 구성 정보를 제공한다. hosts 파일과 마찬가지로 /etc
에 있다.
resolv.conf
파일에는 다음과 같은 내용이 있다.
nameserver 8.8.8.8
nameserver 8.8.4.4
이 서버에서 사용할 네임서버를 지정해둔 것이다. 특정 도메인에 대한 IP 정보를 어떤 네임서버에서 찾을 것인가를 지정한 것이다.
따라서, 이 값에는 네임서버의 도메인을 입력해서는 안되며 사용할 네임서버의 IP 주소값이 설정되어 있어야 한다.
hosts
파일은 로컬시스템에서 도메인이나 IP 주소를 해석해주는 기능을 함hosts
파일에 인터넷 사이트의 도메인 주소를 단축시켜 단축시킨 이름으로 웹서핑이나 telnet, ftp등에서 사용할 수 있는 이점이 있음resolv.conf
파일에 네임서버 옵션으로 네임서버 주소를 지정해주면 수많은 도메인에 대해 쉽게 변환이 이루어지므로 클라이언트 환경에서 인터넷을 사용할 때 편리함참고
기본 도메인 이름의 하위 부분으로, 일반적으로 도메인의 왼쪽에 위치한 섹션이다. 도메인 이름은 일반적으로 subdomain.example.com
과 같은 형식을 가지는데 subdomain
이 서브 도메인에 해당한다.
서브 도메인을 통해 하나의 도메인 아래에서 다양한 웹 사이트 또는 서비스를 구축하고 관리할 수 있으며, 해당 서브 도메인을 가리키는 IP 주소는 메인 도메인의 IP 주소와 다를 수 있다.
서브 도메인을 적용시키기 위해서는 DNS 정보를 설정해줘야 한다. 도메인을 등록한 곳 또는 DNS 서비스 제공업체의 웹 인터페이스를 사용하여 DNS 레코드를 업데이트한다.
Apache의 설정 디렉토리에 새로운 가상 호스트를 추가한다
nano /etc/apache2/sites-available/subdomain.conf
subdomain.conf
파일 내용
<VirtualHost *:80>
ServerName subdomain.example.com
DocumentRoot /var/www/subdomain
</VirtualHost>
새로운 DoumentRoot에 해당하는 디렉토리를 생성하고 웹 콘텐츠를 추가한다
mkdir /var/www/subdomain
echo "Hello, Subdomain!" > /var/www/subdomain/index.html
sites-available
에서 sites-enabled
로 심볼릭 링크를 생성하여 새로운 가상 호스트를 활성화한다.
ln -s /etc/apache2/sites-available/subdomain.conf /etc/apache2/sites-enabled/
ln
: link, 리눅스 파일시스템에서 링크 파일을 만드는 명령어 ln -s [원본 디렉토리 경로] [링크 디렉토리 경로]
ln [원본 파일명] [대상 파일명]
sudo service apache2 restart
naver.com
을 입력하면, 쿼리가 인터넷으로 이동하고 DNS 재귀 확인자가 이를 수신한다..
)를 쿼리한다..com
)의 주소로 확인자에 응답한다.naver.com
)의 IP 주소로 응답한다naver.com
의 IP 주소가 네임 서버에서 확인자에게 반환된다캐싱이 없는 일반적인 DNS 조회에서는 이 네 가지 DNS 서버가 함께 작동하여 지정된 도메인의 IP 주소를 클라이언트에 전달한다.
.com
, .net
등)에 따라 재귀 확인자를 TLD DNS 서버에 보내 응답함.com
, .net
과 같은 도메인의 마지막 부분인 확장자를 공유하는 모든 도메인 이름의 정보를 유지함.com
으로 끝나는 모든 웹 사이트의 정보를 가지고 있음google.com
)를 포함💡 DNS 쿼리
클라이언트가 도메인 이름을 IP 주소로 또는 그 반대로 변환하기 위해 DNS 서버에게 보내는 요청
💡 DNS 캐시
이전에 수행된 DNS 쿼리의 결과를 일정 시간 동안 저장하는 메커니즘
dig +trace [도메인 이름]
명령을 사용하여 DNS 조회의 각 단계를 추적할 수 있다.