nmcli ์ฝ˜์†” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux์—์„œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๊ด€๋ฆฌ

nmcli ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux ๋ช…๋ น์ค„์—์„œ NetworkManager ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์„ธ์š”.

nmcli ์ฝ˜์†” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux์—์„œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๊ด€๋ฆฌ

๊ณต์ต ์‚ฌ์—… nmcli API๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜์—ฌ NetworkManager ๊ธฐ๋Šฅ์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” 2010๋…„์— ๋“ฑ์žฅํ–ˆ์œผ๋ฉฐ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋Œ€์ฒด ๋ฐฉ๋ฒ•์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•„์ง๋„ ๋ช‡๋ช‡ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ifconfig๋ฅผ. nmcli๋Š” ํ„ฐ๋ฏธ๋„ ์ฐฝ๊ณผ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค(CLI) ๋„๊ตฌ์ด๋ฏ€๋กœ GUI ์—†์ด ์ž‘์—…ํ•˜๋Š” ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

ncmli ๋ช…๋ น ๊ตฌ๋ฌธ

์ผ๋ฐ˜์ ์œผ๋กœ ๊ตฌ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$ nmcli <options> <section> <action>

  • ์˜ต์…˜์€ nmcli ์ž‘์—…์˜ ๋ฏธ๋ฌ˜ํ•จ์„ ๊ฒฐ์ •ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ์„น์…˜ (์„น์…˜) - ์‚ฌ์šฉํ•  ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ๊ธฐ๋Šฅ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • action - ์‹ค์ œ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด 8๊ฐœ์˜ ์„น์…˜์ด ์žˆ์œผ๋ฉฐ ๊ฐ ์„น์…˜์€ ํŠน์ • ๋ช…๋ น(์ž‘์—…) ์„ธํŠธ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋„์›€๋ง ncmcli ๋ช…๋ น ๋ฐ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ๋„์›€๋ง์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜ NetworkManager ์ƒํƒœ์™€ ์ „์—ญ ๊ตฌ์„ฑ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํ‚น ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ช…๋ น์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ผ๋””์˜ค WiFi ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ช…๋ น์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋‹ˆํ„ฐ NetworkManager ํ™œ๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ์˜ ๋ณ€ํ™”๋ฅผ ๊ด€์ฐฐํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์—ฐ๊ฒฐ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ๊ด€๋ฆฌ, ์ƒˆ ์—ฐ๊ฒฐ ์ถ”๊ฐ€ ๋ฐ ๊ธฐ์กด ์—ฐ๊ฒฐ ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ๋ช…๋ น์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์žฅ์น˜ ์ฃผ๋กœ ์žฅ์น˜ ๊ด€๋ จ ๋งค๊ฐœ๋ณ€์ˆ˜(์˜ˆ: ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„)๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋น„๋ฐ€ nmcli๋ฅผ ๋น„๋ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” NetworkManager "๋น„๋ฐ€ ์—์ด์ „ํŠธ"๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. nmcli๋Š” ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ์„น์…˜์€ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— NetworkManager๊ฐ€ ์‹คํ–‰ ์ค‘์ด๊ณ  nmcli๊ฐ€ NetworkManager์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ”„๋กœํ•„์„ ๋ณด๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์ž‘์—…์ด ์‹œ์ž‘๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

์ด ๋ช…๋ น์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ–‰๋™ ์—ฐ๊ฒฐ ์„น์…˜์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๋จธ์‹ ์€ Ubuntu 20.04๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ enp0s3, enp0s8 ๋ฐ enp0s9๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ์œ ์„  ์—ฐ๊ฒฐ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ๊ด€๋ฆฌ

nmcli์—์„œ ์—ฐ๊ฒฐ์ด๋ผ๋Š” ์šฉ์–ด๋Š” ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ์—”ํ„ฐํ‹ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ด๊ฒƒ์ด ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์€ ๋งํฌ ๊ณ„์ธต ๋ฐ IP ์ฃผ์†Œ ์ง€์ • ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ์—ฐ๊ฒฐ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์บก์Šํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” OSI ๋„คํŠธ์›Œํ‚น ๋ชจ๋ธ์˜ ๋ ˆ์ด์–ด 2์™€ ๋ ˆ์ด์–ด 3์ž…๋‹ˆ๋‹ค.

Linux์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํ“จํ„ฐ์— ์„ค์น˜๋œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์ธ ๋„คํŠธ์›Œํฌ ์žฅ์น˜์— ์—ฐ๊ฒฐ๋˜๋Š” ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ™œ์„ฑ ๋˜๋Š” ์ƒ์Šน๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ์‚ฌ์šฉ ์ค‘์ด ์•„๋‹ˆ๋ฉด ๋น„ํ™œ์„ฑํ™”๋˜๊ฑฐ๋‚˜ ์žฌ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ถ”๊ฐ€

