Netplan - ์šฐ๋ถ„ํˆฌ(๋ฆฌ๋ˆ…์Šค) ๋„คํŠธ์›Œํฌ ์„ค์ •

๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”. ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์“ด์ง€ ์–ด๋Š ๋ง 3๊ฐœ์›”์ด ๋˜์–ด ๊ฐ€๋„ค์š”. ๋งŽ์€ ์ •๋ณด๋“ค์„ ๋‚จ๊ธฐ๊ณ  ๊ณต์œ ํ•˜๊ณ ์ž ๋ธ”๋กœ๊ทธ ํ™œ๋™์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์ง€๋งŒ ๊ณต๊ต๋กญ๊ฒŒ๋„ ๋ชจ์ž๋ฅธ ์‹œ๊ฐ„ ๋•ํƒ์— ์ด์ œ๋Š” ์ด ํ™œ๋™๋„ ์ ์ฐจ ์ค„์–ด๊ฐ€๊ณ  ์žˆ๋„ค์š”. ํ•˜์ง€๋งŒ ๋ธ”๋กœ๊ทธ ํ™œ๋™์˜ ์ค‘๋‹จ ๊ณ„ํš์€ ์—†์œผ๋‹ˆ, ์•ž์œผ๋กœ๋„ ๊ณ„์† ๋งŽ์€ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ๋ฐ์Šคํฌํ†ฑ๊ณผ ์„œ๋ฒ„ ๋ชจ๋‘ CentOS๊ฐ€ ์•„๋‹Œ Ubuntu Server OS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์•„์˜ˆ CentOS๋ฅผ ๋ฐฐ์ œํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ์•„๋ฌด๋ž˜๋„ PC ์šด์˜์ฒด์ œ๋ฅผ Ubuntu๋กœ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ CentOS์— ๋น„ํ•ด์„œ ๋” ํŽธํ•œ ๋Š๋‚Œ์ด ์žˆ๋‹ค๊ณ  ํ•ด์•ผ ํ• ๊นŒ์š”.. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— ์šฐ๋ถ„ํˆฌ 18.04 ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ๋„คํŠธ์›Œํฌ ์„ค์ •์ด ์กฐ๊ธˆ ๋ฐ”๋€ ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


์šฐ๋ถ„ํˆฌ ๋„คํŠธ์›Œํฌ ์„ค์ •

๋ณดํ†ต ๋ฆฌ๋ˆ…์Šค์—์„œ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์„ค์ •ํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค.

1. ip route ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ •

2. /etc/network/interfaces ํŒŒ์ผ์—์„œ ๋„คํŠธ์›Œํฌ ์„ค์ •

3. NetworkManager ๋ Œ๋”๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ •

4. Networkd ๋ Œ๋”๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ •

3๋ฒˆ ๋ฐฉ๋ฒ•์˜ ๊ฒฝ์šฐ ์ตœ๊ทผ์— ์ œ๊ฐ€ ์šฐ๋ถ„ํˆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ผ๋˜ ๋ฐฉ๋ฒ•์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต X-Window (xorg, wayland) ํ™˜๊ฒฝ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ณ , CLI์™€ ๊ฐ™์€ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ๋Š” 4๋ฒˆ ๋ฐฉ๋ฒ•์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ฃ . ์ด๋ฒˆ์—” 3, 4๋ฒˆ ๋ฐฉ๋ฒ•๋ณด๋‹ค ๋” ์‰ฌ์šด yaml์„ ์‚ฌ์šฉํ•œ ์„ค์ • ๋ฐฉ๋ฒ•์ด ๋“ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Ubuntu Netplan


Netplan

Netplan์€ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ Systemd ์ดํ›„๋กœ ์ƒˆ๋กœ์ด ๋ฐ”๋€ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ๋ชฌ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐ๋ชฌ์—์„œ๋Š” ๊ธฐ์กด์˜ NetworkManager ๋ Œ๋”๋Ÿฌ์™€ networkd ๋ Œ๋”๋Ÿฌ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํ†ตํ•ฉ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.

