๐Ÿข 30๋ช… ์‚ฌ๋ฌด์‹ค ์ „์‚ฐ ์ธํ”„๋ผ๋ฅผ ํ˜ผ์ž ๊ตฌ์ถ•ํ•ด๋ดค๋‹ค: DNS, DHCP, Samba, NTP

“์ƒˆ ์‚ฌ๋ฌด์‹ค๋กœ ์ด์ „ํ•˜๋Š”๋ฐ, ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ ์„ธํŒ… ์ข€ ํ•ด์ฃผ์„ธ์š”.”

์ด๋ฌดํŒ€์žฅ์˜ ์ด ํ•œ ๋งˆ๋””๊ฐ€ ๋ฏธ์…˜์˜ ์‹œ์ž‘์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ง์› 30๋ช…์ด ์“ธ ์‚ฌ๋ฌด์‹ค์—๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ๊ฒƒ๋“ค์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. IP ์ž๋™ ํ• ๋‹น, ๋‚ด๋ถ€ ๋„๋ฉ”์ธ, ๋ถ€์„œ๋ณ„ ํŒŒ์ผ ๊ณต์œ , ๊ทธ๋ฆฌ๊ณ  ์‹œ๊ฐ„ ๋™๊ธฐํ™”. ์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ๊ทธ ์ „๋ถ€๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•œ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.


๐Ÿ“‹ ๋ฌด์—‡์„ ๋งŒ๋“ค์—ˆ๋‚˜?

์ˆœ์„œ๊ธฐ์ˆ ์—ญํ• ๋น„์œ 
Step 1DNS (BIND9)๋„๋ฉ”์ธ ์ด๋ฆ„ โ†” IP ๋ณ€ํ™˜์ „ํ™”๋ฒˆํ˜ธ๋ถ€
Step 2DHCP (ISC)IP ์ž๋™ ํ• ๋‹น ๋ฐ ๊ณ ์ •์ขŒ์„ ๋ฐฐ์ • ์‹œ์Šคํ…œ
Step 3Samba๋ถ€์„œ๋ณ„ ํŒŒ์ผ ๊ณต์œ ๋ถ€์„œ ์‚ฌ๋ฌผํ•จ
Step 4NTP (Chrony)์„œ๋ฒ„ ์‹œ๊ฐ„ ๋™๊ธฐํ™”ํ‘œ์ค€ ์‹œ๊ณ„ํƒ‘

์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์„ฑ

์žฅ๋น„IP์—ญํ• 
์ธํ”„๋ผ ์„œ๋ฒ„192.168.10.178DNS, DHCP, Samba, NTP ์„ค์น˜
์›น์•ฑ ์„œ๋ฒ„192.168.10.191์„œ๋น„์Šค ์„œ๋ฒ„ (ํด๋ผ์ด์–ธํŠธ ์—ญํ• )
์œˆ๋„์šฐ PC(ํด๋ผ์ด์–ธํŠธ)์ตœ์ข… ์ ‘์† ํ…Œ์ŠคํŠธ

Step 1: DNS (BIND9) โ€” ์‚ฌ๋‚ด ์ „ํ™”๋ฒˆํ˜ธ๋ถ€ ๋งŒ๋“ค๊ธฐ ๐Ÿ“–

DNS๊ฐ€ ์—†์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์ง์›๋“ค์ด ์›น ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋ ค๋ฉด 192.168.10.191์„ ์™ธ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ DNS๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด web.techflow.local์ฒ˜๋Ÿผ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์œผ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ต์…˜ ์„ค์ •: ์‚ฌ๋‚ด๋ง ์ „์ฒด(192.168.10.0/24)์—์„œ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ›๋„๋ก ํ—ˆ์šฉํ•˜๊ณ , ์™ธ๋ถ€ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์€ Google DNS(8.8.8.8)๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

options {
    recursion yes;
    allow-query { localhost; 192.168.10.0/24; };
    forwarders { 8.8.8.8; 8.8.4.4; };
    listen-on { 127.0.0.1; 192.168.10.178; };
};

์ •๋ฐฉํ–ฅ ์กด(๋„๋ฉ”์ธ โ†’ IP): web.techflow.local์ด 192.168.10.191๋กœ ์—ฐ๊ฒฐ๋˜๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

web     IN  A       192.168.10.191
api     IN  A       192.168.10.191
www     IN  CNAME   web.techflow.local.

์—ญ๋ฐฉํ–ฅ ์กด(IP โ†’ ๋„๋ฉ”์ธ): IP๋กœ ๋„๋ฉ”์ธ์„ ์—ญ์œผ๋กœ ์ฐพ๋Š” PTR ๋ ˆ์ฝ”๋“œ๋„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

DNS ์กฐํšŒ ์„ฑ๊ณต ํ™•์ธ ํ™”๋ฉด


Step 2: DHCP โ€” ๋žœ์„ ๋งŒ ๊ฝ‚์œผ๋ฉด IP๊ฐ€ ์ž๋™์œผ๋กœ! ๐Ÿ”Œ

