ááá áááá¡ áááá á£áá á£ááááá§áá€á¡ áá®áááá ááááá áá áá¢áááááá¡ááá ááááá£ááááááá ááá¢áá á€ááá¡á¡, á ááááá᪠á£áá á£ááááá§áá€á¡ á«áá áááá á€á£áá¥áªáááá¡ ááááá¢áááááá áááááªáááááá¡ áááá¡ááŠáááá, áááááªáááá áááá ááªááááá¡ ášáá¡áá¡á á£áááááá áá ááááááá¡ áááá¢á áááá¡áááá¡. ááááá á€ááá¢á ááªááá¡ áááááá áá áá áá¢áááááá¡ á¡áááªáá€ááá£á á ááááá£ášáááááááá ášááááááááá áááá®ááá ááááá¡ á¡ááá áªáášá áááá¢ááááášá, á áá¡ ášáááááá᪠áá¡ áááá¢á áá¢ááá áááá ááá ááášá Netlink ááá¢áá á€ááá¡áá¡ ááááá§áááááá áá ášáá¡á á£áááá£ááá á¡áááªáááá£á ááá á¢á£ááá£á áááá¥áááášá, á ááááá᪠ááááááááááá¡ 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 {
á¢áááá¡ filter hook prerouting áá ááá áá¢áá¢á£áá áááááá£áá; ááááá¢áááá¡ áááŠááá;
tcp dport 8888 tcp flags syn notrack
}á¯ááááá¡ áááá {
á¢áááá¡ filter hook á¬áá áá ááá áá¢áá¢á£áá á€ááá¢á á; ááááá¢áááá¡ áááŠááá;
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