Network: Linux
네트워크 관련 토픽
공용 NTP 서버 목록
서버 주소 | Ping 응답 여부 | 제공 |
time.bora.net |
O | LG 유플러스 |
ntp.kornet.net |
X |
KT |
time2.kriss.re.kr |
X | 한국표준과학연구 (KRISS) |
time.nist.gov |
X | 미국 국립표준기술연구소 |
time.windows.com |
X | 마이크로소프트 |
asia.pool.ntp.org |
O |
Domain Name Server
DNS 서버 구축하기
용어해설
TTL
Time To Live의 약자로, 생존 시간을 뜻한다. 캐쉬 된 FQDN (=흔히 말하는 인터넷 주소)이 영원히 주소목록에서 변경 되지 않는다면 사라지거나, FQDN은 같지만 IP가 바뀌는 경우 제대로 목적지까지 접속을 할 수 없을 것이다.
그래서 캐쉬 된 내용이 DNS 서버의 주소목록에서 어느정도 시간 존재할 수 있는지 옵션이 존재한다. 생존시간이 지나게 되면 네임서버는 authority에게서 새로이 주소를 받아오게 된다.
SOA
Start Of Authority의 약자. 본 영역 데이터에 대한 AUTHORITY를 나타낸다.
즉, 상위 DNS를 말한다.
NS
본 영역에 대한 네임서버를 나열한다.
IN
레코드 타입에 대한 선언으로, Internet을 나타낸다. 현재는 IN만 있다고 보면 된다. 다른 타입의 네트워크는 모두 멸종했기 때문이다.
A
이름을 주소로 맵핑. 주로 필요한 기능이 이것이다.
PTR
주소를 이름으로 맵핑
CNAME
'Canonical 이름' 형태로 선언하는데, 별칭을 지정하는 항목이다. 즉 같은 주소에 대해 서로 다른 이름으로 접근할 수 있게 해주는 선언문.
bind configuration 예제
$TTL 1W
@ IN SOA ns1.example.com. root (
2019070700 ; serial
3H ; refresh (3 hours)
30M ; retry (30 minutes)
2W ; expiry (2 weeks)
1W ) ; minimum (1 week)
IN NS ns1.example.com.
IN MX 10 smtp.example.com.
;
;
ns1.example.com. IN A 192.168.1.5
smtp.example.com. IN A 192.168.1.5
;
helper.example.com. IN A 192.168.1.5
helper.ocp4.example.com. IN A 192.168.1.5
;
api.ocp4.example.com. IN A 192.168.1.5
api-int.ocp4.example.com. IN A 192.168.1.5
;
*.apps.ocp4.example.com. IN A 192.168.1.5
;
bootstrap.ocp4.example.com. IN A 192.168.1.96
;
master0.ocp4.example.com. IN A 192.168.1.97
master1.ocp4.example.com. IN A 192.168.1.98
master2.ocp4.example.com. IN A 192.168.1.99
;
worker0.ocp4.example.com. IN A 192.168.1.11
worker1.ocp4.example.com. IN A 192.168.1.7
;
;EOF
예제 및 각 필드의 설명
# SOA 항목
movie.edu. IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; serial
10800 ; refresh after 3 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ; minimum TTL of 1 day
)
위 설정 값의 뜻은 movie.edu 도메인에 있어 terminator.movie.edu 가 최고 권위를 가지는 네임서버라는 뜻이다.
뒤에 붙는 al.robocop.movie.edu는 관리자의 이메일이다.
즉, al@robocop.movie.edu 라는 이메일 주소라는 뜻이다.
위에서 movie.edu는 기원이 같다는 뜻으로 @로 생략하여 표기할 수도 있다.
# NS 항목
movie.edu. IN NS terminator.movie.edu.
movie.edu. IN NS whormhole.movie.edu.
위의 선언문은 movie.edu 도메인에 DNS 서버가 2대가 존재한다는 걸 말해주는 것이다.
• 위에서도 movie.edu는 기원이 같다는 뜻으로, 아예 빼버릴 수도 있다.
위의 선언문 아래에 추가로
terminator.movie.edu. IN A 192.249.249.3
과 같이 호스트의 주소가 선언 된다.
참고로 IN은 인터넷을, A는 이름을 가지고 IP 주소를 맵핑하겠다는 뜻이다.
wormhole.movie.edu. IN A 192.249.249.1
wormhole.movie.edu. IN A 192.253.253.1
위와 같이 웜홀 서버의 경우 다중으로 DNS를 구성한 경우에는 다른 IP가 부여되며, 검색 시 두 IP를 번갈아 가며 알려주는 라운드-로빈 방식, 혹은 미리 지정된 순서 (주로 가까운 - 네트워크 hop이 작은)로 알려주게 된다.
DNS와 마찬가지로, 일반 호스트도 동일한 방식으로 선언 해 주면 된다.
localhost.movie.edu. IN A 127.0.0.1
diehard.movie.edu. IN A 192.249.249.4
와 같이 일반 호스트들을 나열 하면 등록되고, DNS는 질의에 대해 IP를 반환하는 작업을 수행한다.
bigt.movie.edu. IN A CNAME terminator.movie.edu.
dh.movie.edu. IN A CNAME diehard.movie.edu.
CNAME은 별명을 나타내는 것으로, bigt.movie.edu는 곧 terminator.movie.edu를 나타낸다.
DNS서버와 NTP서버가 같은 머신 상에서 구동 될 때 별명으로 FQDN은 다르지만 IP는 동일하게 처리할 수 있다.
RHEL 계열 설정
# zone을 추가하는 방법
1. /etc/named.rfc1912.zones 에서 추가하고픈 도메인을 선언 해 준다.
// private zones
zone "spelix.com" IN {
type master;
file "/etc/named/spelix.com.zone";
allow-update { none; };
//allow-transfer { 아이피; }; //secondary DNS가 있는 경우 그 주소를 적어준다.
};
allow-update { none; };
any가 보통인데, none인 이유는 사설 네트워크에 IP를 지정하여 할당하였기 때문이다.
즉, 바뀔 일이 없는 것.
2. /etc/named/ 아래에 zone 파일의 추가.
db라고도 표현한다. 아래는 spelix.com.zone의 내용이다.
$TTL 1D
spelix.com. IN SOA ns1.spelix.com. krauss.spelix.com. (
1 ; serial
10800 ; refresh after 3 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ; minimum TTL of 1 day
)
spelix.com. IN NS ns1.spelix.com.
ns1.spelix.com. IN A 192.168.0.2
m1.packstack.spelix.com. IN A 192.168.0.190
; web server that is places out side of this local network
www.spelix.com. IN A 34.149.87.45
ntp.spelix.com. IN CNAME ns1.spelix.com.
Ubuntu 계열
# 필요 패키지
sudo apt install bind9 bind9utils bind9-doc
# IPv4 전용으로 설정을 변경
sudo vi /etc/default/named
OPTIONS="-u bind -4"
# /etc/bind/named.conf.local
zone "spelix.com" IN {
type master;
file "/etc/bind/zones/db.spelix.com";
allow-update { none; };
};
# /etc/bind/zones/db.spelix.com
• zones 라는 디렉토리가 없으면 만든다.
• zone 파일의 첫 열(row, 세로)에 공백이 있어서는 안된다.
$TTL 1D
spelix.com. IN SOA ns1.spelix.com. krauss.spelix.com. (
1 ; serial
10800 ; refresh after 3 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ; minimum TTL of 1 day
)
spelix.com. IN NS ns1.spelix.com.
ns1.spelix.com. IN A 115.71.1.39
m1.packstack.spelix.com. IN A 115.71.1.40
; web server that is places out side of this local network
www.spelix.com. IN A 34.149.87.45
ntp.spelix.com. IN CNAME ns1.spelix.com.