DHCP๊ฐ€ ์—†์œผ๋ฉด ์ง์› 30๋ช…์˜ PC๋ฅผ ํ•œ ๋Œ€์”ฉ ์•‰์•„์„œ IP๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. DHCP๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๋žœ์„ ์„ ๊ฝ‚๋Š” ์ˆœ๊ฐ„ ์ž๋™์œผ๋กœ IP๋ฅผ ๋ฐ›์•„๊ฐ‘๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ํฌ์ธํŠธ: ์„œ๋ฒ„๋Š” IP๊ฐ€ ๋ฐ”๋€Œ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธํ”„๋ผ ์„œ๋ฒ„ (178): Netplan์œผ๋กœ OS ๋ ˆ๋ฒจ์—์„œ ์ง์ ‘ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์›น์•ฑ ์„œ๋ฒ„ (191): DHCP์— MAC ์ฃผ์†Œ๋ฅผ ๋“ฑ๋กํ•ด์„œ ํ•ญ์ƒ ๊ฐ™์€ IP๋ฅผ ๋ฐ›๋„๋ก ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.
# ์ธํ”„๋ผ ์„œ๋ฒ„ ๋„คํŠธ์›Œํฌ ํ™•์ธ
ip -c addr show

Netplan ๊ณ ์ • IP ์„ค์ • ํ›„ ํ™•์ธ ํ™”๋ฉด

DHCP ์„ค์ • ํŒŒ์ผ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.200 192.168.10.210;     # ์ผ๋ฐ˜ PC์šฉ ์ž๋™ ํ• ๋‹น ๋ฒ”์œ„
    option routers 192.168.10.1;
    option domain-name-servers 192.168.10.178; # ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  DNS ์„œ๋ฒ„!
}

# ์›น ์„œ๋ฒ„๋Š” MAC ์ฃผ์†Œ๋กœ IP๋ฅผ ๊ณ ์ • ์˜ˆ์•ฝ
host web-server {
    hardware ethernet 08:00:27:24:d4:d6;
    fixed-address 192.168.10.191;
}

Step 3: Samba โ€” ๋ถ€์„œ๋ณ„ ์ž๋ฌผ์‡ ๊ฐ€ ๋‹ฌ๋ฆฐ ์‚ฌ๋ฌผํ•จ ๐Ÿ“

Samba๋ฅผ ์“ฐ๋ฉด ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ ํด๋”๋ฅผ ์œˆ๋„์šฐ/๋ฆฌ๋ˆ…์Šค ์–ด๋””์„œ๋“  ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ์ฒ˜๋Ÿผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ตฌ์„ฑ์€ ์„ธ ๊ฐœ์˜ ๊ณต์œ  ํด๋”๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

ํด๋”๋Œ€์ƒ์ ‘๊ทผ ๊ถŒํ•œ
Public๋ชจ๋‘์ฝ๊ธฐ/์“ฐ๊ธฐ
Development๊ฐœ๋ฐœํŒ€(dev-team)ํŒ€์›๋งŒ ์ ‘๊ทผ
HR์ธ์‚ฌํŒ€(hr-team)ํŒ€์›๋งŒ ์ ‘๊ทผ

๊ฐœ๋ฐœํŒ€ ํด๋”์˜ ํ•ต์‹ฌ ๊ถŒํ•œ ์„ค์ •์€ chmod 2770์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งจ ์•ž 2(SGID) ๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

2๊ฐ€ ์—†์œผ๋ฉด ์ฒ ์ˆ˜๊ฐ€ ๋งŒ๋“  ํŒŒ์ผ์˜ ์†Œ์œ  ๊ทธ๋ฃน์ด ์ฒ ์ˆ˜ ๊ฐœ์ธ์ด ๋˜์–ด ์˜ํฌ๊ฐ€ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. 2๋ฅผ ๋ถ™์ด๋ฉด ํด๋” ์•ˆ์—์„œ ๋งŒ๋“  ํŒŒ์ผ์€ ์ž๋™์œผ๋กœ dev-team ๊ทธ๋ฃน์„ ์ƒ์†๋ฐ›์•„ ํŒ€์› ๋ชจ๋‘๊ฐ€ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜‘์—…์„ ์œ„ํ•œ SGID: “์—ฌ๊ธฐ์„œ ํƒœ์–ด๋‚œ ํŒŒ์ผ์€ ๋ฌด์กฐ๊ฑด dev-team ๋ฑƒ์ง€๋ฅผ ๋‹ฌ์•„๋ผ”

sudo chown root:dev-team /srv/samba/development
sudo chmod 2770 /srv/samba/development

๊ฐœ๋ฐœํŒ€ ํด๋” ์ ‘์† ์„ฑ๊ณต ํ™”๋ฉด

์ธ์‚ฌํŒ€ ํด๋” ๊ถŒํ•œ ๊ฑฐ๋ถ€ ํ™•์ธ ํ™”๋ฉด – ๊ฐœ๋ฐœํŒ€์ด HR ํด๋”์— ์ ‘๊ทผํ•˜๋ฉด ๋ง‰ํž™๋‹ˆ๋‹ค.


