리눅스(Rocky Linux)로 DNS서버 만들기
DNS란? 인터넷의 주소를 관리하는 핵심 기술
인터넷을 사용할 때 우리는 www.google.com과 같은 도메인 주소를 입력합니다. 하지만 실제로 컴퓨터는 숫자로 이루어진 IP 주소(142.250.190.78 같은 형식)를 사용해 통신합니다.
바로 이 도메인과 IP 주소를 연결해 주는 것이 **DNS(Domain Name System, 도메인 네임 시스템)**입니다. DNS는 인터넷에서 도메인 이름을 입력하면, 해당 도메인에 대한 올바른 IP 주소를 찾아주는 역할을 합니다.
1. DNS의 역할
DNS는 사용자가 입력한 도메인 주소를 IP 주소로 변환하는 기능을 합니다. 이를 통해 우리는 복잡한 숫자의 IP 주소를 외우지 않고도 쉽게 웹사이트에 접속할 수 있습니다.
📌 예시:
- 사용자가 **www.naver.com**을 입력하면,
- DNS가 **223.130.195.95**라는 IP 주소를 찾아 연결합니다.
만약 DNS가 없다면, 우리는 142.250.190.78과 같은 숫자 IP 주소를 직접 입력해야 하므로 매우 불편할 것입니다.
2. DNS의 작동 원리
DNS는 여러 개의 서버를 거쳐 도메인 이름을 IP 주소로 변환합니다. 다음은 DNS가 동작하는 기본 과정입니다.
🔍 DNS 조회 과정 (www.example.com 접속 예시)
- 로컬 캐시 확인: 내 컴퓨터(또는 라우터)가 최근 방문한 도메인을 기억하고 있는지 확인
- ISP(인터넷 제공업체) DNS 서버 문의: ISP에서 제공하는 DNS 서버가 캐시에 저장된 IP 정보를 확인
- 루트 네임서버(ROOT DNS) 조회: com 같은 최상위 도메인을 담당하는 네임서버에 문의
- TLD 네임서버 조회: example.com을 관리하는 네임서버 확인
- 권한 네임서버에서 최종 IP 반환: www.example.com에 대한 IP 주소를 찾아 사용자에게 제공
- 웹사이트 연결: 최종적으로 브라우저가 해당 IP 주소로 접속하여 웹사이트를 로딩
📌 이렇게 단계적으로 IP를 찾기 때문에, 새로운 사이트에 처음 접속할 때는 시간이 조금 더 걸릴 수 있습니다.
이제 어제 만들어둔 FTP서버와 간단한 웹서버를 만들어서 DNS를 이용하여 접속하는 걸 목표로 공부합니다
일단 DNS서버 설치 전에 간단한 웹서버를 준비하고 DNS를 만들어본다
바로 HTTP를 설치해주고 간단한 웹서버를 만든다
여기로 들어가서
이정도로 간단한 웹서버를 만들고 방화벽 http tcp 80번을 포트를 열어준다
이제 방화벽을 열어줬으니 시스템 실행
접속되는 거 vmware workstation에서 확인
이제 웹서버가 준비되었으니 DNS서버를 설치를 한다
설치할 때 bind, bind-utils, bind-libs 3개를 설치해 준다
설치가 완료되면 하나하나 설정해 본다
첫 번째로
빨간 부분은 any로 바꿔준다
listen-on port 53 { any; };
✅ 설명
- BIND DNS 서버가 포트 53에서 모든 네트워크 인터페이스(any)에서 요청을 수락하도록 설정합니다.
- 즉, 이 서버가 모든 IP(0.0.0.0 포함)에서 들어오는 DNS 요청을 들을 준비를 한다는 의미입니다.
allow-query { any; };
✅ 설명
- 모든 클라이언트(any)가 이 DNS 서버에 대해 쿼리를 보낼 수 있도록 허용합니다.
- 즉, 누구나 이 DNS 서버에서 도메인 정보를 조회할 수 있음.
두 번째 설정은
vi에서 23~27번째 줄을 마지막줄에 복사하여
로컬호스트 이름은 DHCP이름과 같게 해야 여러모로 안전하다
파일이름은 편하게 1로 설정하고
역방향조회는 하지 않으므로 allow_update부분은 none으로 둔다
1 파일은 /var/named/named.localhost로 복사하여 사용한다
1 파일로 들어가서 설정해 본다
우리가 설정해야 하는 부분은 3 부분인데 첫 번째 @는 호스트 이름이고 옆에는 이메일
아래는 네임서버를 정의하는 곳으로 쉽게 말해 dns를 쓰면 어떻게 어디로 들어가는지 설정하는 것이다
여기서 중요한 건 글로 끝나는 건 뒤에 무조건. 이 붙어야 한다
설정한 후의 모습이다
이제 설정을 다 했으니 파일에 권한을 주고 방화벽에서 포트만 열어주면 설정은 끝이다
permanent를 사용하면 무조건 reload를 꼭 하도록 하자
이제 설정을 다 했으니 서버를 시작하고 확인을 해보도록 하자
모두 잘 연결된 것을 확인할 수 있다
DNS 서버 만들기 기초를 공부해 봤다