ncmli ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฐ๊ฒฐ์„ ๋น ๋ฅด๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ณ  ์ฆ‰์‹œ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ ์„  ์—ฐ๊ฒฐ 2(enp0s8 ์‚ฌ์šฉ)๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์ˆ˜ํผ์œ ์ €๋กœ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

type ์˜ต์…˜์—์„œ๋Š” ์ด๊ฒƒ์ด ์ด๋”๋„ท ์—ฐ๊ฒฐ์ž„์„ ๋‚˜ํƒ€๋‚ด๊ณ , ifname(์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„) ์˜ต์…˜์—์„œ๋Š” ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํ›„์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  --  

ethernet-enp0s8์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. UUID๊ฐ€ ํ• ๋‹น๋˜์—ˆ๊ณ  ์—ฐ๊ฒฐ ์œ ํ˜•์€ ์ด๋”๋„ท์ด์—ˆ์Šต๋‹ˆ๋‹ค. up ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ฌ๋ ค ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

ํ™œ์„ฑ ์—ฐ๊ฒฐ ๋ชฉ๋ก์„ ๋‹ค์‹œ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$ nmcli connection show --active
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ ethernet-enp0s8์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ ํ™œ์„ฑํ™”๋˜์–ด enp0s8 ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ์„ค์ •

ncmli ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด ์—ฐ๊ฒฐ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋™์ (DHCP) IP ์ฃผ์†Œ๋ฅผ ๊ณ ์ • IP ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

IP ์ฃผ์†Œ๋ฅผ 192.168.4.26์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๋‘ ๊ฐ€์ง€ ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” IP ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์„ค์ •ํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” IP ์ฃผ์†Œ ์„ค์ • ๋ฐฉ๋ฒ•์„ ์ˆ˜๋™์œผ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ๋„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ํ…Œ์ŠคํŠธ ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ์ด๋Š” 255.255.255.0์ด๊ฑฐ๋‚˜ ํด๋ž˜์Šค ์—†๋Š” ๋ผ์šฐํŒ…(CIDR)์˜ ๊ฒฝ์šฐ /24์ž…๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ ค๋ฉด ์—ฐ๊ฒฐ์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

๋ฐ˜๋Œ€๋กœ DHCP๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ˆ˜๋™ ๋Œ€์‹  ์ž๋™์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

์žฅ์น˜ ์ž‘์—…

์ด๋ฅผ ์œ„ํ•ด ์žฅ์น˜ ์„น์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์žฅ์น˜ ์ƒํƒœ ํ™•์ธ ์ค‘

$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION        
enp0s3  ethernet  connected  Wired connection 1
enp0s8  ethernet  connected  ethernet-enp0s8    
enp0s9  ethernet  connected  Wired connection 3
lo      loopback  unmanaged  --  

๊ธฐ๊ธฐ ์ •๋ณด ์š”์ฒญ ์ค‘

์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ์žฅ์น˜ ์„น์…˜์—์„œ ํ‘œ์‹œ ์ž‘์—…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์žฅ์น˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•จ). ์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ข…์ข… ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์— ๊ฑธ์ณ ๋งŽ์€ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์— ์‚ฌ์šฉ๋˜๋Š” enp0s8 ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์„ค์ •ํ•œ IP ์ฃผ์†Œ๊ฐ€ ์ •ํ™•ํžˆ ์‚ฌ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.4.26/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]:                         fe80::6d70:90de:cb83:4491/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

์ •๋ณด๊ฐ€ ๊ฝค ๋งŽ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ๋‚ด์šฉ์„ ๊ฐ•์กฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„: enp0s8.
  • ์—ฐ๊ฒฐ ํƒ€์ž…: ์œ ์„  ์ด๋”๋„ท ์—ฐ๊ฒฐ.
  • ์žฅ์น˜์˜ MAC ์ฃผ์†Œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • MTU(์ตœ๋Œ€ ์ „์†ก ๋‹จ์œ„) ์ง€์ • - ์กฐ๊ฐํ™” ์—†์ด ํ”„๋กœํ† ์ฝœ์— ์˜ํ•ด ์ „์†ก๋  ์ˆ˜ ์žˆ๋Š” ํ•œ ํŒจํ‚ท์˜ ์œ ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์˜ ์ตœ๋Œ€ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.
  • ์žฅ์น˜ ํ˜„์žฌ ์—ฐ๊ฒฐ๋จ.
  • ์—ฐ๊ฒฐ ์ด๋ฆ„์‚ฌ์šฉ ์ค‘์ธ ์žฅ์น˜: ethernet-enp0s8.
  • ์žฅ์น˜๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ, ์ด์ „์— ์„ค์น˜ํ•œ 192.168.4.26/24.

๊ธฐํƒ€ ์ •๋ณด๋Š” ๊ธฐ๋ณธ ๋ผ์šฐํŒ… ๋ฐ ์—ฐ๊ฒฐ ๊ฒŒ์ดํŠธ์›จ์ด ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค. ํŠน์ • ๋„คํŠธ์›Œํฌ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋Œ€ํ™”ํ˜• nmcli ํŽธ์ง‘๊ธฐ

