DNS Settings (django 3tier app host locally)
Master/Slave DNS 서버 구조에서 Master 서버 구성 작업
# bind 구성 파일 편집
vi /etc/named.conf
# acl AllowRecursion 함수 추가
acl AllowRecursion {
127.0.0.1;
192.168.1.0/24;
};
options {
# listen-on port 53, allow-query를 localhost > any로 변경
listen-on port 53 { any; };
allow-query { any; };
# allow-recursion { AllowRecursion; }; 추가
allow-recursion { AllowRecursion; };
};
# named.rfc1912.zones 파일 편집, 맨 아래에 내용 추가
vi /etc/named.rfc1912.zones
zone "promet.com" IN {
type master;
file "promet.zone";
allow-transfer { 10.1.5.40; }; # allow-transfer 주소 > slave IP address
also-notify { 10.1.5.40; }; # also-notify 추가 > slave IP address
};
zone "5.1.10.in-addr.arpa" IN {
type master;
file "promet.rev";
allow-transfer { 10.1.5.40; }; # allow-transfer 주소 > slave IP address
also-notify { 10.1.5.40; }; # also-notify 추가 > slave IP address
};
# var/named/named.localhost 내용 이름 변경하여 복사 > 정방향, 역방향 파일 생성
cp named.localhost kgitbank.zone
cp named.localhost kgitbank.rev
# Master DNS 정방향 파일
vi ./promet.zone
$TTL 1D
@ IN SOA ns1.promet.com. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.promet.com.
ns1 IN A 10.1.5.50 # VRRP 주소 사용
www IN A 10.1.5.50
promet.com. IN A 10.1.5.50
# Master DNS 역방향 파일
vi ./promet.rev
$TTL 1D
@ IN SOA ns1.promet.com. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.promet.com.
50 IN PTR ns1.promet.com.
50 IN PTR www.promet.com.
# 소유권 설정
# promet의 GID 소유권을 named로 변경
chown .named ./promet.*
ls -l
-rw-r----- 1 root named 211 2월 23 13:23 promet.rev
-rw-r----- 1 root named 231 2월 23 11:46 promet.zone
# 방화벽 설정 > dns 서비스 추가
firewall-cmd --permanent --add-service=dns
success
firewall-cmd --reload
success
Master/Slave DNS 서버 구조에서 Slave 서버 구성 작업
vi /etc/named.conf
# option부분의 */ (주석) 모두 제거, 내용 수정
options {
listen-on port 53 { any; }; # listen-on port 53, allow-query를 localhost > any로 변경
allow-query { any; };
};
# named.rfc1912.zones 파일 편집, 맨 아래에 내용 추가
vi /etc/named.rfc1912.zones
# zone 주소 > promet.com
zone "promet.com" IN {
type slave;
file "slaves/promet.zone.slave";
notify yes;
masterfile-format text;
masters { 10.1.5.30; }; # masters 주소 > master IP address
};
zone "5.1.10.in-addr.arpa" IN {
type slave;
file "slaves/promet.rev.slave";
notify yes;
masterfile-format text;
masters { 10.1.5.30; };
};
# /var/named/slaves/ 내용 확인 시 promet.(rev,zone)의 slave 출력
ls -l /var/named/slaves/
합계 8
-rw-r--r-- 1 named named 432 2월 23 14:53 kgitbank.rev.slave
-rw-r--r-- 1 named named 404 2월 23 14:53 kgitbank.zone.slave
# master 영역의 파일 내용이 수정되면 slave 파일 확인 시 수정 상태로 출력
# Slave 정방향 파일
vi promet.zone.slave
$ORIGIN .
$TTL 86400 ; 1 day
promet.com IN SOA ns1.promet.com. root.promet.com. (
0 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns1.promet.com.
A 10.1.5.50
$ORIGIN promet.com.
ns1 A 10.1.5.50
www A 10.1.5.50
# Slave 약방향 파일
vi promet.rev.slave
$ORIGIN .
$TTL 86400 ; 1 day
5.1.10.in-addr.arpa IN SOA ns1.promet.com. root.5.1.10.in-addr.arpa. (
0 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns1.promet.com.
$ORIGIN 5.1.10.in-addr.arpa.
50 PTR ns1.promet.com.
PTR www.promet.com.