[Linux] Master & SlaveLinux2022. 3. 10. 23:55
Table of Contents
728x90
✅ Master & Slave 개념
- Master와 Slave는 주, 보조 관계이며 DNS 서버를 이중화한다. (여러대의 slave를 사용할 수도 있다.)
- Slave 서버는 Master 서버로부터 생성된 dns 설정을 미러링하는 백업 서버의 역할을 한다.
- Master, Slave는 동기화 과정을 통해 zone 파일을 관리하는데 zone 파일의 SOA 필드에 있는 serial을 확인하여 이 파일이 업데이트 되었는지 판단한다. serial이 증가했을 경우 파일이 업데이트된 것으로 판단하고 동기화 과정을 통해 Slave 서버로 zone 파일이 전송된다.
- 동기화 과정을 zone transfer 라고 하는데 포트 TCP 53번이 여기서 사용된다. (일반 반복 쿼리 시 UDP 53번 사용)
- Master 서버가 죽으면 Slave 서버가 동작하는 것이 아니라 두 서버 모두 active-standby 구조이며 단지 용어일 뿐이다.
- Master/Slave 구조에서 Data가 동기화되는 것은 zone database만 가능하다. named.conf에서 변경되는 내역은 slave에 반영되지 않는다.
- Master 서버에서 도메인에 대한 설정 정보를 Slave 서버에게 전달할 때 서로에 대한 인증이 필요하며 IP주소를 사용하는 방법과 TSIG(Transaction Signatures)를 사용하는 방법이 있다.
master (root@dns) 설정
vi /etc/named.conf
[root@dns named]# vi test.example.com.zone
[root@dns named]# vi 10.0.2.0.zone
[root@dns named]# systemctl restart named
slave 설정
[root@localhost ~]# yum install bind bind-utils
[root@localhost ~]# hostnamectl set-hostname slave.test.example.com
[root@localhost ~]# nmcli con add con-name static9 ifname enp0s9 type ethernet ip4 192.168.56.170/24 gw4 192.168.56.1
연결 'static9' (132db69c-2a72-45fb-870f-436954d55e55)이 성공적으로 추가되었습니다.
[root@localhost ~]# nmcli con up static9
연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@localhost ~]# nmcli con add con-name static3 ifname enp0s3 type ethernet ip4 10.0.2.101/24 gw4 10.0.2.2
연결 'static3' (f4f604aa-1293-42e3-a672-af37363ab099)이 성공적으로 추가되었습니다.
[root@localhost ~]# nmcli con up static3
연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/9)
[root@slave ~]# vi /etc/named.conf
[root@slave ~]# cd /var/named/
[root@slave named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@slave named]# ls slaves/
[root@slave named]# firewall-cmd --add-service=dns --permanent
success
[root@slave named]# firewall-cmd --reload
success
[root@slave named]# systemctl start named
[root@slave named]# ls slaves/
10.0.2.0.zone test.example.com.zone
기존에는 /var/named/slaves 디렉토리에 파일이 존재하지 않았으나 /etc/named.conf 에 저장해 놓은 내용을 바탕으로 masters 로부터 파일을 읽어왔다.
client 설정 및 DNS 확인
[root@client ~]# nmcli con mod static3 +ipv4.dns 10.0.2.101
[root@client ~]# nmcli con up static3
연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search test.example.com
nameserver 10.0.2.10
nameserver 10.0.2.101
master 머신이 동작을 중지해도 slave 머신에 있는 정보로 dns 처리가 가능하다.
[root@client ~]# host www.test.example.com
www.test.example.com has address 10.0.2.20
[root@client ~]# host www.test.example.com 10.0.2.101
Using domain server:
Name: 10.0.2.101
Address: 10.0.2.101#53
Aliases:
www.test.example.com has address 10.0.2.20
[root@client ~]# host -t PTR 10.0.2.30
30.2.0.10.in-addr.arpa domain name pointer ftp.test.example.com.
[root@client ~]# host -t PTR 10.0.2.30 10.0.2.101
Using domain server:
Name: 10.0.2.101
Address: 10.0.2.101#53
Aliases:
30.2.0.10.in-addr.arpa domain name pointer ftp.test.example.com.
728x90
'Linux' 카테고리의 다른 글
[Linux] Apache (0) | 2022.03.11 |
---|---|
[Linux] traceroute 명령어 (0) | 2022.03.11 |
[Linux] DNS 동작 (0) | 2022.03.10 |
[Linux] 방화벽 (firewall) (0) | 2022.03.07 |
[Linux] SSH (Secure Shell) (0) | 2022.03.07 |
@TTOII :: 뭉게뭉게 클라우드
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!