서론
VMware 워크스테이션 pro를 이용했다.
서버A는 AlmaLinux 10.0 GUI 그래픽모드 , 서버B는 Rocky 9.6 GUI 그래픽모드 , 서버C는 AlmaLinux 최소설치로 진행했다.
편의상 root 권한으로 진행했다.
서버A (웹서버) 서버B (DNS) 서버C (클라이언트) 로 정했다.
목표
웹서버 구축 : Apache(httpd)를 설치하여 기본적인 웹 서비스 환경을 구성
DNS 서버 구축 : BIND(named)를 이용하여 사설 도메인을 관리하는 네임 서버를 구축
서비스 연동 및 검증 : 클라이언트에서 IP 주소가 아닌 도메인 이름으로 웹 서버에 정상적으로 접속되는지 확인한다.
서버A 웹 서버 구축
1. 패키지 설치 및 서비스 가동
dnf -yq install httpd
systemctl --now enable httpd
2. 방화벽 설정 - 웹 서비스(80포트)에 대한 접근을 허용한다.
firewall-cmd --add-service=http
firewall-cmd --runtime-to-permanent
3. 웹 서버 작동 확인
curl 192.168.111.100
결과 : 긴 HTML 코드가 출력되면 정상.

4. 테스트용 웹 페이지 생성
cd /var/www/html/
echo "werlcome" > index.html
ls
# index.html 파일이 생성되었는지 확인
5. 변경된 페이지 확인
curl 192.168.111.132

서버B : DNS 서버 구축
1. 패키지 설치
dnf -y install bind bind-utils
2. 메인 설정 파일 수정
vi /etc/named.conf -> DNS 서비스가 외부 요청을 받을 수 있도록 설정한다.

options 블록을 위와 같이 수정한다. any,none,any

파일의 가장 아래쪽 마지막 줄에 위와 같이 도메인에 대한 영역 설정을 추가한다.
여기까지 추가하고 저장하고 나온다.
Zone 파일 생성
cd /var/named
cp -p named.empty 4gl.io.db
# -p 옵션은 파일 소유권(named:named)을 유지하기 위해 중요합니다.
Zone 파일 설정
vi 4gl.io.db
www IN A 192.168.111.132 -> vi 안에 들어가서 써야될 문장
파일의 가장 마지막 줄에 웹서버 (서버A)의 레코드를 추가한다.

추가설명 : 누군가 www.4gl.io를 를 찾으면 192.168.111.132로 안내하라는 의미이다.
서비스 시작 및 방화벽 설정
systemctl restart named
systemctl enable named
오류 발생 시 설정 파일 오타 확인 필요하다.
서버B에서 DNS 테스트
서버B가 자기 자신에게 DNS 질의를 하도록 설정하여 테스트
자기 자신을 네임서버로 지정한다.
echo "nameserver 192.168.111.133" > /etc/resolv.conf
nslookup www.4gl.io -> 테스트 수행

결과 : 서버B에서 응답하고 Address에 서버A 주소가 나오면 성공이다.
클라이언트(서버C) 에서 최종확인
클라이언트 서버에서 도메인 주소로 웹 서버에 접속되는지 확인해본다.
DNS 서버 지정
클라이언트가 우리가 만든 DNS 서버(서버B) 를 사용하도록 설정
vi /etc/resolv.conf
nameserver 192.168.111.133 -> 기존 nameserver 주소 위에 추가하거나 수정

접속 테스트
웹브라우저나 curl 명령어로 접속을 시도해본다.
curl www.4gl.io

최소 설치 모드에서는 그래픽 웹 브라우저가 없기때문에, 텍스트 기반의 웹 요청 도구인 curl 을 사용해서 확인했다.
웹서버(서버A)에서 만들어둔 index.html 파일의 내용이 그대로 출력된 것이다.
[Client] → [DNS 서버에게 IP 물어봄] → [192.168.111.132 알아냄] → [웹 서버에 접속] → [페이지 내용 받아옴]
위 순서로 모든 과정이 작동했다.
*** welcome 오타.. ***
** 궁금하신 부분 댓글 남겨주시면 아는 선에서 최대한 빠르게 답변 남겨드리겠습니다.
** 틀린 부분 있을시 댓글로 남겨주시면 더 공부하겠습니다.
'Linux' 카테고리의 다른 글
| Ansible 기초. Playbook을 이용한 NFS 서버/클라이언트 구축 실습_[Rocky Linux] (0) | 2025.11.22 |
|---|---|
| Ansible 기초. Ad-Hoc을 이용한 Nginx 웹 서버 구축_[Rocky Linux] (0) | 2025.11.19 |
| Apache 웹 서버 소스 코드 설치_[Rocky Linux] (0) | 2025.11.12 |
| SSH 보안 강화: 포트 변경 및 키 설정_[Rocky Linux] (0) | 2025.11.08 |
| 텔넷(telnet)접속_[Rocky Linux] (0) | 2025.11.08 |