์ํ์ ํ๋๋ผ ะธ ๋ฐ๋น์ ์ฐ๋ถํฌ ๊ฐ๋ฐ์ ๊ณ ๋ คํ๊ณ ์๋ค ๊ธฐ๋ณธ ํจํท ํํฐ๋ก ์ ํ ์ง์ฃผ.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ ์งํ๋ ค๋ฉด ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. iptables-nftiptables์ ๋์ผํ ๋ช
๋ น์ค ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณตํ์ง๋ง ๊ฒฐ๊ณผ ๊ท์น์ nf_tables ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํฉ๋๋ค. ์ด ๋ณ๊ฒฝ ์ฌํญ์ Ubuntu 20.10์ ๊ฐ์ ๋ฆด๋ฆฌ์ค์ ํฌํจ๋ ์์ ์
๋๋ค.
์ด๊ฒ์ Ubuntu๋ฅผ nftables๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ค๋ ๋ ๋ฒ์งธ ์๋์
๋๋ค. ์๋
์ ์ฒซ ๋ฒ์งธ ์๋๊ฐ ์์์ง๋ง ํดํท๊ณผ์ ๋นํธํ์ผ๋ก ์ธํด ๊ฑฐ๋ถ๋์์ต๋๋ค. Lxd. ์ด์ ์ด๋ฏธ LXD์ ์์ต๋๋ค ์๋ค nftables์ ๋ํ ๊ธฐ๋ณธ ์ง์์ด ๊ฐ๋ฅํ๋ฉฐ ์๋ก์ด ํจํท ํํฐ๋ง ๋ฐฑ์๋์ ํจ๊ป ์๋ํ ์ ์์ต๋๋ค. ํธํ์ฑ ๋ ์ด์ด๊ฐ ๋ถ์กฑํ ์ฌ์ฉ์์ ๊ฒฝ์ฐ, ๋ฒ๋ ค์ง ๊ธฐ์กด ๋ฐฑ์๋์ ํด๋์ ์ ํธ๋ฆฌํฐ iptables, ip6tables, arptables ๋ฐ ebtables๋ฅผ ์ค์นํ๋ ๊ธฐ๋ฅ.
ํจํท ํํฐ์์ ์ด๋ฅผ ๊ธฐ์ตํ์ธ์. ์ง์ฃผ IPv4, IPv6, ARP ๋ฐ ๋คํธ์ํฌ ๋ธ๋ฆฌ์ง์ ๋ํ ํจํท ํํฐ๋ง ์ธํฐํ์ด์ค๊ฐ ํตํฉ๋์์ต๋๋ค. nftables ํจํค์ง์๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ๋๋ ํจํท ํํฐ ๊ตฌ์ฑ ์์๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ปค๋ ์์ค ์์
์ ๋ฆด๋ฆฌ์ค 3.13๋ถํฐ Linux ์ปค๋์ ์ผ๋ถ์๋ nf_tables ํ์ ์์คํ
์์ ์ ๊ณต๋ฉ๋๋ค. ์ปค๋ ์์ค์ ํจํท์์ ๋ฐ์ดํฐ ์ถ์ถ, ๋ฐ์ดํฐ ์์
์ํ ๋ฐ ํ๋ฆ ์ ์ด๋ฅผ ์ํ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ผ๋ฐ์ ์ธ ํ๋กํ ์ฝ ๋
๋ฆฝ์ ์ธ ์ธํฐํ์ด์ค๋ง ์ ๊ณตํฉ๋๋ค.
ํํฐ๋ง ๊ท์น๊ณผ ํ๋กํ ์ฝ๋ณ ํธ๋ค๋ฌ๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ๋ ํ ์ด ๋ฐ์ดํธ์ฝ๋๊ฐ Netlink ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋์ ๋ก๋๋๊ณ BPF(Berkeley Packet Filters)๋ฅผ ์ฐ์์ํค๋ ํน์ ๊ฐ์ ๋จธ์ ์ ์ปค๋์์ ์คํ๋ฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ปค๋ ์์ค์์ ์คํ๋๋ ํํฐ๋ง ์ฝ๋์ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ์ค์ด๊ณ ํ๋กํ ์ฝ ์์
์ ์ํ ๊ตฌ๋ฌธ ๋ถ์ ๊ท์น ๋ฐ ๋
ผ๋ฆฌ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru