메뉴 닫기

DNS 관리툴 fmDNS

DNS 관리툴 fmDNS 

리눅스 운영체제에서 자체 네임서버 구축이라고 하면 보통 bind 데몬을 설치하여 사용하시는데요, 해당 데몬의 경우 CLI 환경으로 DNS 설정을 하여 리눅스 환경이 낯선 분들은 설정 부분에 대해 어려움을 겪는 경우가 있습니다.

그래서 보다 쉽게 DNS 구성을 할수 있는 DNS Managment Tool인 fmDNS가 있어 소개해보려 합니다.

 

fmDNS 란 무엇일까요?

fmDNS는 DNS를 좀 더 관리하기 편하게 webUI를 이용하여 사용하는 오픈소스 툴 입니다.

 

잠깐! 여기에서 webUI란 무엇일까요? 

WebUI는 “Web User Interface”의 약어로, 웹 기반의 사용자 인터페이스 즉, 웹 애플리케이션이나 웹 사이트에서 사용자와 상호 작용하는데 사용되는 그래픽 사용자 인터페이스입니다.

WebUI는 사용자가 웹 브라우저를 통해 애플리케이션에 접속하고 조작할 수 있도록 하는 다양한 요소와 기능을 포함합니다.

 

fmDNS에 장단점에 대해 알아보겠습니다.

fmDNS의 장점으로는 리눅스 환경이 낯설고 타사 네임서버가 아닌 서버 자체 네임서버를 직접 구축하여 사용해야할 경우 버튼 클릭만으로 보다 쉽게 DNS SEC(DNS의 보안성을 강화하기 위해 사용되는 암호화와 인증 메커니즘을 제공)을 설정하거나 도메인&존파일 설정 등을 할 수 있습니다.

fmDNS의 단점으로는 변경 사항을 적용하기까지 약 2~3분의 시간이 걸린다는 점과 비교적 복잡한 설치 과정입니다.

또한 이미 CLI 환경에서 DNS를 다루어 보셨고 그것이 익숙하신분이라면 오히려 불편할 수 있습니다.
CLI 환경에 익숙하신분들은 DNS 관리툴로 얻을 수 있는 이점이 없기에 (오히려 관리 차원에서 단점이 더 커질 수 있습니다) 사용하지 않는것을 추천 드립니다.

 

DNS 관리툴 fmDNS 설치 및 구축을 진행해보겠습니다.

fmDNS를 설치하기 위해서는 APM을 셋팅해야 하고, PHP의 경우 연동이 잘되지 않아 권한 에러가 발생하므로 버전은 5.5 이상으로 설치하셔야 합니다.

필자는 CentOS 7환경에서 작업을 진행했으며, apche 2.4, php 5.6, mysql 5.7, bind 설치 진행하였습니다.

APM 및 bind 설치 과정은 간단하게 정리해드리겠습니다.

 

1) apache 2.4 , dns(bind) 설치

# yum -y install bind httpd

 

CentOS 7의 표준 yum repository에서는 기본으로 php 5.4, mariadb 5.6으로 설치되기 때문에 설치에 필요한 버전의 yum repository Package를 다운받아 설치했습니다.

2)  mysql 5.7

 – mysql yum repository Package 다운로드

# wget https://dev.mysql.com/get/mysql57communityreleaseel711.noarch.rpm

 

 – Package 설치

 # rpm ivh mysql57communityreleaseel711.noarch.rpm

 

 – mysql 설치

 # yum install mysqlserver

 ->  mysql 설치시 ‘Failing package is: mysql-community-server-5.7.371.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql’ 해당 오류가 발생시 아래 명령어를 실행 후 mysql 설치가 가능합니다.

# rpm —import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

 

3) php 5.6 설치

– php yum repository Package 다운로드

# rpm Uvh https://dl.fedoraproject.org/pub/epel/epelreleaselatest7.noarch.rpm

# rpm Uvh https://mirror.webtatic.com/yum/el7/webtaticrelease.rpm

 

 – php remi repo 설치 및 설정

# rpm Uvh http://rpms.famillecollet.com/enterprise/remirelease7.rpm

# vi /etc/yum.repos.d/remi.repo    –> 해당 파일 수정

 – php 설치

 # yum install php php-mysql php-mbstring php-pdo php-gd

 

APM, bind 가 설치가 완료되었다면 간단하게 httpd.conf 파일에서 Servername 변경 후 서비스 등록 및 실행합니다.

# vi /etc/httpd/conf/httpd.conf

ServerName = localhost –> 변경

 

– 서비스 등록 및 실행

# systemctl enable httpd
# systemctl enable mysqld
# systemctl enable named

# systemctl start httpd
# systemctl start mysqld
# systemctl start named

 

mysql 설정

mysql 설정을 필요한 부분만 간략하게 진행하겠습니다.

mysql 5.7의 경우 mysqld.log를 통해 초기 패스워드를 확인할 수 있습니다.

 

# cat /var/log/mysqld.log | grep ‘temporary password’

초기비밀번호로 mysql 로그인시 로그인 되는 것을 확인할 수 있습니다.

