์์ฑ์ : gasida.cloudnet@
AWS Document Route53
- Route53 ์ค๋ช ์
- Route53 ๋ฑ๋ก ๊ฐ๋ฅ ๋๋ฉ์ธ
- Route53 ๋ผ์ฐํ ์ ์ฑ
- Amazon Route 53์์ EDNS0์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ์์น๋ฅผ ์์ธกํ๋ ๋ฐฉ๋ฒ
- Route53 ์ ๊ฒ๋ฐฉ๋ฒ1
- Route53 ์ ๊ฒ๋ฐฉ๋ฒ2
- Route53 ์ฟผ๋ฆฌ ๋ก๊น ์ค์
DNS GeoLocation ๋ฐ ๊ธฐํ
- DNS ์ CDN ์ ๋์ (๋ท๋งค๋์์ฆ 2011)
- RFC 7871 - Client Subnet in DNS Queries
- Windows DNS - ์์น๊ธฐ๋ฐ
- IP ๋ก ์์น ์ฐพ๊ธฐ
- Public DNS List
- DNS Cache check (OpenDNS)
๐ก AWS ์๋น์ค ๊ด๋ จํด์๋ ํญ์ ์ต์ฐ์ ์ผ๋ก โAWS ์ค๋ช ์โ ๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค. ํ๊ธ ๋ฒ์ญ์ด ๋งค๋๋ฝ์ง ๋ชปํ๋ฉด English ๋ก ๋ณ๊ฒฝ ํ ์ฝ์ด๋ณด๊ธฐ๋ฅผ ๋ฐ๋๋ค.
1. AWS Route 53 & Geolocation Routing Policy
- AWS Route 53 ์ AWS ๊ด๋ฆฌํ์ DNS(Domain Name Server) ์ด๋ค.
- Hosted private or public zones (including subdomains)
- Health checks, routing policies and failovers
- ๋๋ฉ์ธ ๋ฑ๋ก, DNS ๋ผ์ฐํ , ์ํ ํ์ธ์ ์กฐํฉํ์ฌ ์คํํ ์ ์๋ค.
1.1 Amazon Route 53์ด ๋๋ฉ์ธ์ ํธ๋ํฝ์ ๋ผ์ฐํ ํ๋ ๋ฐฉ๋ฒ
์ฌ์ฉ์๊ฐ ์น ์๋ฒ์ ์ ์ ์ DNS ์๋ฒ๋ฅผ ํตํ์ฌ ๋๋ฉ์ธ ์ฃผ์๋ฅผ IP ์ฃผ์๋ก ์ ๋ฌ ๋ฐ์ ํ ํด๋น IP๋ก ์ ์์ ํ๋ค
๊ทธ๋ฆผ ์ถ์ฒ https://amzn.to/3aDOdzK
1.2 Geolocation Routing Policy
- EDNS ๋ฅผ ์ง์ํ๋ Local DNS ์๋ฒ์ ๋ฐ๋ผ์ ๋์ ๋ฐฉ์์ด ๋ฌ๋ผ์ง๋ค
1.2.1 Local DNS ์๋ฒ๊ฐ EDNS ๋ฅผ ๋ฏธ์ง์ ํ๋ ๊ฒฝ์ฐ
Geolocation ์ ์ฑ ์ ๊ธฐ๋ณธ์ ์ผ๋ก DNS ์ง์(Query)๋ฅผ ํ๋ Local DNS Server(์, KT DNS ๋ฑ)์ IP์ ์์น๋ฅผ ๊ธฐ๋ฐํ์ฌ AWS Route 53์ ์ง์ ๋ IP ์ ๋ณด๋ฅผ ์ ๋ฌ(Answer)ํ๋ค
์๋์ฒ๋ผ ํ๊ตญ์ PC์์ ํ๊ตญ DNS์๋ฒ(168.126.63.1)๋ก www.gsida.net ์ง์ ์ ํ๊ตญ DNS์๋ฒ๋ ์์ ์ IP๋ก AWS Route53์ ์ง์ํ๊ฒ ๋๋ค.
์ด๋ Route53์ ํ๊ตญDNS ์๋ฒ์ IP๋ฅผ ํ์ธํ๊ณ ์์น๊ฐ ํ๊ตญ์ธ ๊ฒ์ ์๊ณ Seoul-Web ์ IP์ ๋ณด์ธ 60.1.1.1 ์ ์ ๋ฌํ๋ค.
1.2.2 Local DNS ์๋ฒ๊ฐ EDNS ๋ฅผ ์ง์ ํ๋ ๊ฒฝ์ฐ
DNS ์๋ฒ(์. ๊ตฌ๊ธDNS 8.8.8.8)๊ฐ ENDS ๋ฅผ ์ง์ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ DNS ์ง์ ์ ์ฌ์ฉ์์ IP๋์ญ์ DNS ํ์ฅ ํค๋์ ๋ด์์ AWS Route 53์ ์ง์๋ฅผ ํ๊ฒ ๋๋ค.
AWS Route 53 ์ญ์ EDNS ๋ฅผ ์ง์ํ๋ฏ๋ก DNS ํ์ฅ ํค๋์ Client-Subnet ์ ๋์ญ์ IP์ ์์น๋ฅผ ๊ธฐ์คํ์ฌ ๊ฒฐ์ ํ๋ค
2. DNS ๋์์ ๋ํ ์คํด
- DNS ์๋ฒ๋ก ๋ฐ์ดํฐ ํธ๋ํฝ(์น ํธ๋ํฝ)์ด ์ ๋ฌ ๋๋ค.
- ๐ ๐ปโโ๏ธNo! ์ ๊ทธ๋ฆผ ๋์์ ๋ณด๋ฉด ์๊ฒ ์ง๋ง DNS ํธ๋ํฝ์ ์ฌ๋์ด ์๊ธฐ ์ฌ์ด โ๋๋ฉ์ธ ์ฃผ์(์. www.daum.net)' ์ ๋ํ โIP ์ฃผ์โ๋ฅผ ์์์ค๋ ๊ณผ์ ์ด๋ค.
- ์ค์ โIP์ฃผ์โ ๋ฅผ ์์์จ ์ดํ์๋ ํด๋น ๋จ๋งPC์์ โ์น์๋ฒ IPโ ๋ก ์ง์ ๋ฐ์ดํฐ ํธ๋ํฝ(์น ํธ๋ํฝ) ํต์ ์ ์์ํ๋ค.
- DNS ์๋ฒ๋ ์ฌ์ฉ์์ IP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ํํ ์์น๋ฅผ ์ ์ ์๋ค.
- ๐ ๐ปโโ๏ธ๊ผญ ๊ทธ๋ ์ง๋ง์ ์๋๋ค. ์๋ฅผ ๋ค๋ฉด ํ๊ตญ์ ๋จ๋งPC์ ๋ฏธ๊ตญDNS์๋ฒ๋ฅผ ์ค์ ํ๊ฒ ๋๋ฉด DNS์ง์ ์ ๋ฏธ๊ตญDNS์๋ฒ IP์ด๋ฏ๋ก ๋ฏธ๊ตญ์น์๋ฒ IP๋ฅผ ์๋ ค์ค๋ค.
- ์ฆ, Geolocation ์ ๊ธฐ๋ณธ ๋์์ ์ต์ข DNS Query ํ๋ ์์คIP์ ์์น(์ผ๋ฐ์ ์ธ ๋ก์ปฌDNS์๋ฒ)๋ฅผ ๊ธฐ๋ฐํ์ฌ โIP์ฃผ์โ ๊ฐ์ ๋ฐํํ๋ค
- ๊ทธ๋ผ ์ฌ์ฉ์์ IP๋ฅผ ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์?
- ๊ทธ๋์ DNS์ ํ์ฅ ํ๋ EDNS ์ Client Subnet ํ๋๋ฅผ ํตํด์ โ์ต์ข ์ฌ์ฉ์โ์ IP ๋์ญ ์ ๋ณด๋ฅผ ์ ๋ฌํจ์ผ๋ก์จ DNS์๋ฒ๊ฐ ์ฌ์ฉ์์ ์์น๋ฅผ ์ ์ ์๋ค
3. Lab Topology
Route 53 DNS - GeoLocation Policy โ geolo.gasida.net
- Query IP๊ฐ ํ๊ตญ ์ผ ๊ฒฝ์ฐ โ ํ๊ตญ ์์นํ ์น์๋ฒ IP ์ ๋ณด๋ฅผ ์ ๋ฌ
- Query IP๊ฐ ๋ฏธ๊ตญ ์ผ ๊ฒฝ์ฐ โ ๋ฏธ๊ตญ ์์นํ ์น์๋ฒ IP ์ ๋ณด๋ฅผ ์ ๋ฌ
๋จ๋ง
ํ๊ตญ ์์น ๋จ๋ง : IP์ฃผ์(ํ๊ตญ ์์น IP), DNS์๋ฒ(ํ๊ตญ ์์นํ DNS ์๋ฒ IP)
๋ฏธ๊ตญ ์์น ๋จ๋ง : IP์ฃผ์(๋ฏธ๊ตญ ์์น IP), DNS์๋ฒ(๋ฏธ๊ตญ ์์นํ DNS ์๋ฒ IP)
4. Config Geolocation Policy & Logging
4.1 AWS Web EC2 ์ค์
- Seoul-Web : ์์ธ๋ฆฌ์ , Public Subnet ์ ์์ฑ ๋ฐ ์น ์๋ฒ ์ค์น โ EC2 Public IP 3.34.3.33
EC2 ์์ฑ ์ User Data ์ ์ ๋ ฅ : ์น ์๋ฒ ์ค์น, index.html ์์ฑ
1 |
|
- Virginia-Web : ๋ฒ์ง๋์๋ฆฌ์ , Public Subnet ์ ์์ฑ ๋ฐ ์น ์๋ฒ ์ค์น โ EC2 Public IP 18.206.97.145
EC2 ์์ฑ ์ User Data ์ ์ ๋ ฅ : ์น ์๋ฒ ์ค์น, index.html ์์ฑ
1 |
|
4.2 ๋จ๋ง ์ค์
- ํ๊ตญ ์์น ๋จ๋ง : ์์ ์ PC๋ฅผ ํ์ฉ, DNS์๋ฒ (168.126.63.1) โ 220.117.X.Y
- ๋ฏธ๊ตญ ์์น ๋จ๋ง : ํ์๋ GCP ํ์ฉ, DNS์๋ฒ(192.221.159.0) โ 35.186.188.100
VM Instance ์์ฑ ์ ์์ ์คํฌ๋ฆฝํธ์ ์ ๋ ฅ : DNS ๊ด๋ จ ํด ์ค์น, ๊ธฐ๋ณธ DNS๋ฅผ ๋ณ๊ฒฝ
1 |
|
4.3 AWS Route 53 ์ค์
- [Route 53 - ํธ์คํ ์์ญ - ๋ ์ฝ๋ ์ธํธ ์์ฑ] geolo.gasida.net
ํ๊ตญ ์์น ์ ํ๊ตญ ์น์๋ฒ ์ ๋ฌ ๋ ์ฝ๋ ์์ฑ
- ์ด๋ฆ: **geolo**.gasida.net
- ์ ํ: **A - IPv4 ์ฃผ์**
- ๋ณ์นจ: **์๋์**
- TTL(์ด): **300**
- ๊ฐ: **3.34.3.33**
- ๋ผ์ฐํ
์ ์ฑ
: **์ง๋ฆฌ์ ์์น**
- ์์น: **๋ํ๋ฏผ๊ตญ**
- ์ธํธ ID(*์ค๋ช
, ์ผ์ข
์ ์ฃผ์*): **ํ๊ตญIP๋ง ํ์ฉ**
- ์ํ ๊ฒ์ฌ์ ์ฐ๊ฒฐ: **์๋์**
- ํ๋จ `์์ฑ` ํด๋ฆญ
๋ฏธ๊ตญ ์์น ์ ํ๊ตญ ์น์๋ฒ ์ ๋ฌ ๋ ์ฝ๋ ์์ฑ
- ์ด๋ฆ: **geolo**.gasida.net
- ์ ํ: **A - IPv4 ์ฃผ์**
- ๋ณ์นจ: **์๋์**
- TTL(์ด): **300**
- ๊ฐ: **18.206.97.145**
- ๋ผ์ฐํ
์ ์ฑ
: **์ง๋ฆฌ์ ์์น**
- ์์น: **๋ฏธ๊ตญ**
- ํ์ ์์น: skip โ ๋ฏธ๊ตญ์ ๊ฒฝ์ฐ ์ฃผ๋ณ๋ก ์ ํ ์ค์ ๊ฐ๋ฅ
- ์ธํธ ID(*์ค๋ช
, ์ผ์ข
์ ์ฃผ์*): **๋ฏธ๊ตญIP๋ง ํ์ฉ**
- ์ํ ๊ฒ์ฌ์ ์ฐ๊ฒฐ: **์๋์**
- ํ๋จ `์์ฑ` ํด๋ฆญ
์์น๋ฅผ โ๊ธฐ๋ณธ๊ฐโ ์ ์ค์ ์ ํด์ผ ์ โํ๊ตญ๊ณผ ๋ฏธ๊ตญ ์์นโ ์ ์ธํ ๋๋จธ์ง ๊ณณ์์ ์ ์์ด ๊ฐ๋ฅํ๋ค โ ์ฆ, ์ง๋ฆฌ์ ์ ์ ์ ํ ๊ฐ๋ฅ
ํด๋น ํธ์คํ ์์ญ โ์ฟผ๋ฆฌ ๋ก๊น โ ์ค์
[Route 53 - ํธ์คํ ์์ญ] ๋๋ฉ์ธ ์ ํ ํ ์ฐ์ธก ํ๋จ์
์ฟผ๋ฆฌ ๋ก๊น
์ค์ : ๋์ ๋ฐ์ ํ 50์ด ์ ๋ ํ์ CloudWatch Log ๋ก ์์ง๋๋ค- ์ ๋ก๊ทธ ๊ทธ๋ฃน ์์ฑ : /aws/route53/hosted-zone-name (ํ์๋ gasida ๋ก ์ค์ )
- ์ ๋ฆฌ์์ค ์ ์ฑ ์์ฑ
5. Verify
5.1 ๊ธฐ๋ณธ ์ ๋ณด ํ์ธ
๋จ๋ง : ์์ ์ ๊ณต์ธIP ์ ๋ณด์ ์์น ์ ๋ณด๋ฅผ ํ์ธ, DNS์๋ฒ ํ์ธ, ์น ์๋น์ค ํ์ธ(EC2 Public IP)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25# ํ๊ตญ ์์น ๋จ๋ง (์๋์ฐ ๋จ๋ง์ ๊ฒฝ์ฐ dig ๋์ nslookup ์ฌ์ฉ)
curl https://checkip.amazonaws.com/
curl https://ipvigilante.com/220.117.X.Y
curl -s https://ipvigilante.com/$(curl -s checkip.amazonaws.com) | jq '.data.country_name, .data.city_name, .data.ipv4'
"Republic of Korea"
"Seoul"
"220.117.X.Y"
dig www.google.com |grep SERVER
;; SERVER: 168.126.63.1#53(168.126.63.1)
# ๋ฏธ๊ตญ ์์น ๋จ๋ง
curl -s https://ipvigilante.com/$(curl -s checkip.amazonaws.com) | jq '.data.country_name, .data.city_name, .data.ipv4'
"United States"
"Ann Arbor"
"35.245.140.130"
dig www.google.com |grep SERVER
;; SERVER: 192.221.159.0#53(192.221.159.0)
# EC2 ์น์๋น์ค ํ์ธ
curl 3.34.3.33
<html><h1>Hello from MCN Web Server - Seoul Area</h1></html>
curl 18.206.97.145
<html><h1>Hello from MCN Web Server - Virgina Area</h1></html>
5.2 geolo.gasida.net DNS์กฐํ ๋ฐ ์ ์ ํ์ธ
ํ๊ตญ ์์น ๋จ๋ง(ํ๊ตญ DNS์๋ฒ)์ ๋ฏธ๊ตญ ์์น ๋จ๋ง(๋ฏธ๊ตญ DNS์๋ฒ)๊ฐ ๊ฐ๊ฐ ๊ฐ๊น์ด ์์น์ ์น ์๋ฒ๋ก ์ ์๋จ์ ํ์ธ
1
2
3
4
5
6
7
8
9
10
11
12
13# ํ๊ตญ ๋จ๋ง (์๋์ฐ ๋จ๋ง์ ๊ฒฝ์ฐ dig ๋์ nslookup ์ฌ์ฉ)
curl geolo.gasida.net
<html><h1>Hello from MCN Web Server - Seoul Area</h1></html>
dig geolo.gasida.net +short
3.34.3.33
# ๋ฏธ๊ตญ ๋จ๋ง
curl geolo.gasida.net
<html><h1>Hello from MCN Web Server - Virgina Area</h1></html>
dig geolo.gasida.net +short
18.206.97.145DNS Query Log ( ๋ก๊ทธ๊ทธ๋ฃน๋ณด๊ธฐ, ํํฐ geolo -โAAAAโ )
KT DNS์๋ฒ ์์ ์์คIP๋ฅผ 121.138.224.3(ํ๊ตญIP) ๋ก AWS Route53(gasida.net)๋ก ์ง์๋ฅผ ํ์ โ Seoul-Web IP ์ ๋ณด๋ฅผ ์ ๋ฌ
๋ฏธ๊ตญ DNS์๋ฒ ์์ ์์คIP๋ฅผ 192.221.159.15(๋ฏธ๊ตญIP) ๋ก AWS Route53(gasida.net)๋ก ์ง์๋ฅผ ํ์ โ Virginia-Web IP ์ ๋ณด๋ฅผ ์ ๋ฌ
1
2geolo.gasida.net A NOERROR UDP ICN51-C1 (121.138.224.3 = ํ๊ตญ KT IP)
geolo.gasida.net A NOERROR UDP ATL51-C1 (192.221.159.15 = ๋ฏธ๊ตญ Lv3 LLC IP)
(์ต์ ) 5.3 ํ๊ตญ๊ณผ ๋ฏธ๊ตญ์ด ์๋ ํ ๋๋ผ์ ์ฌ์ฉ์์์ ์ ์ ํ์ธ
ํ์ฌ 'ํ๊ตญ , ๋ฏธ๊ตญ' ์ด์ธ์ ํ ๋๋ผ(์, ์ค๊ตญ ๋จ๋ง์์ ํ ์คํธ)์์๋ DNS Query ์ ๋ํ ์๋ต์ ํ์ง ์๋๋ค
- ์ด๋ด ๊ฒฝ์ฐ์ ์์น๋ฅผ
๊ธฐ๋ณธ๊ฐ
์ ์ ํํ๊ฒ ๋๋ฉด ์ง๋ฆฌ ์์น์ ๋งค์นญ๋์ง ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์๊ธฐ๋ณธ๊ฐ
์ ์ ์๋ IP ์ ๋ณด๋ฅผ ์ ๋ฌํด์ค๋ค
1 | # ์ค๊ตญ ๋จ๋ง |
6. Issue
VPN, CDN ํ๊ฒฝ์ด๋ ํน์ ์๋ ์ฒ๋ผ ๋ค๋ฅธ ์ง์ญ์ DNS์๋ฒ๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ Issue ๊ฐ ๋ฐ์ํ๋ค
1
2
3
4
5
6
7
8# ๋ฏธ๊ตญ ๋จ๋ง DNS์๋ฒ๋ฅผ KT DNS๋ก ๋ณ๊ฒฝ
cat /etc/resolv.conf |grep ^name
nameserver 192.221.159.0
sed -i "s/^nameserver 192.221.159.0/nameserver 168.126.63.1/g" /etc/resolv.conf
dig www.google.com |grep SERVER
;; SERVER: 168.126.63.1#53(168.126.63.1)์๋ ์ฒ๋ผ ์ค์ ๋ก๋ ๋ฏธ๊ตญ์ ์์นํ ๋จ๋ง์์ ์น ์ ์ ์ ์์ ์ ์์น์ ๋จ์ด์ง ๋ฏธ๊ตญ์ ์์นํ ์น์๋ฒ๋ก ์ ์์ ํ๋ค
1
2
3
4
5
6
7
8
9
10
11# ๋ฏธ๊ตญ ๋จ๋ง
curl -s https://ipvigilante.com/$(curl -s checkip.amazonaws.com) | jq '.data.country_name, .data.city_name, .data.ipv4'
"United States"
"Ann Arbor"
"35.245.140.130"
curl geolo.gasida.net
<html><h1>Hello from MCN Web Server - Seoul Area</h1></html>
dig geolo.gasida.net +short
3.34.3.33Route Query Log ํ์ธํ๋ฉด KT DNS IP๊ฐ Query๋ฅผ ํ์๋ฏ๋ก ํ๊ตญ์ ์์นํ ์น์๋ฒ IP ์ฃผ์๋ฅผ ์ ๋ฌํ๋ค
7. EDNS Client Subnet
์ฌ์ฉ์์ ์์น(IP)๋ฅผ ์ต์ข DNS์๋ฒ๊ฐ ์๊ธฐ ์ํด์ DNS์ ํ์ฅ ํ๋ EDNS ์ Client Subnet ํ๋๋ฅผ ํตํด์ โ์ต์ข ์ฌ์ฉ์โ์ IP ๋์ญ ์ ๋ณด๋ฅผ ์ ๋ฌํ ์ ์๋ค
- Client Subnet in DNS Queries (RFC 7871)
EDNS ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ DNS ์๋ฒ : ๊ตฌ๊ธ DNS ์๋ฒ( 8.8.8.8 8.8.8.4 ) , OpenDNS ์๋ฒ ( 208.67.222.222 208.67.220.220)
EDNS ๊ธฐ๋ฅ ์ ๊ณต ํ์ธ
1
2
3
4
5
6
7
8
9
10
11# EDNS ์ ๊ณต ์
dig +nocl TXT o-o.myaddr.l.google.com @8.8.8.8 +short
"2607:f8b0:4004:c02::102"
"edns0-client-subnet 35.245.140.0/24"
dig +nocl TXT o-o.myaddr.l.google.com @8.8.4.4 +short
dig +nocl TXT o-o.myaddr.l.google.com @208.67.222.222 +short
dig +nocl TXT o-o.myaddr.l.google.com @208.67.220.220 +short
# EDNS ๋ฏธ ์ ๊ณต ์
dig +nocl TXT o-o.myaddr.l.google.com @168.126.63.1 +short
"59.18.51.28"
7.1 ENDS ๋ฏธ์ ๊ณต ํ๊ฒฝ์์ ํ ์คํธ
์๋ ์ฒ๋ผ ๋ฏธ๊ตญ ์์น ๋จ๋ง์ด MPLS VPN ๋ฑ ํ๊ฒฝ์ผ๋ก ํ๊ตญ์ ๋ฐ๋์ ๊ฒฝ์ ํ๋ ํ๊ฒฝ์ด๋ค
DNS ์๋ฒ๋ฅผ ํ๊ตญ KT DNS(EDNS ๋ฏธ์ ๊ณต)๋ฅผ ์ค์ ํ๊ณ ์ ์ ์ ํ๊ตญ์ ์์นํ ์น์๋ฒ๋ก ์ ์์ ํ๋ค
1
2
3
4
5
6
7
8
9
10
11
12
13# ๋ฏธ๊ตญ ์์น ๋จ๋ง
curl -s https://ipvigilante.com/$(curl -s checkip.amazonaws.com) | jq '.data.country_name, .data.city_name, .data.ipv4'
"United States"
null
"34.64.138.144"
dig www.google.com |grep SERVER
;; SERVER: 168.126.63.1#53(168.126.63.1)
curl geolo.gasida.net
<html><h1>Hello from MCN Web Server - Seoul Area</h1></html>
dig geolo.gasida.net +short
3.34.3.33Route 53 Query Log ํ์ธ : ์๋ 59. IP๋ ํ๊ตญ ์์น IP ์ด๋ค
7.2 EDNS ์ ๊ณต ํ๊ฒฝ์์ ํ ์คํธ
๊ตฌ๊ธ DNS ๊ฒฝ์ฐ EDNS ๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ DNS Query ์ ํ์ฅํค๋์ ์ฌ์ฉ์์ ๊ณต์ธIP๋์ญ์ ๋ด์์ ์ ๋ฌํ์ฌ Route53์์ ์ธ์ ํ ๋ฏธ๊ตญ ์์น ์น ์๋ฒ IP๋ฅผ ์ ๋ฌ ํด์ค
1
2
3
4
5
6
7
8
9
10
11
12
13
14sed -i "s/^nameserver 168.126.63.1/nameserver 8.8.8.8/g" /etc/resolv.conf
dig www.google.com |grep SERVER
;; SERVER: 8.8.8.8#53(8.8.8.8)
# ์๋์ฒ๋ผ EDNS ์ ๊ณต ์ฌ๋ถ ํ์ธ ํ ์ ์๋ค
dig +nocl TXT o-o.myaddr.l.google.com +short
"173.194.168.5"
"edns0-client-subnet 34.64.138.0/24"
curl geolo.gasida.net
<html><h1>Hello from MCN Web Server - Virgina Area</h1></html>
dig geolo.gasida.net +short
18.206.97.145EDNS ์ ํจํท ๋ด์ฉ์ ๋๋ต ์๋์ ๊ฐ๋ค
1
2
3
4# ์๋ ์ฒ๋ผ ์คํ ํ ํจํท ์บก์ณ ํด์ ํ์ธ ํด๋ณด์
dig +nocl TXT o-o.myaddr.l.google.com @8.8.8.8 +short +subnet=34.64.138.0/24
"2404:6800:400b:c002::101"
"edns0-client-subnet 34.64.138.0/24"
8. The bottom line
- ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์์ ํ๊ฒฝ์์๋ DNS GeoLocation ์ ์ฑ ์ Issue ๊ฐ ๋ฐ์ํ์ง ์์์ DNS์๋ฒ๊ฐ ๋ฐ๋์ EDNS ๋ฅผ ์ ๊ณตํ๋๊ฒ ํ์ ์๋ค
- ๋ค๋ง, VPN CDN ๋ฑ์ ํ๊ฒฝ์์ EDNS Client Subnet ์ ์ ๊ณต ์ ์ ํํ ์ฌ์ฉ์์ ์์น๋ฅผ ๊ธฐ๋ฐํ๊ธฐ ๋๋ฌธ์ ์ ๊ณต์ ๊ถ์ฅํ๋ค
๐ก ์ ์ธ๊ณ ๋ชจ๋ DNS ์๋ฒ์ EDNS ํ์ฅ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํด์ 2019 DNS Flag Day ์ ์ ์ฉ์ ํ์๋ค. ์ฐธ๊ณ ๋งํฌ