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

๊ฒŒ์‹œ ๋จ ๋„คํŠธ์›Œํฌ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ •์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ์ƒˆ๋กœ์šด ์•ˆ์ •์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค ๋ฆด๋ฆฌ์Šค - NetworkManager 1.20. ํ”Œ๋Ÿฌ๊ทธ์ธ VPN์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด OpenConnect, PPTP, OpenVPN ๋ฐ OpenSWAN์ด ์ž์ฒด ๊ฐœ๋ฐœ ์ฃผ๊ธฐ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹  ๋„คํŠธ์›Œํฌ๋งค๋‹ˆ์ € 1.20:

  • ๊ฐ ๋…ธ๋“œ๊ฐ€ ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜๋Š” ๋ฌด์„  ๋ฉ”์‹œ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋ž˜๋œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ฒญ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. NetworkManager 1.0์—์„œ libnm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋Œ€์ฒด๋œ libnm-glib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•˜์—ฌ ibft ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(ํŽŒ์›จ์–ด์—์„œ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ ค๋ฉด initrd์—์„œ nm-initrd-generator๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ). .monitor-โ€ ์„ค์ •์ด NetworkManager.conf์˜ ์—ฐ๊ฒฐ ํŒŒ์ผ์—์„œ ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค("nmcli ์—ฐ๊ฒฐ ๋กœ๋“œ" ๋˜๋Š” "nmcli ์—ฐ๊ฒฐ ๋‹ค์‹œ ๋กœ๋“œ"๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ˜ธ์ถœํ•ด์•ผ ํ•จ).
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์ „์— ์‚ฌ์šฉ๋œ dhclient ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋Œ€์‹  ๋‚ด์žฅ DHCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ™œ์„ฑํ™”(๋‚ด๋ถ€ ๋ชจ๋“œ)๋ฉ๋‹ˆ๋‹ค. "--with-config-dhcp-default" ๋นŒ๋“œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ main.dhcp๋ฅผ ์„ค์ •ํ•˜์—ฌ ๊ธฐ๋ณธ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „์†ก ๋Œ€๊ธฐ ์ค‘์ธ ํŒจํ‚ท์— ๋Œ€ํ•œ fq_codel(Fair Queuing Controlled Delay) ๋Œ€๊ธฐ์—ด ๊ด€๋ฆฌ ๊ทœ์น™๊ณผ ํŠธ๋ž˜ํ”ฝ ๋ฏธ๋Ÿฌ๋ง์„ ์œ„ํ•œ ๋ฏธ๋Ÿฌ๋ง ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐํฌํŒ์˜ ๊ฒฝ์šฐ /usr/lib/NetworkManager ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋””์ŠคํŒจ์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค /etc๋ฅผ ์ง€์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ‚ค ํŒŒ์ผ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์ฝ๊ธฐ ์ „์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    (โ€œ/usr/lib/NetworkManager/system-connectionsโ€), D-Bus๋ฅผ ํ†ตํ•ด ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ•„(์ด ๊ฒฝ์šฐ /usr/lib/์— ์žˆ๋Š” ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์€ /etc ๋˜๋Š” /์— ์ €์žฅ๋œ ํŒŒ์ผ๋กœ ์žฌ์ •์˜๋ฉ๋‹ˆ๋‹ค. ๋‹ฌ๋ฆฌ๋‹ค);

  • libnm์—์„œ๋Š” JSON ํ˜•์‹์˜ ์„ค์ •์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žฌ์ž‘์—…๋˜์—ˆ์œผ๋ฉฐ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ณด๋‹ค ์—„๊ฒฉํ•œ ๊ฒ€์‚ฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ์†Œ์Šค ์ฃผ์†Œ๋ณ„ ๋ผ์šฐํŒ… ๊ทœ์น™(์ •์ฑ… ๋ผ์šฐํŒ…)์— "suppress_prefixlength" ์†์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • VPN WireGuard์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ฒฝ๋กœ "wireguard.ip4-auto-default-route" ๋ฐ "wireguard.ip6-auto-default-route"๋ฅผ ์ž๋™์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์„ค์ • ๊ด€๋ฆฌ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ตฌํ˜„๊ณผ ๋””์Šคํฌ์— ํ”„๋กœํ•„์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žฌ์ž‘์—…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐ„ ์—ฐ๊ฒฐ ํ”„๋กœํ•„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ํ”„๋กœํ•„์€ ์ด์ œ ํ‚คํŒŒ์ผ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์˜ํ•ด์„œ๋งŒ ์ฒ˜๋ฆฌ๋˜๊ณ  /run ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด NetworkManager๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ ํ›„ ํ”„๋กœํ•„ ์†์‹ค์„ ๋ฐฉ์ง€ํ•˜๊ณ  FS ๊ธฐ๋ฐ˜ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœํ•„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด D-Bus ๋ฐฉ์‹ ์ถ”๊ฐ€ AddConnection2(), ํ”„๋กœํ•„ ์ƒ์„ฑ ์‹œ ํ”„๋กœํ•„์˜ ์ž๋™ ์—ฐ๊ฒฐ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์—์„œ ์—…๋ฐ์ดํŠธ2() ์—ฐ๊ฒฐ ํ”„๋กœํ•„์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•ด๋„ ํ”„๋กœํ•„์ด ๋‹ค์‹œ ํ™œ์„ฑํ™”๋  ๋•Œ๊นŒ์ง€ ์žฅ์น˜์˜ ์‹ค์ œ ๊ตฌ์„ฑ์ด ์ž๋™์œผ๋กœ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” "์žฌ์ ์šฉ ์—†์Œ" ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์žฅ์น˜์— ๋Œ€ํ•ด IPv6๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” "ipv6.method=disabled" ์„ค์ •์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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