# mysql -u root -p

[초기 비밀번호]

 

* fmDNS 설정할 때 다시 설명드리겠지만, 외부에서 접속하기 위해 DNS 관리자 PC IP 로 설정 하는 것이 안전하며 해당 IP의 접근 권한도 설정해줘야 합니다.

 

– mysql root 계정의 비밀번호 변경

 > ALTER USER ‘root’ IDENTIFIED BY ‘변경할 비밀번호’;

 

– fmDNS에 필요한 database 생성

 > CREATE DATABASE 생성할 데이터베이스 명;  // 필자는 데이터 베이스명을 dns로 생성했습니다.

 

– fmDNS에 필요한 사용자 생성 및 권한 설정

> CREATE USER ‘사용자명’@’localhost’ IDENTIFIED BY ‘비밀번호’;

> CREATE USER ‘사용자명’@’접근하려는 IP’ IDENTIFIED BY ‘비밀번호’;

 

 필자는 dnsadmin으로 사용자를 생성했으며, 접근하려는 IP는 %로 생성했습니다.

> GRANT ALL PRIVILEGES ON [데이터베이스명].* TO ‘사용자명’@’localhost’;

> GRANT ALL PRIVILEGES ON [데이터베이스명].* TO ‘사용자명’@’%’;

 

– 설정 및 생성에 대한 적용

> flush privileges;

 

위에 내용은 기본적으로 APM을 설치해보셨거나 서버엔지니어라면 아주 쉽게 따라했을것이라 생각합니다.

 

이제 본격적으로 DNS 관리툴 fmDNS 설치 및 구축을 진행해보겠습니다.

 먼저 fmDNS 다운로드는 홈페이지를 통해 다운로드를 진행할수 있습니다.

 

홈페이지 URL : http://www.facilemanager.com/download/

fmDNS 다운로드

# cd /usr/local/src

# wget http://www.facilemanager.com/download/facilemanager-complete-4.5.0.tar.gz

# tar -zxvf facilemanager-complete-4.5.0.tar.gz 

# cp -r /usr/local/src/facileManager/server/ /var/www/html/dnsadmin

 

apache.conf 파일을 아래와 같이 설정합니다.

# vi /etc/httpd/conf.d/dnsadmin.conf

 

apache 데몬 재시작

 # systemctl restart httpd

 

웹 브라우저에서 http://서버IP/dnsadmin 을 입력하여 접속합니다.

Database Host : apm, bind, fmDNS를 설치한 서버 IP

Database Name : mysql에서 생성한 database 이름

Username : mysql에서 생성한 username

Password : mysql 에서 생성한 user의 비밀번호

위 값을 입력 후 Submit 버튼을 클릭합니다.

 

전 화면에서 입력한 값이 출력되는 것을 확인 할 수 있습니다. (필자의 보안상 문제로 IP와 비밀번호는 가렸습니다.)

해당 화면을 그대로 둔 뒤 다시 서버 콘솔 화면으로 돌아옵니다.

 

 /var/www/html/dnsadmin/config.sample.inc.php 해당 샘플 파일을 복사 후 위에 출력된 값으로 수정작업을 진행합니다.

# cp -arp  /var/www/html/dnsadmin/config.sample.inc.php / /var/www/html/dnsadmin/config.inc.php

# vi /var/www/html/dnsadmin/config.inc.php

 

해당 내용 수정 후 웹브라우져로 돌아와 Install 버튼을 클릭합니다.

 

위와 같이 체크표시가 뜨면 Continue 버튼을 클릭합니다.

입력할 내용은 fmDNS 브라우저로 접근할때 사용할 계정 정보를 입력해주면 됩니다.

Password Validity가 Strong 이 되어야 하기때문에 복잡한 암호를 설정하셔야하며, 복잡한 패스워드이기에 분실의 위험이 있으니 꼭 유효한 Email 주소로 입력하시는것이 좋습니다.

내용 입력 후 Submit 버튼을 클릭하면 설치 및 기본 설정이 완료됩니다.

 

fmDNS 설치 및 설정까지 완료했으니 접속을 진행해보겠습니다.

 

방금 생성한 계정을 입력하여 접속합니다.

 

접속하면 위에 화면이 뜨는데요, fmDNS를 사용하기 위해서는 꼭 fmDNS에서 Activate를 클릭하여 활성화 해줘야 사용이 가능합니다.

 

fmDNS를 활성화하면 상단 오른쪽에 facileManager 버튼이 생기며 해당 버튼을 클릭하면 fmDNS 버튼이 생겨 클릭하면 fmDNS 화면으로 이동할수 있습니다.

 

해당 화면에서 클릭만으로 DNS 설정을 진행할수 있습니다.

설치과정은 다소 복잡하고, 시간이 많이 소요되지만 설치 이후에는 보다 쉽게 DNS 설정을 진행할 수 있으니, CLI 환경에서 DNS 설정 및 관리가 어려우신 분들은 참고하여 설치 진행해보시는 것도 좋은 방법일 것 같습니다.

감사합니다.  

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x