๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ๊ธฐ NetworkManager 1.40.0 ์ถœ์‹œ

๋„คํŠธ์›Œํฌ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ •์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค(NetworkManager 1.40.0)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. VPN ์ง€์›์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ(Libreswan, OpenConnect, Openswan, SSTP ๋“ฑ)์€ ์ž์ฒด ๊ฐœ๋ฐœ ์ฃผ๊ธฐ์˜ ์ผ๋ถ€๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

NetworkManager 1.40์˜ ์ฃผ์š” ํ˜์‹  ์‚ฌํ•ญ:

  • nmcli ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ NetworkManager ํ”„๋กœ์„ธ์Šค์— ์•ก์„ธ์Šคํ•˜์ง€ ์•Š๊ณ ๋„ ํ‚ค ํŒŒ์ผ ํ˜•์‹์œผ๋กœ ์—ฐ๊ฒฐ ํ”„๋กœํ•„์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” "--offline" ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ด€๋ จ๋œ ์„ค์ •์„ ์ƒ์„ฑ, ํ‘œ์‹œ, ์‚ญ์ œ ๋ฐ ๋ณ€๊ฒฝํ•  ๋•Œ ์ด์ œ D-Bus๋ฅผ ํ†ตํ•ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ NetworkManager ํ”„๋กœ์„ธ์Šค์— ์•ก์„ธ์Šคํ•˜์ง€ ์•Š๊ณ ๋„ "nmcli ์—ฐ๊ฒฐ" ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "nmcli โ€”offline Connection add ..." ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ nmcli ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์—ฐ๊ฒฐ ํ”„๋กœํ•„์„ ์ถ”๊ฐ€ํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์— ๋ณด๋‚ด์ง€ ์•Š๊ณ  ํ‚ค ํŒŒ์ผ ํ˜•์‹์˜ ํ•ด๋‹น ์„ค์ • ๋ธ”๋ก์„ stdout์— ์ง์ ‘ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ์—์„œ nmcli๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ ํ”„๋กœํ•„์„ ์ƒ์„ฑํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ์ƒ์„ฑ๋œ ํ”„๋กœํ•„์„ /etc/NetworkManager/system-connections ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. # "600" ๊ถŒํ•œ์œผ๋กœ ํŒŒ์ผ ์ €์žฅ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค(์†Œ์œ ์ž๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ). umask 077 # ํ‚คํŒŒ์ผ ํ˜•์‹์œผ๋กœ ํ”„๋กœํ•„์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. nmcli --์˜คํ”„๋ผ์ธ ์—ฐ๊ฒฐ ์ถ”๊ฐ€ ์œ ํ˜• ์ด๋”๋„ท con-name my-profile \ | tee /etc/NetworkManager/system-connections/my-profile.nmconnection # ํ”„๋กœํ•„ ๋ณ€๊ฒฝ nmcli โ€”์˜คํ”„๋ผ์ธ ์—ฐ๊ฒฐ ์ˆ˜์ • Connection.mptcp-flags ํ™œ์„ฑํ™”, ์‹ ํ˜ธ \ < /etc/NetworkManager/system-connections/my-profile.nmconnection \ | tee /etc/NetworkManager/system-connections/my-profile.nmconnection~ mv /etc/NetworkManager/system-connections/my-profile.nmconnection~ \ /etc/NetworkManager/system-connections/my-profile.nmconnection # ๋‹ค์‹œ ์ž‘์„ฑํ•œ ํ›„ ๋””์Šคํฌ์˜ ํ”„๋กœํ•„, ์„ค์ •์„ ๋‹ค์‹œ ๋กœ๋“œ NetworkManager nmcli ์—ฐ๊ฒฐ ๋‹ค์‹œ ๋กœ๋“œ
  • MPTCP(๋‹ค์ค‘ ๊ฒฝ๋กœ TCP)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MPTCP(๋‹ค์ค‘ ๊ฒฝ๋กœ TCP)๋Š” ์„œ๋กœ ๋‹ค๋ฅธ IP ์ฃผ์†Œ์™€ ์—ฐ๊ฒฐ๋œ ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ๋™์‹œ์— ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๋Š” TCP ์—ฐ๊ฒฐ ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ TCP ํ”„๋กœํ† ์ฝœ์˜ ํ™•์žฅ์ž…๋‹ˆ๋‹ค. ์ด์ œ NetworkManager๋Š” mptcpd ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ด๋Ÿฌํ•œ ์ฃผ์†Œ๋ฅผ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ์ถ”๊ฐ€ MPTCP ํ๋ฆ„์— ๊ด‘๊ณ ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋˜๋Š” IP ์ฃผ์†Œ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NetworkManager๋Š” ๋˜ํ•œ sysctl /proc/sys/net/mptcp/enabled๋ฅผ ์„ค์ •ํ•˜๊ณ  "ip mptcp ์ œํ•œ" ๋ช…๋ น์œผ๋กœ ์ง€์ •๋œ ์ œํ•œ์„ ์„ค์ •ํ•˜์—ฌ ์ปค๋„์—์„œ MPTCP ํ™œ์„ฑํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. MPTCP ์ฒ˜๋ฆฌ๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด MPTCP๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ฃผ์†Œ ํ• ๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜(์‹ ํ˜ธ, ํ•˜์œ„ ํ๋ฆ„, ๋ฐฑ์—…, ํ’€๋ฉ”์‹œ)๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์†์„ฑ "connection.mptcp-flags"๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ sysctl /proc/sys/net/mptcp/enabled๊ฐ€ ์ปค๋„์— ์„ค์ •๋œ ๊ฒฝ์šฐ MPTCP๋Š” NetworkManager์—์„œ ์ž๋™์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • DHCP(DHCP ์ž„๋Œ€)์— ๋Œ€ํ•œ IP ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ /run/NetworkManager/devices/$IFINDEX ํŒŒ์ผ์— ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ •๋ณด๋Š” [dhcp4] ๋ฐ [dhcp6] ์„น์…˜์— ์ €์žฅ๋จ). ์ด๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํžˆ ๋ฐ”์ธ๋”ฉ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. D-Bus์— ์•ก์„ธ์Šคํ•˜์ง€ ์•Š๊ณ  ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ "nmcli -f all device show eth0" ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ IPv4 ๋งํฌ๋ฅผ ์ธํŠธ๋ผ๋„ท ์ฃผ์†Œ 4/169.254.0.0(IPv16LL, ๋งํฌ-๋กœ์ปฌ)์— ๋ฐ”์ธ๋”ฉํ•˜๊ธฐ ์œ„ํ•ด ipv4.link-local ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—ฐ๊ฒฐ ํ”„๋กœํ•„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” IPv4LL ์ฃผ์†Œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ง€์ •ํ•˜๊ฑฐ๋‚˜(ipv4.method=link-local) DHCP๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • IPv6์— ๋Œ€ํ•œ MTU(์ตœ๋Œ€ ์ „์†ก ๋‹จ์œ„)๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด "ipv6.mtu" ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • systemd์˜ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” DHCPv4 ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„์—์„œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. nettools ํŒจํ‚ค์ง€์˜ n-dhcp4 ๊ตฌํ˜„์€ ์˜ค๋žซ๋™์•ˆ DHCP ํด๋ผ์ด์–ธํŠธ๋กœ ์‚ฌ์šฉ๋˜์–ด ์™”์Šต๋‹ˆ๋‹ค.
  • ์žฅ์น˜์˜ MAC ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด DHCP ๋‹ค์‹œ ์‹œ์ž‘์„ ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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