-
fmDNS 란?
fmDNS는 DNS를 좀 더 관리하기 편하게 webUI를 이용하여 사용하는 오픈소스 툴 입니다.
-
fmDNS의 장점
버튼 클릭만으로 DNS SEC을 설정하거나 도메인&존파일 설정 등 webUI가 편하다 생각하시는 분들은 사용하시는걸 추천 드립니다. 그럴일은 많이 없겠지만 리눅스 환경이 낯설고 DNS를 잘 다뤄보지 못한 외부 인원 등이 DNS를 직접 사용해야할 경우에 fmDNS를 도입하는걸 추천 드립니다.
-
fmDNS의 단점
변경 사항을 적용하기까지 약 2~3분 가량 걸린다는 점과 비교적 복잡한 설치 과정 입니다.
또한 이미 CLI 환경에서 DNS를 다루어 보셨고 그것이 익숙하신분이라면 오히려 불편하실 겁니다. 익숙하신분들은 DNS 관리툴에서 얻을 수 있는 이점이 없기에 (오히려 관리 차원에서 단점이 더 커질 수 있습니다) 사용하지 마시고 정 궁금하기면 구축 정도만 해보는걸 추천 드립니다.
-
DNS 관리툴 fmDNS 설치 및 구축-1 (APM, bind 설치 및 셋팅)
fmDNS를 설치하기 위해서는 APM을 셋팅해야 하고, PHP의 버전은 5.5 이상으로 사용하셔야 합니다. 이번 포스팅에서는 APM 설치까지 포함하여 작성 하겠습니다.
참고로 php 5.5 버전의 경우 php55w 라는 패키지도 많이 설치 하시는걸로 보이는데, php55w으로 설치하면 재대로 연동이 되지 않아서 권한 에러가 발생하니 아래와 같이 설치 진행 해주세요
# apache. dns 설치
yum -y install bind httpd
# php 5.5 설치
yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum --enablerepo=remi-php55 -y install php php-process php-mysql
# mysql 설치
yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-community-server
# ServerName을 설정하여 httpd start 시 에러가 발생하지 않도록 아래 내용 설정
vi /etc/httpd/conf/httpd.conf
/ServerName
ServerName=localhost
# 서비스 시작/등록
systemctl start httpd
systemctl start mysqld
systemctl start named
systemctl enable httpd
systemctl enable mysqld
systemctl enable named
이후 아래와 같이 mysql 설정을 진행 합니다. 이후 fmDNS 설정할 때 다시 설명 하겠지만, 저의 경우 로컬 윈도우의 브라우저에서 fmDNS 설치를 마저 끝낼 예정이므로 외부에서 접속하기 위해 192.168.0.% 으로 열어 두었습니다.
아래를 참고하여 자신의 환경에 맞게 IP 접근 권한을 설정 해주세요.
cat /var/log/mysqld.log | grep 'temporary password'
mysql -u root -p
[초기 패스워드 입력]
# 대소문자,숫자,특수문자를 포함하여 8자 이상만 사용 가능
alter user 'root'@'localhost' identified by '사용할패스워드';
CREATE DATABASE dns;
CREATE USER 'dnsadmin'@'localhost' IDENTIFIED BY '사용할패스워드';
GRANT ALL PRIVILEGES ON dns.* TO 'dnsadmin'@'localhost';
CREATE USER 'dnsadmin'@'192.168.0.%' IDENTIFIED BY '사용할패스워드';
GRANT ALL PRIVILEGES ON dns.* TO 'dnsadmin'@'192.168.0.%';
flush privileges;
commit;
quit
참고로, 위에서의 초기 패스워드는 아래 이미지에 빨간 박스가 있는 부분 입니다.
-
DNS 관리툴 fmDNS 설치 및 구축-2 (fmDNS 설치)
이제 APM 셋팅은 완료 되었으니 fmDNS 설치를 진행 합니다. 2020년 04월 28일을 기준으로 아래 코드를 사용하여 다운로드할 수 있습니다.
cd /opt
wget http://www.facilemanager.com/download/facilemanager-complete-3.5.7.tar.gz
tar -zxvf facilemanager-complete-3.5.7.tar.gz
cp -r /opt/facileManager/server/ /var/www/html/dnsadmin
참고로 버전이 바뀔 경우 위대로 따라하면 wget이 안될 수 있습니다. fmDNS 홈페이지에 접속 후 아래 이미지와 같이 다운로드 부분에 마우스로 우클릭하여 "링크 주소 복사"를 클릭하여 링크 주소를 가져올 수 있으니 참고 해주세요.
fmDNS 다운로드 홈페이지 : http://www.facilemanager.com/download/
이후 아래와 같이 진행하여 conf 파일을 설치 합니다. 참고로 현재 yum 설치하면 기본 Apache 2.4 버전이 설치되므로 아래 코드는 참고해서 진행 해주시면 됩니다.
vim /etc/httpd/conf.d/dnsadmin.conf
Alias /dnsadmin /var/www/html/dnsadmin
<Directory /var/www/html/dnsadmin/>
Options FollowSymLinks
AllowOverride All
# For Apache = 2.3:
# Order allow,deny
# allow from all
# For Apache = 2.4
Require all granted
</Directory>
systemctl restart httpd
이제 브라우저를 실행시키고 (저같은 경우 로컬 윈도우) https://서버ip/dnsadmin 을 입력하면 아래와 같은 창이 나옵니다.
Database Host는 localhost로 되어 있을텐데 APM, bind, fmDNS를 설치한 리눅스의 IP를 적어주시고 아래의 ID/PW는 위에서 mysqld 설정 시 생성했던 mysql ID/PW를 적어주셔야 합니다.
그리고 Database Name은 위에서 생성했던 dns 가 될겁니다. 저와 같은 설정을 했다면 아래 코드블럭 위아래 순서대로 적으시면 됩니다.
192.168.0.10 (APM, bind, fmDNS 설치한 리눅스 IP)
dns
dnsadmin
mysql 계정 생성 시 입력한 패스워드
ID와 PW를 입력하면 아래와 같은 창이 나옵니다.
이상태로 그대로 두고, 잠시 리눅스로 돌아와 /var/www/html/dnsadmin/config.inc.php 을 vi 편집기로 열어서 위 이미지에 나왔던 내용들을 모두 붙여넣어줍니다. 저같은 경우 아래 코드들과 같이 될겁니다.
참고로 샘플 파일인 /var/www/html/dnsadmin/config.sample.inc.php 도 있으니 혼동하지 마시기 바랍니다.
vi /var/www/html/dnsadmin/config.inc.php
<?php
/**
* Contains configuration details for facileManager
*
* @package facileManager
*
*/
/** Database credentials */
$__FM_CONFIG['db']['host'] = '192.168.0.10';
$__FM_CONFIG['db']['user'] = 'dnsadmin';
$__FM_CONFIG['db']['pass'] = '~~~~~~~~';
$__FM_CONFIG['db']['name'] = 'dns';
require_once(ABSPATH . 'fm-modules/facileManager/functions.php');
?>
그럼 아래와 같이 체크표시가 되고 Continue를 눌러서 fmDNS에 브라우저로 접근할 때 사용할 계정 정보를 입력 해주면 됩니다.
참고로 Password Validity가 Strong이 되어야하기 때문에 복잡도를 생각하시고 패스워드를 입력해야 합니다. (아마, 패스워드 분실 시 이메일로 찾기 때문에 계속 사용하실 생각이시면 유효한 이메일을 작성 해주세요.)
이제 방금 생성한 계정을 입력하여 접속 합니다.
fmDNS를 사용할것이기 때문에 Activate를 클릭하여 활성화 해주세요.
fmDNS를 활성화하면 아래와 같이 우측 상단 부분이 생길텐데, fmDNS를 눌러주면 fmDNS 화면으로 이동 됩니다.
이로써 복잡하면 복잡하다고 할 수 있는 fmDNS 설치가 모두 끝낫습니다.
이후 사용은 webUI 답게 비교적 간단하여 클릭만으로 설정이 가능합니다. 간단한 설정 방법은 이후에 포스팅 하겠습니다.