nmcli์—๋Š” ๊ฐ„๋‹จํ•œ ๋Œ€ํ™”ํ˜• ํŽธ์ง‘๊ธฐ๋„ ์žˆ์–ด์„œ ์ผ๋ถ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—…ํ•˜๊ธฐ์— ๋” ํŽธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ethernet-enp0s8 ์—ฐ๊ฒฐ์—์„œ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ํ–‰๋™ ํŽธ์ง‘ํ•˜๋‹ค:

$ nmcli connection edit ethernet-enp0s8

๋˜ํ•œ ์ž‘์€ ๋„์›€๋ง๋„ ์žˆ์ง€๋งŒ ์ฝ˜์†” ๋ฒ„์ „๋ณด๋‹ค ํฌ๊ธฐ๊ฐ€ ๋” ์ž‘์Šต๋‹ˆ๋‹ค.

===| nmcli interactive connection editor |===
Editing existing '802-3-ethernet' connection: 'ethernet-enp0s8'
Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

print ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๊ณ  Enter๋ฅผ ๋ˆ„๋ฅด๋ฉด nmcli๋Š” ๋ชจ๋“  ์—ฐ๊ฒฐ ์†์„ฑ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

===============================================================================
                 Connection profile details (ethernet-enp0s8)
===============================================================================
connection.id:                          ethernet-enp0s8
connection.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp0s8
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --

์˜ˆ๋ฅผ ๋“ค์–ด, DHCP์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋ ค๋ฉด goto ipv4๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋‹ค์Œ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์—”ํ„ฐ ๋ฒ„ํŠผ:

nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, 
dns-options, dns-priority, addresses, gateway, routes, route-metric, 
route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, 
dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, 
dad-timeout
nmcli ipv4>

๊ทธ๋Ÿฐ ๋‹ค์Œ set method auto๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์—”ํ„ฐ ๋ฒ„ํŠผ:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

๊ณ ์ • IP ์ฃผ์†Œ๋ฅผ ์ง€์šฐ๋ ค๋ฉด ์—”ํ„ฐ ๋ฒ„ํŠผ. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด no๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Enter๋ฅผ ๋ˆ„๋ฅด์‹ญ์‹œ์˜ค. ๋‚˜์ค‘์— ํ•„์š”ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋ฉด ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์ €์žฅ๋œ ๊ณ ์ • IP ์ฃผ์†Œ๋ผ๋„ ๋ฐฉ๋ฒ•์ด ์ž๋™์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด DHCP๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

save ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

nmcli ๋Œ€ํ™”ํ˜• ํŽธ์ง‘๊ธฐ๋ฅผ ์ข…๋ฃŒํ•˜๋ ค๋ฉด quit๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. ๋– ๋‚˜๊ณ  ์‹ถ์€ ์ƒ๊ฐ์ด ๋ฐ”๋€Œ๋ฉด back ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

๊ทธ๊ฒŒ ๋‹ค๊ฐ€ ์•„๋‹ˆ์•ผ

nmcli ๋Œ€ํ™”ํ˜• ํŽธ์ง‘๊ธฐ๋ฅผ ์—ด๊ณ  ์„ค์ • ์ˆ˜์™€ ๊ฐ ์„ค์ •์— ํฌํ•จ๋œ ์†์„ฑ ์ˆ˜๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ๋Œ€ํ™”ํ˜• ํŽธ์ง‘๊ธฐ๋Š” ํ›Œ๋ฅญํ•œ ๋„๊ตฌ์ด์ง€๋งŒ ๋‹จ์ผ ๋ผ์ด๋„ˆ ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ nmcli๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ผ๋ฐ˜ ๋ช…๋ น์ค„ ๋ฒ„์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ์ตํ˜”์œผ๋‹ˆ ํ™•์ธํ•ด ๋ณด์„ธ์š”. ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€ nmcli๊ฐ€ ๋‹ค๋ฅธ ์–ด๋–ค ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์„ธ์š”.

๊ด‘๊ณ ์˜ ๊ถŒ๋ฆฌ์—

์—ํ”ฝ ์„œ๋ฒ„ -๊ฐ€์š” Windows์˜ ๊ฐ€์ƒ ์„œ๋ฒ„ ๋˜๋Š” ๊ฐ•๋ ฅํ•œ AMD EPYC ์ œํ’ˆ๊ตฐ ํ”„๋กœ์„ธ์„œ์™€ ๋งค์šฐ ๋น ๋ฅธ Intel NVMe ๋“œ๋ผ์ด๋ธŒ๋ฅผ ๊ฐ–์ถ˜ Linux. ์„œ๋‘˜๋Ÿฌ ์ฃผ๋ฌธํ•˜์„ธ์š”!

nmcli ์ฝ˜์†” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux์—์„œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๊ด€๋ฆฌ

์ถœ์ฒ˜ : habr.com

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