์œ„ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด๋ณด๋ฉด, DHCP, VLAN, Bonding ๋“ฑ์„ yml ํ˜•์‹์œผ๋กœ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐˆ์ˆ˜๋ก ์šฐ๋ถ„ํˆฌ๋„ Spring boot, Node.js์ฒ˜๋Ÿผ ๋” ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•œ ์„ค์ • ์Šคํƒ€์ผ๋กœ ๊ฐ€๊ณ  ์žˆ์Œ์„ ์•Œ๋ ค์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ NetworkManager๋กœ ๋ Œ๋”๋Ÿฌ๋งŒ ์„ค์ •ํ•ด์ค€๋‹ค๋ฉด, Gnome ํ™˜๊ฒฝ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์„ค์ • ํˆด๋กœ ์ž์œ ๋กญ๊ฒŒ ์„ค์ •ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ•˜์ง€๋งŒ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ๋Š” Networkd ๋ Œ๋”๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•จ๊ณผ ๋”๋ถˆ์–ด ์„ค์ •์„ CLI์—์„œ ํ•˜์—ฌ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ yaml ํŒŒ์ผ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ์„ค์ •ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

๊ทธ๋Ÿผ ์ด์ œ ์ƒ์„ธํ•œ ์„ค์ • ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฒƒ์„ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด์„œ ํ•œ ๋ฒˆ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


Example

์˜ˆ์ œ๋ฅผ ์ฐธ๊ณ ํ•˜๊ธฐ ์ „์—: ์ด ์˜ˆ์ œ๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์ˆœํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์„ค์ •ํ•˜์‹œ๋Š” ๋„คํŠธ์›Œํฌ ์„ค์ •๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐ˜๋“œ์‹œ ์„ค์ •์„ ์ง„ํ–‰ํ•˜์‹œ๊ธฐ ์ „์— ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹  ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜์‹  ๋’ค์— ์„ค์ •์„ ์ง„ํ–‰ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์œ„ ์‚ฌํ•ญ์„ ๋”ฐ๋ฅด์ง€ ์•Š๊ณ  ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ, ํŠนํžˆ ์‹ค ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜์‹ค ๋•Œ๋Š” ๋„คํŠธ์›Œํฌ ์žฅ์•  ๋ฐ ์„œ๋น„์Šค ์žฅ์• ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Œ์„ ํ•ญ์ƒ ๊ธฐ์–ตํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.


1. ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ์žฅ์น˜ ํ•œ ๊ฐœ ์„ค์ •

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

ํ˜น์€ ์ˆ˜๋™์œผ๋กœ IP๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ , ์ž๋™์œผ๋กœ IP๋ฅผ ๋ถ€์—ฌํ•˜์‹ค ๊ฒฝ์šฐ์—๋Š” ๋‹ค๋ฅธ ๋‚ด์šฉ์€ ์ฃผ์„ ํ˜น์€ ์ œ๊ฑฐํ•˜์‹œ๊ณ , dhcp4 ํ”Œ๋ž˜๊ทธ๋ฅผ true๋กœ ์„ค์ •ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ณ„์ ์œผ๋กœ DNS ์ฃผ์†Œ๋งŒ ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•˜์‹œ๋Š” ๊ฒฝ์šฐ์—๋Š” nameservers ๋ž€์€ ๋‚จ๊ฒจ๋‘์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


2. ์—ฌ๋Ÿฌ ๊ฐœ ๋„คํŠธ์›Œํฌ ์žฅ์น˜ ์„ค์ •

์—ฌ๋Ÿฌ ๊ฐœ ์žฅ์น˜๋ฅผ ์„ค์ •ํ•  ๋•Œ๋Š” ๋ฉ”ํŠธ๋ฆญ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์žฅ์น˜ ์ค‘ ์ด ์„œ๋ฒ„์—์„œ ์–ด๋–ค ๊ฑธ ์šฐ์„  ์ˆœ์œ„๋กœ ๋†“๊ณ  ์žก์„์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์™ธ๋ถ€๋ง์„ ์ด์šฉํ•ด ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ์ด ๊ณผ์ • ์ค‘์—์„œ ์ธํ„ฐ๋„ท์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ง์ด ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œ„ ์˜ˆ์ œ๋Š” ๋„คํŠธ์›Œํฌ ์žฅ์น˜๊ฐ€ 3๊ฐœ ์žˆ์„ ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด, ํ•œ ๊ฐœ๋Š” DHCP, ๋‘ ๊ฐœ๋Š” ์ •์  IP์ธ๋ฐ, ํ•œ ๊ฐœ๋Š” ์™ธ๋ถ€๋ง, ๋‹ค๋ฅธ ํ•œ ๊ฐœ๋Š” ๋‚ด๋ถ€๋ง์ž„์„ ์˜ˆ์‹œ๋กœ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์„ค์ • ๋ฐฉ๋ฒ•์€ 1๋ฒˆ๊ณผ ๋น„์Šทํ•˜๋‚˜ routes ์˜ต์…˜์„ ์ฃผ์–ด ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.


3. ๋ฌด์„  ๋„คํŠธ์›Œํฌ(Wireless) ์„ค์ •

์„ค์ • ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ๋ฌด์„  ๋„คํŠธ์›Œํฌ์—์„œ DHCP ์—†์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†๊ฒ ์ง€๋งŒ ์ผ๋‹จ ์„ค๋ช…์˜ ๋””ํ…Œ์ผ์„ ์œ„ํ•ด์„œ ๋ฌด์„  ํ™˜๊ฒฝ ๋˜ํ•œ ์ˆ˜๋™์œผ๋กœ IP ์„ค์ •ํ•œ๋‹ค๊ณ  ์ ์–ด๋ดค์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  DHCP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด true๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. access_points์—์„œ SSID_NAME์„ ๋ฐ˜๋“œ์‹œ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์„ค์ •ํ•˜์‹  SSID ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ ์œผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์„  ๋„คํŠธ์›Œํฌ ์„ค์ •์‹œ ํŒจ์Šค์›Œ๋“œ๋Š” ํ‰๋ฌธ์œผ๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ ๊ถŒํ•œ์— ์œ ์˜ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.


๋งˆ์น˜๋ฉฐ..

์—ฌ๊ธฐ๊นŒ์ง€ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ์šฐ๋ถ„ํˆฌ์˜ ๋„คํŠธ์›Œํฌ ์„ค์ •์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ์ด์ „ ์„ค์ • ๋ฐฉ๋ฒ•๋ณด๋‹ค ๋งค์šฐ ๊น”๋”ํ•ด์ง€๊ณ  ๋” ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง„ Netplan ์ด๋ผ๊ณ  ๋ง์”€๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์žฅ์น˜๊ฐ€ ๊ตฌ์„ฑ๋œ ์„œ๋ฒ„์—์„œ๋„ ์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋‹๋ณด์˜€์Šต๋‹ˆ๋‹ค.

๋ง๋ถ™์—ฌ์„œ Gist์— ์˜ฌ๋ฆฐ ์ฝ”๋“œ์—๋Š” cloud-init ์ด๋ผ๋Š” ํŒŒ์ผ ์ด๋ฆ„์ด ๋ถ™์–ด ์žˆ๋Š”๋ฐ, ์ด๋Š” ๊ทธ๋ ‡๊ฒŒ ํฌ๊ฒŒ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์œผ์…”๋„ ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ ์„œ๋ฒ„ OS์˜ ๋ฐฐํฌํŒ์ด ์ผ๋ฐ˜ ์„œ๋ฒ„ํŒ๊ณผ ํด๋ผ์šฐ๋“œํŒ์œผ๋กœ ๋‚˜๋ˆ„์–ด์กŒ๋Š”๋ฐ, ํด๋ผ์šฐ๋“œ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ cloud-init.yaml ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ณ , ์ผ๋ฐ˜ ์„œ๋ฒ„ ๋ฒ„์ „์€ netcfg.yaml ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„๋งŒ ๋‹ค๋ฅผ ๋ฟ ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์œผ์…”๋„ ๋ฉ๋‹ˆ๋‹ค. ^^;

๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments