Netplan ๋ฐ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ค€๋น„ํ•˜๋Š” ๋ฐฉ๋ฒ•

Ubuntu๋Š” ๋†€๋ผ์šด ์šด์˜ ์ฒด์ œ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์˜ค๋žซ๋™์•ˆ Ubuntu ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์•ˆ์ •์ ์ธ ๋ฒ„์ „์—์„œ ๋ฐ์Šคํฌํƒ‘์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ผ๋งˆ ์ „ ์ €๋Š” Ubuntu ์„œ๋ฒ„ 18.04์˜ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์‹œ๋Œ€์— ํ•œ์—†์ด ๋’ค์ณ์ ธ ์žˆ๊ณ  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค์ •ํ•˜๋Š” ์ข‹์€ ์˜ค๋ž˜๋œ ์‹œ์Šคํ…œ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ฌ์•˜์„ ๋•Œ ์ €๋Š” ๋์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. /etc/network ํŒŒ์ผ /interfaces๋ฅผ ํŽธ์ง‘ํ•˜๋Š” ์ž‘์—…์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์„ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์ด ์™”์Šต๋‹ˆ๊นŒ? ๋”์ฐํ•˜๊ณ  ์–ธ๋œป๋ณด๊ธฐ์—๋Š” ์™„์ „ํžˆ ์ดํ•ดํ•  ์ˆ˜์—†๋Š” ์ผ์ด "Netplan"์„ ๋งŒ๋‚˜๋ณด์„ธ์š”.

์†”์งํžˆ ์ฒ˜์Œ์—๋Š” ๋ญ๊ฐ€ ๋ฌธ์ œ์ธ์ง€, '๋ชจ๋“  ๊ฒŒ ์ด๋ ‡๊ฒŒ ํŽธ๋ฆฌํ•˜๋‹ˆ๊นŒ ์ด๊ฒŒ ์™œ ํ•„์š”ํ•œ์ง€' ์ดํ•ดํ•  ์ˆ˜ ์—†์—ˆ์ง€๋งŒ, ์กฐ๊ธˆ ์—ฐ์Šตํ•œ ํ›„์—๋Š” ๋‚˜๋ฆ„์˜ ๋งค๋ ฅ์ด ์žˆ๋‹ค๋Š” ๊ฑธ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. Netplan์ด ๋ฌด์—‡์ธ์ง€ ๊ณ„์†ํ•ด์„œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Ubuntu์˜ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค. ์ ์–ด๋„ "๋‹ค๋ฅธ ๋ฐฐํฌํŒ์—์„œ๋Š” ์ด์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค." Netplan์˜ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์€ ๊ตฌ์„ฑ์ด ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–Œ, ๋„ค, ๋งž์Šต๋‹ˆ๋‹ค. YAML์ด ๋งž๋‹ค๊ณ  ๋“ค์—ˆ๊ณ , ๊ฐœ๋ฐœ์ž๋“ค์€ ์‹œ๋Œ€์— ๋’ค์ฒ˜์ง€์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค(์•„๋ฌด๋ฆฌ ์นญ์ฐฌํ•ด๋„ ์—ฌ์ „ํžˆ ๋”์ฐํ•œ ์–ธ์–ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค). ์ด ์–ธ์–ด์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์€ ๊ณต๋ฐฑ์— ๋งค์šฐ ๋ฏผ๊ฐํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ์€ /etc/netplan/filename.yaml ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ์œ„์น˜ํ•˜๋ฉฐ, ๊ฐ ๋ธ”๋ก ์‚ฌ์ด์—๋Š” + 2๊ฐœ์˜ ๊ณต๋ฐฑ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1) ํ‘œ์ค€ ํ—ค๋”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4:no

์ง€๊ธˆ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํฌ: - ๊ตฌ์„ฑ ๋ธ”๋ก์˜ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค.
  • ๋ Œ๋”๋Ÿฌ: networkd - ์—ฌ๊ธฐ์„œ๋Š” ์‚ฌ์šฉํ•  ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” networkd ๋˜๋Š” NetworkManager์ž…๋‹ˆ๋‹ค.
  • ๋ฒ„์ „: 2 - ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์—ฌ๊ธฐ๋Š” YAML ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
  • ์ด๋”๋„ท: - ์ด ๋ธ”๋ก์€ ์ด๋”๋„ท ํ”„๋กœํ† ์ฝœ์„ ๊ตฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • enps0f0: โ€” ๊ตฌ์„ฑํ•  ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • dhcp4:no - ๊ฐ๊ฐ 4 v6 dhcp6์— ๋Œ€ํ•ด DHCP v6๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

2) IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

    enp3s0f0:
      dhcp4:no
      macaddress: bb:11:13:ab:ff:32
      addresses: [10.10.10.2/24, 10.10.10.3/24]
      gateway4: 10.10.10.1
      nameservers:
        addresses: 8.8.8.8

์—ฌ๊ธฐ์—์„œ๋Š” poppy, ipv4, ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐ DNS ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋’ค์— ํ•„์ˆ˜ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

3) ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ? ๋ณธ๋”ฉ?

  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

  • bond: - ๋ณธ๋”ฉ์„ ๊ตฌ์„ฑํ•  ๊ฒƒ์ž„์„ ์„ค๋ช…ํ•˜๋Š” ๋ธ”๋ก์ž…๋‹ˆ๋‹ค.
  • bond0: - ์ž„์˜์˜ ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„.
  • ์ธํ„ฐํŽ˜์ด์Šค: - ๋ณธ๋”ฉ์—์„œ ์ˆ˜์ง‘๋œ ์ธํ„ฐํŽ˜์ด์Šค ์„ธํŠธ์ž…๋‹ˆ๋‹ค. "์•ž์„œ ์„ค๋ช…ํ•œ ๋Œ€๋กœ ์—ฌ๋Ÿฌ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ๋Œ€๊ด„ํ˜ธ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค."
  • ๋งค๊ฐœ๋ณ€์ˆ˜: โ€” ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ • ๋ธ”๋ก์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  • mode: โ€” ๋ณธ๋”ฉ์ด ์ž‘๋™ํ•˜๋Š” ๋ชจ๋“œ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • mii-monitor-interval: โ€” ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฐ„๊ฒฉ์„ 1์ดˆ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

bond๋ผ๋Š” ๋ธ”๋ก ๋‚ด์—์„œ ์ฃผ์†Œ, ๊ฒŒ์ดํŠธ์›จ์ด4, ๊ฒฝ๋กœ ๋“ฑ๊ณผ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ์— ์ค‘๋ณต์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‚จ์€ ๊ฒƒ์€ ์„ค์น˜๋ฟ์ž…๋‹ˆ๋‹ค. VLAN ์„ค์ •์ด ์™„๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      gateway: 10.10.10.1
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true

  • vlans: โ€” VLAN ๊ตฌ์„ฑ ๋ธ”๋ก์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
  • vlan10: โ€” VLAN ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ž„์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • id: โ€” VLAN์˜ ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.
  • link: โ€” VLAN์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • ๊ฒฝ๋กœ: โ€” ๊ฒฝ๋กœ ์„ค๋ช… ๋ธ”๋ก์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
  • โ€” ๋Œ€์ƒ: โ€” ๊ฒฝ๋กœ๊ฐ€ ํ•„์š”ํ•œ ์ฃผ์†Œ/์„œ๋ธŒ๋„ท์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • via: โ€” ์„œ๋ธŒ๋„ท์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • on-link: โ€” ๋งํฌ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๊ฒฝ๋กœ๊ฐ€ ํ•ญ์ƒ ๋“ฑ๋ก๋˜์–ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๊ณต๋ฐฑ์„ ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์ฃผ์˜ํ•˜์„ธ์š”. ์ด๋Š” YAML์—์„œ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๋ณธ๋”ฉ์„ ์ƒ์„ฑํ–ˆ์œผ๋ฉฐ ์‹ฌ์ง€์–ด VLAN์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์„ ์ ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. netplan apply ๋ช…๋ น์€ ๊ตฌ์„ฑ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์„ฑ๊ณตํ•˜๋ฉด ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์‹œ์Šคํ…œ์ด ์žฌ๋ถ€ํŒ…๋  ๋•Œ ๊ตฌ์„ฑ์ด ์ž์ฒด์ ์œผ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ์ฝ”๋“œ ๋ธ”๋ก์„ ๋ชจ๋‘ ์ˆ˜์ง‘ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4: no
    ensp3s0f1:
      dhcp4: no
  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1
  vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true
  vlan20:
    id: 20
    link: bond0
    dhcp4: no
    addresses: [10.10.11.2/24]
    gateway: 10.10.11.1
    nameserver:
      addresses: [8.8.8.8]
    

์ด์ œ ์šฐ๋ฆฌ ๋„คํŠธ์›Œํฌ๋Š” ์ž‘๋™ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ฒ˜์Œ์— ๋ณด์˜€๋˜ ๊ฒƒ๋งŒํผ ๋ฌด์„ญ์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์œผ๋ฉฐ ์ฝ”๋“œ๋Š” ๋งค์šฐ ์•„๋ฆ„๋‹ต๊ณ  ์ฝ๊ธฐ ์‰ฌ์šด ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. PC netplan์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋งํฌ์— ํ›Œ๋ฅญํ•œ ๋งค๋‰ด์–ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. https://netplan.io/.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€