리눅스 도메인(DNS)설정 방법
가능하면 자주해주자
systemctl restart network
1. bind설치
yum -y install bind
2. 포트 열기
firewall-cmd --permanent --add-port=53/tcp // 53번 포트 tcp로 추가
firewall-cmd --permanent --add-port=53/udp // 53번 포트 udp로 추가
firewall-cmd --permanent --add-service=dns // dns서비스 추가
firewall-cmd --reload
setenforce 0
3. named.conf파일 수정
vi /etc/named.conf
- 변경
4. rfc1912.zones 수정
vi /etc/named.rfc1912.zones
-최하단에 내용을 추가한다.(최하단 바로가기 shift+g)
정방향 설정
// 추가하고싶은 도메인 이름
zone "test.com" IN {
// master(주서버), slave(보조서버), 캐시서버 가 있다.
type master;
// /var/named 에 생성할 파일 이름 꼭 /var/named에 생성해야한다.
file "test.com.zone";
// 업데이트 허가 요청
allow-update { none; };
// 파일 변경 허가 요청
allow-transfer { none; };
};
역방향 설정
// 본이 IP를거꾸로 넣는다.(예 111.222.333.444 > 444.333.222.111) 마지막 자리는 생략한다.
zone "333.222.111.in-addr.arpa" IN {
type master;
// /var/named 에 생성할 파일 이름 꼭 /var/named에 생성해야한다.
file "ipname.zone";
allow-update { none; };
allow-transfer { none; };
};
- 수정 내용 이상 확인
named-checkconf /etc/named.conf
- 정상일경우
구조
DNS설정시 /etc/named에 있는 파일이 이상있는지 확인해주는 명령어
named-checkconf /검사할파일 경로/검사할 파일
5. zone파일 생성
경로 이동
# cd /var/named
zone파일 생성(/etc/named.rfc1912.zones)경로에서 만든 file이름과 동일하게 생성
named.localhost, named.loopback를 복사하여 vincoding.ml.zone, ipname.zone를 만든다.
정방향 파일
# cp named.localhost test.ga.zone
역방향 파일
# cp named.loopback ipname.zone
- zone파일 수정(test.ga.zone)
# vi test.ga.zone
- 수정할 내용
$TTL 1D
// 사용할 IP. 꼭 아이피 뒤에 .을 넣어야한다.
@ IN SOA test.com. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www.test.com.
IN A 111.222.333.444
www IN A 111.222.333.444
- zone파일 수정(ipname.zone)
# vi ipname.zone
- 수정할 내용
$TTL 1D
// 사용할 도메인 주소
@ IN SOA test.com. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www.test.com.
444 IN PTR test.com.
444 IN PTR www.test.com.
※ 444는 사용할 IP의 마지막 자리이다.(IP예 : 111.222.333.444)
설명
- TTL (Time To Live) : 데이터가 유지될 수 있는 시간(1일)
- 첫째줄 @ , study.com. : 이 도메인을 기본 도메인으로 사용하겠다는 선언
- IN : 인터넷
- SOA (Start Of Authority) : 인증 시작
- root : 관리자 메일주소
- serial : 데이터 버전 수정 횟수
- refresh : 2차 nameserver가 1차 nameserver 재조회하는 시간 (새로고침)
- retry : refresh가 안될 경우 다시 재조회하는 시간 (재시도)
- expire : retry나 1차 nameserver에 데이터가 수정 및 삭제 되었을 경우 해당 정보 삭제하는 시간 (만료기간)
- minimum : 최소 유지 기간
- NS : nameserver
- A : 호스트 레코드(도메인을 IP로 연결, 쉽게 IP주소를 말함)
- AAAA : IPv6용
- PTR : A의 역방향 레코드(A레코드 하나당 똑같이 하나씩 존재해야함)
6. zone파일 소유 권한 변경 및 파일검사
# chown root:named test.com.zone
# chown root:named ipname.zone
- 수정 내용 정상확인
# named-checkconf /etc/named.conf
- 정상일경우
- zone파일 검사
# named-checkzone test.com /var/named/test.com.zone
# named-checkzone ipname.zone /var/named/ipname.zone
- 정상일경우
구조
zone파일을 이상있는지 확인해주는 명령어
named-checkzone /검사할파일 경로/검사할 파일
7. named 재시작
# systemctl restart named
8. 호스트 IP로 DNS설정
- 1번 DNS에 접속을 못할경우 사용중인 통신사DNS를 사용
# vi /etc/resolv.conf
- 수정할내용
# Generated by NetworkManager
nameserver 사용할 IP <<<<< 수정
nameserver 168.126.63.1 //(kt DNS)
9.nslookup 를 이용하여 정상적으로 연결하는지 확인
- nslookup 설치 방법
# yum -y install bind-utils
- 사용방법
# nslookup
- 정상작동
이부분은 설정하고 끝나고 오류난다면 일단해보자
넷트워크 시작오류시 ifcfg-ens3를 확인해보자
vi /etc/sysconfig/network-scripts/ifcfg-ens3
수정내용
NAME="ens3"
DEVICE="ens3"
ONBOOT=yes
NETBOOT=yes
UUID="7d7a6121-a68b-4722-83b0-0c1359a567e0"
IPV6INIT=no
BOOTPROTO=static //dhcp > static
TYPE=Ethernet
NM_CONTROLLED=no
IPADDR=152.69.224.124 //내아이피
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=152.69.224.124 //내아이피
DNS2=169.254.169.254 //서버가 사용중이 인터넷 아이피
resolv.conf 내용 수정
vi /etc/resolv.conf
수정 내용
nameserver 에 내가 사용중인 아이피를 적어준다.
빠른설정
1. [root@main12 named]# yum -y install bind
2. [root@main12 named]# firewall-cmd --permanent --add-port=53/tcp
3. [root@main12 named]# firewall-cmd --permanent --add-port=53/udp
4. [root@main12 named]# firewall-cmd --permanent --add-service=dns
4. [root@main12 named]# firewall-cmd --reload
4. [root@main12 named]# setenforce 0
5. [root@main12 named]# vi /etc/named.conf
13번줄 listen-on port 53 { any; };
14번줄 listen-on-v6 port 53 { none; };
21번줄 allow-query { any; };
6. [root@main12 named]# vi /etc/named.rfc1912.zones
최하단 추가
zone "vincoding.ml" IN {
type master;
file "vincoding.ml.zone";
allow-update { none; };
allow-transfer { none; };
};
zone "84.24.144.in-addr.arpa" IN {
type master;
file "ipname.zone";
allow-update { none; };
allow-transfer { none; };
};
7. [root@main12 named]# named-checkconf /etc/named.conf
8. [root@main12 named]# cd /var/named
9. [root@main12 named]# cp named.localhost vincoding.ml.zone
10. [root@main12 named]# cp named.loopback ipname.zone
11. [root@main12 named]# vi vincoding.ml.zone
추가
$TTL 1D
@ IN SOA vincoding.ml. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www.vincoding.ml.
IN A 144.24.84.112
www IN A 144.24.84.112
12. [root@main12 named]# vi ipname.zone
추가
$TTL 1D
@ IN SOA vincoding.ml. root(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www.vincoding.ml.
112 IN PTR vincoding.ml.
112 IN PTR www.vincoding.ml.
13. [root@main12 named]# chown root:named vincoding.ml.zone
14. [root@main12 named]# chown root:named ipname.zone
15. [root@main12 named]# named-checkzone vincoding.ml /var/named/vincoding.ml.zone
16. [root@main12 named]# named-checkzone ipname.zone /var/named/ipname.zone
17. [root@main12 named]# systemctl restart named
18. [root@main12 named]# vi /etc/resolv.conf
수정
# Generated by NetworkManager
nameserver 사용할 IP <<<<< 수정
nameserver 168.126.63.1 //kt DNS
19. [root@main12 named]# yum -y install bind-utils
20. [root@main12 named]# nslookup
'서버 > Linux' 카테고리의 다른 글
리눅스 톰캣 Let's Encrypt무료 ssl 인증 방법 (0) | 2022.09.06 |
---|---|
CentOS SELinux 설정 및 해제하기 (0) | 2022.08.19 |
리눅스 에러확인 방법 journalctl | tail (0) | 2022.07.23 |
리눅스 아파치 Let's Encrypt무료 ssl 인증 방법 (0) | 2022.07.15 |
리눅스(Linux) 아파치 톰캣 연동(ajp방식) (0) | 2022.05.21 |