เบฅเบฐเบเบฑเบ kernel เบชเบฐเบซเบเบญเบเบเบฝเบเปเบเปเบชเปเบงเบเบเบดเบเบเปเปเปเบเบเปเบญเบเบฐเบฅเบฒเบเบเบญเบเปเบเปเบเบเบญเบเบเบปเปเบงเปเบเบเบตเปเบชเบฐเบซเบเบญเบเบซเบเปเบฒเบเบตเปเบเบทเปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเบเบฑเบเบเปเปเบกเบนเบเบเบฒเบเปเบเบฑเบเปเบเบฑเบ, เบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ, เปเบฅเบฐเบเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเปเบซเบผ. เปเบซเบเบเบปเบเบเบฒเบเบเบฑเปเบเบเบญเบเบเบปเบงเบกเบฑเบเปเบญเบเปเบฅเบฐเบเบปเบงเบเบฑเบเบเบฒเบเบชเบฐเปเบเบฒเบฐเบเบญเบเปเบเปเบเบเบญเบเปเบเปเบเบทเบเบฅเบงเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเปเบ bytecode เปเบเบเบทเปเบเบเบตเปเบเบนเปเปเบเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ bytecode เบเบตเปเบเบทเบเปเบซเบฅเบเปเบเบปเปเบฒเปเบเปเบ kernel เปเบเบเปเบเปเบเบฒเบเปเบเปเบเบญเบ Netlink เปเบฅเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเปเบเบทเปเบญเบ virtual เบเบดเปเบชเบเบเบตเปเบฅเบฐเบเบถเบเปเบเบดเบ BPF (Berkeley Packet Filters). เบงเบดเบเบตเบเบฒเบเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบซเบผเบธเบเบฅเบปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบฒเบเบเบฑเปเบเบเบญเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบเปเบเปเบเปเบฅเบฐเบเปเบฒเบเบซเบเปเบฒเบเบตเปเบเบฑเบเบซเบกเบปเบเบเบญเบเบเบปเบเบฅเบฐเบเบฝเบเบเบฒเบเปเบเบเปเบฅเบฐเปเบซเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเปเบเบเบญเบเปเบเบปเปเบฒเปเบเปเบเบเบทเปเบเบเบตเปเบเบญเบเบเบนเปเปเบเป.
เบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบเบปเปเบเบเป:
- ะะพะดะดะตัะถะบะฐ ัะพะฟะพััะฐะฒะปะตะฝะธั ะฟะฐะบะตัะพะฒ ะฟะพ ะฒัะตะผะตะฝะธ. ะะพะถะฝะพ ะพะฟัะตะดะตะปะธัั ะบะฐะบ ะดะธะฐะฟะฐะทะพะฝั ะฒัะตะผะตะฝะธ ะธ ะดะฐั, ะฒ ะบะพัะพััั
ะฑัะดะตั ััะฐะฑะฐััะฒะฐัั ะฟัะฐะฒะธะปะพ, ัะฐะบ ะธ ะฝะฐัััะพะธัั ััะฐะฑะฐััะฒะฐะฝะธะต ะฒ ะพัะดะตะปัะฝัะต ะดะฝะธ ะฝะตะดะตะปะธ. ะขะฐะบะถะต ะดะพะฑะฐะฒะปะตะฝะฐ ะฝะพะฒะฐั ะพะฟัะธั ยซ-Tยป ะดะปั ะฒัะฒะพะดะฐ ัะฟะพั
ะฐะปัะฝะพะณะพ ะฒัะตะผะตะฝะธ ะฒ ัะตะบัะฝะดะฐั
.
meta time \ยป2019-12-24 16:00\ยป โ \ยป2020-01-02 7:00\ยป
meta hour \ยป17:00\ยป โ \ยป19:00\ยป
meta day \ยปFri\ยป - ะะพะดะดะตัะถะบะฐ ะฒะพัััะฐะฝะพะฒะปะตะฝะธั ะธ ัะพั
ัะฐะฝะตะฝะธั ะผะตัะพะบ SELinux (secmark).
ct secmark set meta secmark
meta secmark set ct secmark - ะะพะดะดะตัะถะบะฐ map-ัะฟะธัะบะพะฒ synproxy, ะฟะพะทะฒะพะปัััะธั
ะพะฟัะตะดะตะปััั ะฑะพะปะตะต ะพะดะฝะพะณะพ ะฟัะฐะฒะธะปะฐ ะฝะฐ ะฑัะบะตะฝะด.
เบเบฒเบเบฐเบฅเบฒเบ ip foo {
synproxy https-synproxy {
mss 1460
wscale 7
timestamp sack-perm
}synproxy other-synproxy {
mss 1460
wscale 5
}chain pre {
type filter hook prerouting เบเบนเบฅเบดเบกเบฐเบชเบดเบเบงเบฑเบเบเบธเบเบดเบ; เบเบญเบกเบฎเบฑเบเบเบฐเปเบเบเบฒเบ;
tcp dport 8888 tcp flags syn notrack
}เปเบเบเปเบชเป {
type filter hook forward filter เบเบนเบฅเบดเบกเบฐเบชเบดเบ; เบเบญเบกเบฎเบฑเบเบเบฐเปเบเบเบฒเบ;
ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : ยซhttps-synproxyยป, 192.168.2.0/24 : ยซother-synproxyยป }
}
} - ะะพะทะผะพะถะฝะพััั ะดะธะฝะฐะผะธัะตัะบะพะณะพ ัะดะฐะปะตะฝะธั ัะปะตะผะตะฝัะพะฒ set-ะฝะฐะฑะพัะพะฒ ะธะท ะฟัะฐะฒะธะป ะพะฑัะฐะฑะพัะบะธ ะฟะฐะบะตัะพะฒ.
nft add rule โฆ delete @set5 { ip6 saddr . ip6 daddr }
- ะะพะดะดะตัะถะบะฐ ัะพะฟะพััะฐะฒะปะตะฝะธั VLAN ะฟะพ ะธะดะตะฝัะธัะธะบะฐัะพัั ะธ ะฟัะพัะพะบะพะปั, ะพะฟัะตะดะตะปัะฝะฝัั
ะฒ ะผะตัะฐะดะฐะฝะฝัั
ะธะฝัะตััะตะนัะฐ ัะตัะตะฒะพะณะพ ะผะพััะฐ;
meta ibrpvid 100
meta ibrvproto vlan - ะะฟัะธั ยซ-tยป (ยซโterseยป) ะดะปั ะธัะบะปััะตะฝะธั ัะปะตะผะตะฝัะพะฒ set-ะฝะฐะฑะพัะพะฒ ะฟัะธ ะพัะพะฑัะฐะถะตะฝะธะธ ะฟัะฐะฒะธะป. ะัะธ ะฒัะฟะพะปะฝะตะฝะธะธ ยซnft -t list rulesetยป ะฑัะดะตั ะฒัะฒะตะดะตะฝะพ:
เบเบฒเบเบฐเบฅเบฒเบ ip x {
เบเบฑเปเบ y {
type ipv4_addr
}
}ะ ะฟัะธ ยซnft list rulesetยป
เบเบฒเบเบฐเบฅเบฒเบ ip x {
เบเบฑเปเบ y {
type ipv4_addr
elements = { 192.168.10.2, 192.168.20.1,
192.168.4.4, 192.168.2.34 }
}
} - ะะพะทะผะพะถะฝะพััั ัะบะฐะทะฐะฝะธั ะฑะพะปะตะต ะพะดะฝะพะณะพ ััััะพะนััะฒะฐ ะฒ ัะตะฟะพัะบะฐั
netdev (ัะฐะฑะพัะฐะตั ัะพะปัะบะพ ั ัะดัะพะผ 5.5) ะดะปั ะพะฑัะตะดะธะฝะตะฝะธั ัะธะฟะพะฒัั
ะฟัะฐะฒะธะป ัะธะปัััะฐัะธะธ.
add table netdev x
add chain netdev x y { \
type filter hook ingress devices = { eth0, eth1 } priority 0;
} - ะะพะทะผะพะถะฝะพััั ะดะพะฑะฐะฒะปะตะฝะธั ะพะฟะธัะฐะฝะธะน ัะธะฟะพะฒ ะดะฐะฝะฝัั
.
# nft describe ipv4_addr
datatype ipv4_addr (IPv4 address) (basetype integer), 32 bits - ะะพะทะผะพะถะฝะพััั ัะฑะพัะบะธ CLI-ะธะฝัะตััะตะนัะฐ ั ะฑะธะฑะปะธะพัะตะบะพะน linenoise ะฒะผะตััะพ libreadline.
./configure โwith-cli=linenoise
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru