DNS(Domain Name System)
- 도메인 이름을 IP주소로 변환해 주는 시스템임
- 우리가 www.google.com 같은 도메인을 입력하면, DNS가 알아서 "8.8.8.8" 같은 IP 주소로 변환해서 서버에 연결해 줌
- 통신을 한다는 것은 물리적인 주소가 필요함
- 영문주소에 대한 ip를 "안내" 해주는 시스템
- 53 port, tcp + udp 둘 다 사용
- 일반적으로 왼쪽에서 오른쪽으로 읽어 내려가지만, 도메인 네임의 경우 오른쪽에서 왼쪽으로 읽어 내려감
- 즉, 오른쪽으로 갈수록 큰 개념
- DNS가 왜 필요할까?
-> IP주소를 외우기 어렵기 때문에 이름으로 안내해 줌
-> IP주소가 변경될 수도 있음
-> 여러 개의 서버를 하나의 도메인으로 관리 가능
www는 naver.com의 '하위' 도메인
DNS 서버 구축
VM이름 - dns (vmnet8 대역)
2 core, 2GB, 20GB, vmnet8 대역
IP - 211.183.3.53
GW - 211.183.3.2
DNS - 8.8.8.8
호스트네임 변경하는 방법
[root@localhost ~]# hostnamectl set-hostname dns
방화벽 off
[root@dns ~]# systemctl stop firewalld
[root@dns ~]# systemctl disable firewalld
셀리눅스 off
[root@dns ~]# vi /etc/selinux/config
yum install -y bind bind-utils
bind : DNS서버 구성 패키지/ DNS 서버를 실행하는 프로그램
-> 내 컴퓨터를 DNS서버로 만들기 위한 프로그램임
bind-utils: client 역할(query) - nslookup(query) - dig(자세한 정보)
-> DNS 서버를 관리하거나 테스트하는 데 필요한 추가 도구들이 포함되어 있음
- 패키지 여러 개 설치했을 땐 명령을 한번 더 쳐서 already가 갯수만큼 있는지 확인
1. /etc/named.conf 수정을 통해 기능적인(수신포트, 허용할 대상) 설정
-> 리눅스에서 DNS서버 설정 파일을 수정하는 과
[root@dns ~]# vi /etc/named.conf
2. 영역(zone) 생성
- 내가 만약 naver.com의 도메인을 관리하는 사람이라면, 내 영역은 naver.com 일 것이고, 내 영역에 다양한 하위 도메인들이 있을 것(www.naver.com)
[root@dns ~]# vi /etc/named.rfc1912.zones
zone은 생성할 이름
- zone 파일 - rapa.com의 하위 도메인 정보가 담긴 파일
- 아직 미생성
- 누군가 나에게 rapa.com에 대한 쿼리를 했을 때 rapa.com.db라는 파일의 내용을 토대로 안내해 줄 예정. 우리는 내가 생성한 영역에 대한 안내파일인 /var/named/rapa.com.db을 만들 예정
3. 존(zone) 파일 생성.
위에서 생성한 영역인 rapa.com에 대한 영역파일인 rapa.com.db를 만들어주자
[root@dns ~]# vi /var/named/rapa.com.db
$TTL 3H
OA @ root # DNS서버 관리자(
0 ; serial #존 파일 버전
1D ; refresh #존 정보 갱신 시간
1H ; retry #실패 시 재시도
1W ; expire #만료
3H ) ; minimum #존 정보 없는 경우
IN NS @
# IN 인터넷을 의미함
# NS 네임 서버
# @ 자신
IN A 211.183.3.53 #DNS와 동일한 IP주소임
영역의 최상위 도메인 레코드는 꼭 만들어줘야 됨
-> www.rapa.com -> 211.183.3.80
-> 원하는 하위도메인에 대한 레코드(하위도메인에 대한 주소를 매칭) 생성
-> 누군가 www.rapa.com을 을 물어보면 211.183.3.80이라는 IP를 안내
[root@dns ~]# systemctl restart named
[root@dns ~]# systemctl enable named
nslook => query
server => DNS서버 => 내가 현재 안내받고 있는 서버
-> 211.183.4.53이라는 dns서버를 구축했기 때문에, 이 서버가 잘 동적 하는지 테스트해보고 싶다면, 내 네임서버를 내가 안내받을 서버로 변경해 줘야 됨.
vi /etc/sysconfig/network-scripts/ifcfg-ens32
-> 내가 안내받고 싶은 서버(dns서버)
-> 네트워크 스크립트 파일에서 내가 안내받고 싶은 서버를 수정
-> 그리고 꼭 restart
-> 네트워크 재시작 후 내가 안내받을 서버가 바뀐 걸 확인할 수 있음(resolv.conf)
이제 외부 client에서 확인
-> DNS 서버가 8.8.8.8로 되어있기 때문에 변경해 줘야 됨
yum install -y bind-utils
-> nolookup 명령이 있는 bind-utils 패키지를 설치
vi /etc/sysconfig/network-scripts/ifcfg-ens32
변경 후 restart
-> 내가 구축한 DNS서버를 네임서버로 지정
오늘의 오류 발생/ 해결 방안
-> 어딘가 running 하고 있다는 요청이 발생
yum -y install net-tools 했을 때
밑에 Another app is currently~~ pid 1379라는 뜻은 이미 1379라는 곳에서 실행되고 있다는 의미임
그럴 때는 kill -9 1379를 입력하면 강제로 아웃됨
재설치했을 때 이미 설치된 상태라고 뜸
(maybe 그래서 오류가 생겼던 것 같음)
-> ~~. service 오류가 발생한다면
systemctl status ~~ 해서 확인해 볼 수 있음
1. OS코드 변경해 줬는지 확인
2. 명칭 똑바로, IP 똑바로 적었는지 확인
'AWS Cloud School 8기 > 서버가상화_클라우드 이미지' 카테고리의 다른 글
FTP(신뢰성 y 파일 전송 y),DHCP(IP부여) ,TFTP(신뢰성 n 파일 전송 y), PxE(OS 설치 환경 -> 네트워크 -> 제공) 응용 문제/ 이론 (5) | 2025.01.24 |
---|---|
NFS 설명+실습 / (status 이상하게 자꾸 까먹어서 적어봄)/ 마운트 해제 (0) | 2025.01.22 |
응용 풀이/ DNAT, PAT, NAT, 새로운 VM 활용 5,6/ dhcp (0) | 2025.01.20 |
DHCP 설치/ 적용 (0) | 2025.01.20 |
응용 문제/ PAT,DNAT + GNS,VM,Xshell / 웹페이지 정적으로 업로드 (0) | 2025.01.14 |