도메인 이름을 요청하면 실제 주소인 IP로 바꿔주는 서비스
호스트 이름 : 네트워크 상의 컴퓨터 각각의 이름
도메인 이름 : 네트워크의 범위를 지정하는 이름
호스트 이름과 도메인 이름을 모두 표기한 풀 주소이름 -> FQDN
fully qualified domain name : 전체 도메인 네임
url : 특정 위치로 가기위한 경로
-> 도메인 서버에 질의를 해서 도메인에 대한 정보를 얻을 수 있다.
nslookup
기본 서버: dns.google
Address: 8.8.8.8
nslookup naver.com
서버: dns.google
Address: 8.8.8.8
권한 없는 응답:
이름: naver.com
Addresses: 223.130.200.104
223.130.195.95
223.130.195.200
223.130.200.107
set type=ns
(ns = name server mx = mail server all = everyting)
> naver.com
서버: dns.google
Address: 8.8.8.8
권한 없는 응답:
naver.com nameserver = ns2.naver.com
naver.com nameserver = ns1.naver.com
naver.com nameserver = e-ns.naver.com
For example:
102.54.94.97 rhino.acme.com source server
38.25.63.10 x.acme.com client host
localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
223.130.200.104 daum.net
-> daum.net을 치면 naver.com 으로 접속됨
루트 도메인 서버에서 .com에 대한 요청을 받으면
1차 도메인 서버 : kr , com 의 IP를 요청자에게 넘겨줌.
com 에서는 naver.com을 알려주는게 아닌
naver.com이라는 정보를 가지고 있는 곳의 ip를 또 알려주고
그 ip를 통해 통신을 해서 정보를 받아낸다.
selinux (리눅스 보안기능) 비활성화
vi /etc/sysconfig/selinux
강제(enforcing) -
- 강제로 selinux 사용 , 허용되지않은 행동 차단
허용(permissive) -
- 모니터링은 하나, 차단하지 않고 허용해줌 (기록은 함)
비활성(disabled) -
- 커널 메모리상에 올리지 않음 SELINUX 자체 동작 x
- vi /etc/sysconfig/selinux
- SELINUX=disabled 설정 (재부팅 해야함)
- getenforce(sestatus) - selinux 설정 확인
- setenforce - selinux 설정
- setenforce 0 : 허용
- setenforce 1 : 강제
실습
캐싱 전용 DNS 서버 구축하기
yum -y install bind bind-chroot
vi /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { none; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
systemctl restart named
systemctl enable named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
1. 설치 : yum -y bind bind-chroot
2. 세팅 : vi /etc/named.conf
-> port 53 { 127.0.0.1 을 any; 로 }
-> ::01: 을 none; 으로
-> allow-query 를 any로
3. 실행 : systemctl restart named
systemctl enable named
4. 방화벽 :
firewall-cmd --permanent --add- service=dns
firewall-cmd --reload
frirewall-cmd --permanent --add-port=53/tcp
frirewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload
5. 테스트
2번 서버에서 nslookup -> server 1번ip -> naver.com
마스터 네임 서버(프라이머리 네임 서버) 구축
-> 도메인에 속해있는 시스템들의 이름을 관리하고
외부에 해당 시스템의 IP를 알려줌
실습
systemctl restart httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
vi /var/www/html/index.html
<h1>
centos1
</h1>
-----> 다른 가상 시스테메서 IP접속으로 웹 서비스 오픈 확인
맨 밑줄에
zone "linux.com" IN {
type master;
file "linux.com.db";
allow-update {none; };
};
:wq
systemctl restart named
systemctl enable named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
cd /var/named
cp named.localhost linux.com.db
named-checkzone linux.com linux.com.db
chmod -R 754 /var/named
systemctl restart named
liunx.com (가상 도메인) 구축
223.130.200.107
systemctl restart httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
vi /var/www/html/index.html
<h1>
centos2
</h1>
이론상과는 다르게 1번서버, 2번서버 동시에 오픈했을때,
centos1 과 centos2가 번갈아서 들어가지지 않고,
2번만 들어가지는 현상 발생.
NS : 도메인의 네임서버 정보
도메인이 속해 있는 아이피를 찾아오는 레코드
MX : 도메인의 MX(Mail Exchange) 서버
메일서버 위치정보(IP주소)를 제공하는 레코드
A : 호스트의 IP주소
CNAME(Aliases) : 별칭(Canonical Name)
호스트가 다른호스트를 지칭할때 사용하는 레코드
SOA : 도메인의 Start Of Authority(시작점)
DNS 서버내에서 각 도메인 영역을 식별하는 레코드
PTR : IP주소에 대한 호스트명
ANY : 호스트에 관련된 모든 레코드들의 정보
MARIA DB 서버 설치 실습
데이터 :
하나하나의 자료들
RDBMS :
MYSQL(MARIADB), ORACLE , MSSQL(SQL-SERVER)
관계형 DB -> 데이터를 표 형식(테이블)으로 저장한 것.
레코드 :
테이블의 가로, 이름이 없다.
열(필드,컬럼) :
테이블의 세로, 이름이 있다. 데이터 타입이 설정되어 있다.
PK(Primary Key) = 주요 키 :
레코드를 식별하는 유일한 값을 갖고 있는 비어있지 않는 필드
외래키 :
(FK) 다른 테이블의 주요키와 대응되는 필드
SQL :
구조화된 질의 언어 : DB에서 정보를 얻고자 조작하거나 갱신하는 등의 언어
* yum install mariadb-server mariadb -y
* systemctl restart mariadb
* systemctl enable mariadb
* mysql -u 유저명 -p 패스워드
* NVARCHAR = 아스키코드
* insert into 테이블명 values ('값',...); -> 내 값 삽입
* select 필드명 from 테이블명 WHERE 조건;