๋คํธ์ํฌ ๋งค๊ฐ๋ณ์ ์ค์ ์ ๋จ์ํํ๊ธฐ ์ํด ์ธํฐํ์ด์ค์ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค(NetworkManager 1.32.0)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. VPN, OpenConnect, PPTP, OpenVPN ๋ฐ OpenSWAN์ ์ง์ํ๋ ํ๋ฌ๊ทธ์ธ์ ์์ฒด ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ํตํด ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค.
NetworkManager 1.32์ ์ฃผ์ ํ์ ์ฌํญ:
- ๋ฐฉํ๋ฒฝ ๊ด๋ฆฌ ๋ฐฑ์๋๋ฅผ ์ ํํ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋์์ผ๋ฉฐ, ์ด์ ๋ํ ์๋ก์ด ์ต์ โ[main].firewall-backendโ๊ฐ NetworkManager.conf์ ์ถ๊ฐ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก "nftables" ๋ฐฑ์๋๊ฐ ์ค์ ๋์ด ์์ผ๋ฉฐ, ์์คํ ์ /usr/sbin/nft ํ์ผ์ด ์๊ณ /usr/sbin/iptables๊ฐ ์๋ ๊ฒฝ์ฐ "iptables" ๋ฐฑ์๋๊ฐ ์ค์ ๋ฉ๋๋ค. ํฅํ์๋ Firewalld๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ ๋ค๋ฅธ ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ ๊ณํ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๊ณต์ ์ก์ธ์ค ํ๋กํ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ nftables(์ด์ ์๋ iptables๋ง ์ฌ์ฉ๋จ)๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ์ ๋ณํ๊ธฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ด๋๋ท ํ๋ ์์ ์์ ํ๊ฑฐ๋ ์ ์กํ ๋ ์ง์ฐ์ ๋์ ํ๊ธฐ ์ํด ์๋ก์ด ์ต์ "ethtool.pause-autoneg", "ethtool.pause-rx" ๋ฐ "ethtool.pause-tx"๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ถ๊ฐ๋ ์ต์ ์ ethtool ์ ํธ๋ฆฌํฐ์ ์ ์ฌํ ๋ชจ๋์ธ "-pause devname [autoneg on|off] [rx on|off] [tx on|off]"์ ํด๋นํฉ๋๋ค.
- ํ์ฌ ์์คํ ์ ์ฃผ์๊ฐ ์ง์ ๋์ง ์์ ์ ์ก ๋คํธ์ํฌ ํ๋ ์์ ๋ถ์ํ๊ธฐ ์ํด ๋คํธ์ํฌ ์ด๋ํฐ๋ฅผ "๋ฌด์ฐจ๋ณ" ๋ชจ๋๋ก ์ค์ ํ ์ ์๋ "ethernet.accept-all-mac-addresses" ๋งค๊ฐ๋ณ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ญ๋ฐฉํฅ DNS ์กฐํ๋ฅผ ์ํํ์ฌ ์์คํ ์ ํ ๋น๋ IP ์ฃผ์์ ๋ํด ์ ์๋ DNS ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํธ์คํธ ์ด๋ฆ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ชจ๋๋ ํ๋กํ์ ํธ์คํธ ์ด๋ฆ ์ต์ ์ ์ฌ์ฉํ์ฌ ํ์ฑํ๋ฉ๋๋ค. ์ด์ ์๋ NSS ๊ตฌ์ฑ๊ณผ /etc/hostname ํ์ผ์ ์ง์ ๋ ์ด๋ฆ์ ๊ณ ๋ คํ์ฌ ํธ์คํธ ์ด๋ฆ์ ๊ฒฐ์ ํ๊ธฐ ์ํด getnameinfo() ํจ์๊ฐ ํธ์ถ๋์์ต๋๋ค. ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด DNS์ ์ญ๋ฐฉํฅ ์์ญ ํ์ธ์ ๊ธฐ๋ฐ์ผ๋ก๋ง ์ด๋ฆ์ ์ค์ ํ ์ ์์ต๋๋ค. ). DNS๋ฅผ ํตํด ํธ์คํธ ์ด๋ฆ์ ์ฟผ๋ฆฌํ๋ ค๋ฉด ์ด์ systemd-resolved API๊ฐ ์ฌ์ฉ๋๋ฉฐ, systemd๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ 'dns' NSS ๋ชจ๋์ ๊ธฐ๋ฐ์ผ๋ก 'nm-daemon-helper' ํธ๋ค๋ฌ๊ฐ ์์๋ฉ๋๋ค.
- "๊ธ์ง", "๋ธ๋ํ" ๋ฐ "๋๋ฌํ ์ ์์" ๋ผ์ฐํ ๊ท์น ์ ํ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํธ๋ํฝ ๊ด๋ฆฌ ๊ท์น๊ณผ ๊ด๋ จ๋ ๋์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก NetworkManager๋ ์ด์ ์์คํ ์ ์ด๋ฏธ ์ค์ ๋ qdiscs ๊ท์น ๋ฐ ํธ๋ํฝ ํํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
- NetworkManager ๋ฌด์ ์ฐ๊ฒฐ ํ๋กํ์ iwd ๊ตฌ์ฑ ํ์ผ๋ก ๋ฏธ๋ฌ๋งํ ์ ์์ต๋๋ค.
- DHCP ์ต์ 249(Microsoft Classless Static Route)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- IP ๋ฐ์ธ๋ฉ ์ ๋ฐ์ดํธ ์์ฒญ์ ์ ์ดํ๋ โโ"rd.net.dhcp.retry" ์ปค๋ ๋งค๊ฐ๋ณ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ค ํ ์คํธ์ ์ค์ํ ์ฌ๊ตฌ์ฑ์ด ์ํ๋์์ต๋๋ค.
- ๊ธฐ์กด ์ถ๊ฐ ๊ธฐ๋ฅ๊ณผ์ ํธํ์ฑ์ ์ํฅ์ ์ฃผ์ง ์๋๋ก API๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ค๋ซ๋์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์๋ PropertiesChanged ์ ํธ ๋ฐ D-Bus ์์ฑ org.freedesktop.DBus.Properties.PropertiesChanged์ ์ฒ๋ฆฌ๊ฐ ์ค๋จ๋์์ต๋๋ค. libnm ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ NMSimpleConnection, NMSetting ๋ฐ NMSetting ํด๋์ค์ ๊ตฌ์กฐ ์ ์๋ฅผ ์จ๊น๋๋ค. "connection.uuid" ํ์์ ์ฐ๊ฒฐ ํ๋กํ์ ์๋ณํ๋ ๊ธฐ๋ณธ ํค๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ํ Intel์์ ๊ฐ๋ฐ ์ค์ด๋ฉฐ ์์คํ ๋ฆฌ์์ค ์๋น๊ฐ ์ ๊ณ ํ๋ฌ๊ทธ์ธ์ ํตํด ๊ธฐ๋ฅ์ ํ์ฅํ๊ธฐ ์ํ ์ ์ฐํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด ํน์ง์ธ ConnMan 1.40 ๋คํธ์ํฌ ๊ตฌ์ฑ ํ๋ก๊ทธ๋จ์ ์ถ์์ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค. ConnMan์ Tizen, Yocto, Sailfish, Aldebaran Robotics ๋ฐ Nest์ ๊ฐ์ ํ๋ซํผ ๋ฐ ๋ฐฐํฌํ๋ฟ๋ง ์๋๋ผ Linux ๊ธฐ๋ฐ ํ์จ์ด๋ฅผ ์คํํ๋ ๋ค์ํ ์๋น์ ์ฅ์น์๋ ์ฌ์ฉ๋ฉ๋๋ค.
Intel์ ๋ํ Linux ์์คํ ์ ๋ฌด์ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ๊ธฐ ์ํ wpa_supplicant์ ๋์์ผ๋ก ๊ฐ๋ฐ๋ Wi-Fi ๋ฐ๋ชฌ IWD 1.15(iNet Wireless Daemon)์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฐํํ์ต๋๋ค. IWD๋ ์์ฒด์ ์ผ๋ก ์ฌ์ฉํ๊ฑฐ๋ Network Manager ๋ฐ ConnMan ๋คํธ์ํฌ ๊ตฌ์ฑ๊ธฐ์ ๋ฐฑ์๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ์๋ฒ ๋๋ ์ฅ์น์ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํ๋ฉฐ ์ต์ํ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ๋์คํฌ ๊ณต๊ฐ ์๋น์ ์ต์ ํ๋์ด ์์ต๋๋ค. IWD๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ ํ์ค Linux ์ปค๋์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์๋ง ์ก์ธ์คํฉ๋๋ค(Linux ์ปค๋๊ณผ Glibc๋ง์ผ๋ก๋ ์๋ ๊ฐ๋ฅ).
ConnMan์ ์ ๋ฒ์ ์๋ WiFi์ ์๋ ์ฐ๊ฒฐ ๋ฐ ์ฐ๊ฒฐ ํด์ ์ํ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ๋ฒ๊ทธ ์์ ๋ง ํฌํจ๋์ด ์์ต๋๋ค. DNS ํ๋ก์ ์ฝ๋์ ๋ฒํผ ์ค๋ฒํ๋ก ์ทจ์ฝ์ ๋ ํด๊ฒฐ๋์์ต๋๋ค. IWD์ ์ ๋ฒ์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค ์์
์ ๋ํ ์ ๋ณด ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ง์ํ๊ณ VHT RX(Very High Throughput) ๋ชจ๋์์ ํจํท ๋์ฐฉ ๊ฐ๋๋ฅผ ์์ธกํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉฐ FT-over-DS ์ ์ฐจ์ ๋ํ ์ง์์ ์ ๊ณตํฉ๋๋ค. ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ๋ณธ ์๋น์ค ์ธํธ(BSS).
์ถ์ฒ : opennet.ru