Step 4: Chrony NTP โ€” ๋ชจ๋“  ์„œ๋ฒ„์˜ ์‹œ๊ณ„๋ฅผ ๋งž์ถ”๋‹ค โฐ

์‹œ๊ฐ„ ๋™๊ธฐํ™”๊ฐ€ ์™œ ์ค‘์š”ํ• ๊นŒ์š”? ๋กœ๊ทธ ๋ถ„์„, ๋ณด์•ˆ ์ธ์ฆ, SSL ์ธ์ฆ์„œ ๋“ฑ ์„œ๋ฒ„์˜ ์ˆ˜๋งŽ์€ ๊ธฐ๋Šฅ์ด ์ •ํ™•ํ•œ ์‹œ๊ฐ„์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋งˆ๋‹ค ์‹œ๊ฐ„์ด 5์ดˆ์”ฉ ๋‹ค๋ฅด๋ฉด ๋กœ๊ทธ ๋ถ„์„์ด ์—‰๋ง์ด ๋ฉ๋‹ˆ๋‹ค.

Chrony ์„ค์ •์˜ ํ•ต์‹ฌ์€ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

# ์ƒ์œ„ ์‹œ๊ฐ„ ์„œ๋ฒ„ (Google, Cloudflare)
server time.google.com iburst
server time.cloudflare.com iburst

# ์‚ฌ๋‚ด๋ง์—์„œ๋งŒ ์‹œ๊ฐ„ ์š”์ฒญ ํ—ˆ์šฉ
allow 192.168.10.0/24

# ์ธํ„ฐ๋„ท์ด ๋Š๊ฒจ๋„ ์ž์ฒด ์‹œ๊ณ„๋กœ ์„œ๋น„์Šค
local stratum 10

local stratum 10์€ ์ธํ„ฐ๋„ท์ด ๋Š๊ธฐ๋”๋ผ๋„ ์ด ์„œ๋ฒ„ ์ž์ฒด ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋“ค์—๊ฒŒ ๋™๊ธฐํ™”๋ฅผ ๊ณ„์† ์ œ๊ณตํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ์—†๋Š” ๊ฒฉ๋ฆฌ ํ™˜๊ฒฝ์—์„œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ ์ „์ฒด ์„œ๋น„์Šค ์ตœ์ข… ์ ๊ฒ€

# DNS โ€” ๋„๋ฉ”์ธ์ด IP๋กœ ์ž˜ ๋ฐ”๋€Œ๋Š”์ง€
dig @localhost web.techflow.local +short   # 192.168.10.191 ์‘๋‹ต ํ™•์ธ

# DHCP โ€” ์„œ๋น„์Šค ์‹คํ–‰ ์ค‘์ธ์ง€
systemctl is-active isc-dhcp-server

# Samba โ€” ๊ณต์œ  ํด๋” ๋ชฉ๋ก์ด ๋ณด์ด๋Š”์ง€
smbclient -L localhost -U%

# NTP โ€” ์‹œ๊ฐ„ ๋™๊ธฐํ™” ๊ณ„์ธต ํ™•์ธ
chronyc tracking

์ธํ”„๋ผ ์„œ๋ฒ„ ์ตœ์ข… ์ ๊ฒ€ ๊ฒฐ๊ณผ

์›น์•ฑ ์„œ๋ฒ„ ์ตœ์ข… ์ ๊ฒ€ ๊ฒฐ๊ณผ

์ „์ฒด ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์ตœ์ข… ๋‹ค์ด์–ด๊ทธ๋žจ


๐Ÿ’ก ๋ฏธ์…˜์„ ๋งˆ์น˜๋ฉฐ

์ด๋ฒˆ ๋ฏธ์…˜์€ ๊ฐ€์žฅ “์‹ค๋ฌด์Šค๋Ÿฌ์šด” ๋‚ด์šฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. DNS, DHCP, Samba, NTP๋Š” ์‹ค์ œ ํšŒ์‚ฌ ์ „์‚ฐ์‹ค์—์„œ ๋งค์ผ ๋Œ์•„๊ฐ€๋Š” ์„œ๋น„์Šค๋“ค์ด๊ฑฐ๋“ ์š”.

ํŠนํžˆ ์ด ๋„ค ๊ฐ€์ง€๋ฅผ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ๋‚˜์„œ์•ผ “ํšŒ์‚ฌ ๋„คํŠธ์›Œํฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€”๋ฅผ ์ดํ•ดํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ๋žœ์„ ์„ ๊ฝ‚์œผ๋ฉด IP๊ฐ€ ์ž๋™์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ, ์ด๋ฆ„์œผ๋กœ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋Š” ๊ฒƒ, ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ๊ฐ€ ์—ด๋ฆฌ๋Š” ๊ฒƒ โ€” ์ด ๋ชจ๋“  ๊ฒŒ ๋’ค์—์„œ ์ด๋ ‡๊ฒŒ ๋™์ž‘ํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฒ๋‹ˆ๋‹ค. ๐Ÿข