π©κ°μ
νμ¬μμ λ§€μΌ μ½μ΄ νλ μμν¬ ν
μ€νΈμΌμ΄μ€λ₯Ό νκ· ν
μ€νΈ μ§νμ€μ
λλ€. νμ§λ§ κ·Όλμ SOA λ μ½λ ν
μ€νΈμΌμ΄μ€κ° λ§€λ² μ€ν¨νμ΅λλ€.
μ΄μ λ DNS μ SOA λ μ½λμμ μλ¦¬μΌ λλ²κ° κ³μ λ¬λΌμμμ΅λλ€.
const arry = [
"0.0.0.0", "1.1.1.1", "2.2.2.2", "3.3.3.3"
]
const dns = new $Dns_Client(arry, 3000);
const records = dns.getSoaRecord("dns test url");
for (const record of records) {
Assert.equal(record.masterName, "ns1.xxx.net.");
Assert.equal(record.responsibleName, "hostmaster.xxxx.net.");
Assert.equal(record.serialNumber, 2024112113); // μ€ν¨ λ°μ
Assert.equal(record.expireInterval, 86400);
Assert.equal(record.negativeCachingTTL, 300);
console.log(record.toString());
}
export { }
SOA λ μ½λκ° μ λ¬λΌμ‘λμ§μ, DNS λ μ½λλ€μ΄ 무μμΈμ§ μμλ³΄κ² μ΅λλ€.
π λ¨Όμ DNSλ?
DNS λ Domain Name System μ μ½μμ
λλ€.
μ¬λμκ² μΉμν λλ©μΈ μ΄λ¦(μ: `example.com`)μ μ»΄ν¨ν°κ° μ΄ν΄ν μ μλ IP μ£Όμ(μ: `223.130.200.107`)λ‘ λ°κΏμ£Όλ μμ€ν
μ
λλ€.
μμλ₯Ό νλ λ€κ² μ΅λλ€. λΈλΌμ°μ μ£Όμμ°½μ μλμ κ°μ΄ μ λ ₯νμμ΅λλ€.
testdomain.co.kr
νμ§λ§ μ»΄ν¨ν°λ μ΄λ κ² μκ°ν©λλ€.
"μ μνλ €λ©΄ IP μ£Όμκ° νμν΄! " testdomain.co.kr "μ μ«μ λͺ λ²μ΄μΌ?"
β‘οΈ μ΄λ DNSκ° μ΄λ¦μ IP μ£Όμλ‘ λ°κΏμ€λλ€.
- μλ₯Ό λ€μ΄ testdomain.co.kr → 172.130.200.107
λμ νλ¦ μμ½
1. λΈλΌμ°μ κ° λλ©μΈμ μ
λ ₯λ°μ ( " testdomain.co.kr " )
2. μ΄μ체μ κ° DNS μλ²μ μ§λ¬Έν¨.
3. DNS μλ²κ° IP μ£Όμλ₯Ό μλ΅ν΄μ€
4. λΈλΌμ°μ κ° ν΄λΉ IPλ‘ μ μ
πͺ§DNS μλΉμ€
DNS λ μ½λλ₯Ό μ‘°μν μ μλ μλΉμ€λ μ¬λ¬κ°μ§κ° μμ΅λλ€. μ λ "AWS Route53" μλΉμ€ μ "κ°λΉμ" λ₯Ό μ΄μ©ν΄μ λλ©μΈμ λ μ½λλ₯Ό μ€μ ν΄λ³Έ μ μ΄ μμ΅λλ€. Aλ μ½λμ AAAA λ μ½λ, CNAME λ μ½λλ λ±λ‘ν΄ λ³Έμ μ΄ μμ΄λ, NS λ° SOA λ μ½λλ κΈ°λ³Έκ°μΌλ‘ μ¬μ©νμμ΅λλ€. κ·Έλμ μμΈνκ² μμλ³΄μ§ λͺ»ν SOA λ μ½λ λ° λ€λ₯Έ λ μ½λλ€μ μ’ λ μμλ³΄λ €κ³ ν©λλ€.
λ¨Όμ μ ν¬ νμ¬μ DNS λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
μ¬λ΄ DNS
μ ν¬ νμ¬μμ μμ νμ¬ μλΉμ€λ₯Ό μ΄μ©νκ³ μμ§ μμ΅λλ€. κ·Έ μ΄μ λ μλ§λ λΉμ© λ¬Έμ κ² μ£ ? μ°λ¦¬κ° μ§μ ꡬμΆν μ μλλ°, κ΅³μ΄ μ λ£ μλΉμ€λ₯Ό μ΄μ©ν νμκ° μμΌλκΉμ.
μ΄μ κ΄λ ¨ν΄μλ SA νμ μ±
μλκ» μ¬μ€λ΄€μ΅λλ€.
Q. μ ν¬ νμ¬μμλ DNS μλΉμ€λ‘λ μ΄λκΊΌ μ¬μ©νκ³ μλμ?
A. μ ν¬λ DNS μλ²λ₯Ό λ°λ‘ ꡬμΆν΄μ μ°κ³ μμ΅λλ€. μ€κ΅λ§ μ
체 ν΅ν΄μ μ¬μ©νκ³ μꡬμ.
Q. κ·ΈλΌ κ΅¬μ
ν λλ©μΈμ DNSμλ²μμ BIND κ°μ μ€ν μμ€λ₯Ό μ€μΉν΄μ μμ€ν
μ ꡬμΆνλ 건κ°μ?
A. λ€, λ§μ΅λλ€!
π‘ BINDλ?
Berkeley Internet Name Domain
κ°μ₯ λ리 μ¬μ©λλ DNS μλ² μννΈμ¨μ΄μ λλ€.
리λ μ€μμ μ체 DNS μλ²λ₯Ό ꡬμΆν λ νμ€μ²λΌ μ¬μ©λ©λλ€.
β
DNS λ μ½λλ?
DNS λ μ½λ μ’ λ₯
λ μ½λ
|
μ€λͺ
|
μμ
|
A (Address) | λλ©μΈ → IPv4 μ£Όμ λ§€ν | example.com → 192.0.2.1 |
AAAA | λλ©μΈ → IPv6 μ£Όμ λ§€ν | example.com → 2001:db8::1 |
CNAME (Canonical Name) | λλ©μΈ λ³μΉ μ€μ (리λλ μ μ²λΌ) | www.example.com → example.com |
MX (Mail Exchange) | λ©μΌ μλ² μ€μ | example.com → mail.example.com (μ°μ μμ 10) |
TXT | ν μ€νΈ μ 보 μ μ₯ (SPF, DKIM λ± μΈμ¦μ©) | v=spf1 include:_spf.google.com ~all |
NS | ν΄λΉ λλ©μΈμ κ΄λ¦¬νλ λ€μμλ² μ§μ | example.com → ns1.dns.com |
SOA | λλ©μΈ κΆν μ 보μ κΈ°λ³Έ μ€μ | λλ©μΈ κ΄λ¦¬μ, μλ¦¬μΌ λ²νΈ λ± |
PTR | IP μ£Όμ → λλ©μΈ (μλ°©ν₯ μ‘°ν) | 192.0.2.1 → example.com |
SRV | νΉμ μλΉμ€μ© μλ² μμΉ μ 보 | _sip._tcp.example.com → sipserver.example.com |
SOA λ μ½λ
SOA (Start of Authority) λ μ½λλ DNS μ‘΄(zone)μ μ΅μμ μ 보λ₯Ό λ΄κ³ μλ νμ λ μ½λμ
λλ€.
- μ΄ λλ©μΈμ λν΄ κΆνμ κ°μ§ λ€μμλ²(NS)κ° λꡬμΈμ§
- μ‘΄ λ°μ΄ν°μ λ³κ²½ μμ , μ ν μ£ΌκΈ°, μ ν¨ μκ° λ±μ μ μν©λλ€.
@ IN SOA ns1.example.com. admin.example.com. (
2025041101 ; Serial (λ²μ )
3600 ; Refresh (μ¬λ μ΄λΈκ° λ§μ€ν°μκ² λ³κ²½ μ¬λΆ νμΈ μ£ΌκΈ°)
1800 ; Retry (μ€ν¨νμ κ²½μ° μ¬μλ μ£ΌκΈ°)
604800 ; Expire (λ§μ€ν°μ ν΅μ λΆκ° μ μ¬λ μ΄λΈκ° λ°μ΄ν° νκΈ°κΉμ§ λκΈ° μκ°)
86400 ; Minimum TTL (κΈ°λ³Έ μΊμ μ ν¨ μκ°)
)
β
νλͺ© | μ€λͺ |
MNAME / primary name | λλ©μΈμ λν κΈ°λ³Έ νΈμ€νΈλ€μ |
RNAME / mail addr | κ΄λ¦¬μμ μ΄λ©μΌ μ£Όμ. μΌλ°μ μΈ μ΄λ©μΌ νμμΈ @κ° μλλΌ λ§μΉ¨νκ° λ€μ΄μμ. |
serial | λλ©μΈμ κ°±μ λ²μ λ²νΈ. μΌλ°μ μΌλ‘ λ μ§(YYYYMMDD) νμ. |
refresh | λλ©μΈ μμμ λ°μ΄ν° κ°±μ μ¬λΆλ₯Ό 체ν¬νλ μ£ΌκΈ° (μ΄ λ¨μ) |
retry | μ₯μ λ±μ μ΄μ λ‘ refresh μ£ΌκΈ°λ‘ μ²΄ν¬νμ§ λͺ»νμ κ²½μ°, 체ν¬λ₯Ό μ¬μλνλ μ£ΌκΈ°(μ΄ λ¨μ) |
expire | retry μ£ΌκΈ°λ‘ μ²΄ν¬λ₯Ό μμ°¨λ‘ λ°λ³΅νλ€κ°, λλ©μΈμ λ μ΄μ μ λ’°ν μ μλ μμμ΄λΌκ³ κ°μ£Όν΄ μλΉμ€λ₯Ό μ€λ¨νλ μ΅λ κΈ°ν |
minimum | λλ©μΈμ μ°Ύμ μ μλ κ²½μ°, λ€μ μλ²κ° λλ©μΈμ λΆμ¬ μ 보λ₯Ό μΊμ±νλ μκ° |
λ§λ¬΄λ¦¬
νμ¬ μ¬λ΄μμ νΉμ μ‘΄μ μλ² μμ μμ
μ΄ μμ΄μ, λ§€λ² μμ μμ λ²μ μ λ³΄μΈ μλ¦¬μΌ λλ²λ₯Ό μμ ν΄μ£Όκ³ μμμ΅λλ€.
μΌλ°μ μΌλ‘ μμ λ μ§λ₯Ό λ²μ μ λ³΄λ‘ κ°μ΅λλ€.
μμ νμ¬ λ°°ν¬ν λ λ§λ€ μλ¦¬μΌ λλ²κ° λ°λκΈ° λλ¬Έμ νκ· ν μ€νΈμμ νμΈνλ μλ¦¬μΌ λλ²λ ꡬ λλ²κ° λΌμ λ§€λ² μ΄μκ° λ°μνμ΅λλ€.
μ리μΌλλ² λΆμΌμΉ λλΆμ SOA λ μ½λμ λν΄ νμ΅ν μ μμμ΅λλ€.
'Computer Science > Network' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
IPC ν¨ν΄ (Sync ν΅μ vs Async ν΅μ ) (0) | 2024.10.26 |
---|
λκΈ