์ปค๋ ์์ค์ ํจํท์์ ๋ฐ์ดํฐ ์ถ์ถ, ๋ฐ์ดํฐ ์์ ์ํ ๋ฐ ํ๋ฆ ์ ์ด๋ฅผ ์ํ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ผ๋ฐ์ ์ธ ํ๋กํ ์ฝ ๋ ๋ฆฝ์ ์ธ ์ธํฐํ์ด์ค๋ง ์ ๊ณตํฉ๋๋ค. ํํฐ๋ง ๋ก์ง ์์ฒด์ ํ๋กํ ์ฝ๋ณ ํธ๋ค๋ฌ๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ๋ ํ ์ด ๋ฐ์ดํธ์ฝ๋๊ฐ Netlink ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋์ ๋ก๋๋๊ณ BPF(Berkeley Packet Filters)๋ฅผ ์ฐ์์ํค๋ ํน์ ๊ฐ์ ๋จธ์ ์์ ์คํ๋ฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ปค๋ ์์ค์์ ์คํ๋๋ ํํฐ๋ง ์ฝ๋์ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ์ค์ด๊ณ ํ๋กํ ์ฝ ์์ ์ ์ํ ๊ตฌ๋ฌธ ๋ถ์ ๊ท์น ๋ฐ ๋ ผ๋ฆฌ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
์ฃผ์ ํ์ :
- ์๊ฐ๋ณ ํจํท ์ผ์น๋ฅผ ์ง์ํฉ๋๋ค. ๊ท์น์ด ํธ๋ฆฌ๊ฑฐ๋๋ ์๊ฐ๊ณผ ๋ ์ง ๋ฒ์๋ฅผ ๋ชจ๋ ์ ์ํ๊ณ ๊ฐ ์์ผ์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ํ ํ๊ธฐ์ ์ธ ์๊ฐ์ ์ด ๋จ์๋ก ํ์ํ๋ ์๋ก์ด ์ต์
"-T"๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
๋ฉํ ํ์ \>2019-12-24 16:00\" โ \>2020-01-02 7:00\"
๋ฉํ ์๊ฐ \"17:00\" - \"19:00\"
๋ฉํ๋ฐ์ด \"๊ธ์์ผ\" - SELinux ํ์(secmark) ๋ณต๊ตฌ ๋ฐ ์ ์ฅ์ ์ง์ํฉ๋๋ค.
ct secmark๋ ๋ฉํ secmark๋ฅผ ์ค์ ํฉ๋๋ค.
๋ฉํ secmark ์ธํธ ct secmark - Synproxy ๋งต ๋ชฉ๋ก์ ์ง์ํ๋ฏ๋ก ๋ฐฑ์๋๋น ๋ ์ด์์ ๊ท์น์ ์ ์ํ ์ ์์ต๋๋ค.
ํ ์ด๋ธ IP ํธ {
์ ํ๋ก์ https-synproxy {
๋ฉ์์ง 1460
wscale 7
ํ์์คํฌํ ์๋ฃจ ํ๋ง
}synproxy ๊ธฐํ-synproxy {
๋ฉ์์ง 1460
wscale 5
}์ฒด์ธ ์ฌ์ {
์ ํ ํํฐ ํํฌ ์ฌ์ ๋ผ์ฐํ ์ฐ์ ์์ ์์; ์ ์ฑ ๋์;
tcp dport 8888 tcp ํ๋๊ทธ syn notrack
}์ฒด์ธ ๋ฐ {
์ ํ ํํฐ ํํฌ ์๋ฐฉํฅ ์ฐ์ ์์ ํํฐ; ์ ์ฑ ๋์;
ct ์ํ๊ฐ ์๋ชป๋์ด ์ถ์ ๋์ง ์๋ synproxy ์ด๋ฆ ip saddr map { 192.168.1.0/24 : "https-synproxy", 192.168.2.0/24 : "other-synproxy" }
}
} - ํจํท ์ฒ๋ฆฌ ๊ท์น์์ ์ค์ ๋ ์์๋ฅผ ๋์ ์ผ๋ก ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ์
๋๋ค.
nft ์ถ๊ฐ ๊ท์น ... ์ญ์ @set5 { ip6 saddr . IP6 ์๋น }
- ๋คํธ์ํฌ ๋ธ๋ฆฌ์ง ์ธํฐํ์ด์ค ๋ฉํ๋ฐ์ดํฐ์ ์ ์๋ ID ๋ฐ ํ๋กํ ์ฝ๋ณ VLAN ๋งคํ ์ง์
๋ฉํ ibrpvid 100
๋ฉํ irvproto VLAN - ๊ท์น์ ํ์ํ ๋ ์ธํธ ์ธํธ์ ์์๋ฅผ ์ ์ธํ๋ ์ต์
"-t"("--terse")์
๋๋ค. "nft -t list ruleset"์ ์คํํ๋ฉด ๋ค์์ด ์ถ๋ ฅ๋ฉ๋๋ค.
ํ ์ด๋ธ IP x {
์ธํธ y {
ipv4_addr์ ์ ๋ ฅํ์ธ์.
}
}๊ทธ๋ฆฌ๊ณ "nft ๋ชฉ๋ก ๊ท์น ์ธํธ"๋ฅผ ์ฌ์ฉํ๋ฉด
ํ ์ด๋ธ IP x {
์ธํธ y {
ipv4_addr์ ์ ๋ ฅํ์ธ์.
์์ = { 192.168.10.2, 192.168.20.1,
192.168.4.4, 192.168.2.34 }
}
} - ๊ณตํต ํํฐ๋ง ๊ท์น์ ๊ฒฐํฉํ๊ธฐ ์ํด netdev ์ฒด์ธ์์ ๋ ์ด์์ ์ฅ์น๋ฅผ ์ง์ ํ๋ ๊ธฐ๋ฅ(์ปค๋ 5.5์์๋ง ์๋)
ํ ์ด๋ธ netdev x ์ถ๊ฐ
์ฒด์ธ ์ถ๊ฐ netdev x y { \
์ ํ ํํฐ ํํฌ ์์ ์ฅ์น = { eth0, eth1 } ์ฐ์ ์์ 0;
} - ๋ฐ์ดํฐ ์ ํ์ ๋ํ ์ค๋ช
์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ.
# nft๋ ipv4_addr์ ์ค๋ช ํฉ๋๋ค.
๋ฐ์ดํฐ ์ ํ ipv4_addr(IPv4 ์ฃผ์)(๊ธฐ๋ณธ ์ ํ ์ ์), 32๋นํธ - libreadline ๋์ linenoise ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ CLI ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ๋ ๊ธฐ๋ฅ.
./configure --with-cli=linenoise
์ถ์ฒ : opennet.ru