เชเชฐเซเชจเชฒ เชธเซเชคเชฐ เชฎเชพเชคเซเชฐ เชเช เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเซเชเซเชเซเชฒ-เชธเซเชตเชคเชเชคเซเชฐ เชเชจเซเชเชฐเชซเซเชธ เชชเซเชฐเซเช เชชเชพเชกเซ เชเซ เชเซ เชชเซเชเซเชเซเชฎเชพเชเชฅเซ เชกเซเชเชพ เชเชพเชขเชตเชพ, เชกเซเชเชพ เชเชชเชฐเซเชถเชจ เชเชฐเชตเชพ เช เชจเซ เชซเซเชฒเซ เชเชเชเซเชฐเซเชฒ เชฎเชพเชเซ เชฎเซเชณเชญเซเชค เชเชพเชฐเซเชฏเซ เชชเซเชฐเชพ เชชเชพเชกเซ เชเซ. เชซเชฟเชฒเซเชเชฐเชฟเชเช เชจเชฟเชฏเชฎเซ เช เชจเซ เชชเซเชฐเซเชเซเชเซเชฒ-เชตเชฟเชถเชฟเชทเซเช เชนเซเชจเซเชกเชฒเชฐเซเชธ เชฏเซเชเชฐ เชธเซเชชเซเชธเชฎเชพเช เชฌเชพเชเชเชเซเชกเชฎเชพเช เชเชฎเซเชชเชพเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเชฌเชพเชฆ เช เชฌเชพเชเชเชเซเชก เชจเซเชเชฒเชฟเชเช เชเชจเซเชเชฐเชซเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฐเซเชจเชฒเชฎเชพเช เชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เช เชจเซ BPF (เชฌเชฐเซเชเชฒเซ เชชเซเชเซเช เชซเชฟเชฒเซเชเชฐเซเชธ) เชจเซ เชฏเชพเชฆ เช เชชเชพเชตเซ เชคเซเชตเชพ เชตเชฟเชถเชฟเชทเซเช เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเชฎเชพเช เชเชฐเซเชจเชฒเชฎเชพเช เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เช เชญเชฟเชเชฎ เชคเชฎเชจเซ เชเชฐเซเชจเชฒ เชธเซเชคเชฐเซ เชเชพเชฒเชคเชพ เชซเชฟเชฒเซเชเชฐเชฟเชเช เชเซเชกเชจเชพ เชเชฆเชจเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชเชเชพเชกเชตเชพ เช เชจเซ เชชเซเชฐเซเชเซเชเซเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซเชจเชพ เชจเชฟเชฏเชฎเซ เช เชจเซ เชคเชฐเซเชเชถเชพเชธเซเชคเซเชฐเชจเชพ เชคเชฎเชพเชฎ เชเชพเชฐเซเชฏเซเชจเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชเชเซเชฏเชพเชฎเชพเช เชเชธเซเชกเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ.
เชฎเซเชเซเชฏ เชจเชตเซเชจเชคเชพเช:
- เชธเซเช เชคเชคเซเชตเซ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒ เชชเซเชเซเช เช
เชจเซ เชเซเชฐเชพเชซเชฟเช เชเชพเชเชจเซเชเชฐเซเชธ เชฎเชพเชเซเชจเซ เชเชงเชพเชฐ เชธเซเชเชฎเชพเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ. "เชเชพเชเชจเซเชเชฐ" เชเซเชตเชฐเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชพเชเชจเซเชเชฐเซเชธ เชธเชเซเชทเชฎ เชเซ:
เชเซเชทเซเชเช ip x {
เชธเซเช y {
เชเชเชชเซ เชธเซเชกเชฐเชจเซ เชชเซเชฐเชเชพเชฐ
เชเชพเชเชจเซเชเชฐ
เชคเชคเซเชตเซ = { 192.168.10.35, 192.168.10.101, 192.168.10.135 }
}เชธเชพเชเชเชณ z {
เชชเซเชฐเชเชพเชฐ เชซเชฟเชฒเซเชเชฐ เชนเซเช เชเชเชเชชเซเช เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพ เชซเชฟเชฒเซเชเชฐ; เชจเซเชคเชฟ เชธเซเชตเซเชเชพเชฐเซ;
ip daddr @y
}
} - เชเชพเชเชจเซเชเชฐเซเชธเชจเชพ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชฎเซเชฒเซเชฏเซ เชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซเชฏเชพ เชชเชเซ เช
เชเชพเชเชจเชพ เชเชพเชเชจเซเชเชฐเซเชธเชจเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ "nft -f" เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ:
# cat ruleset.nft
เชเซเชทเซเชเช ip x {
เชธเซเช y {
เชเชเชชเซ เชธเซเชกเชฐเชจเซ เชชเซเชฐเชเชพเชฐ
เชเชพเชเชจเซเชเชฐ
เชคเชคเซเชตเซ = { 192.168.10.35 เชเชพเชเชจเซเชเชฐ เชชเซเชเซเชเซ 1 เชฌเชพเชเชเซเชธ 84, 192.168.10.101 \
เชเชพเชเชจเซเชเชฐ เชชเซ 192.168.10.135 เชเชพเชเชจเซเชเชฐ เชชเซเชเซเชเซเชธ 0 เชฌเชพเชเชเซเชธ 0 }
}เชธเชพเชเชเชณ z {
เชชเซเชฐเชเชพเชฐ เชซเชฟเชฒเซเชเชฐ เชนเซเช เชเชเชเชชเซเช เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพ เชซเชฟเชฒเซเชเชฐ; เชจเซเชคเชฟ เชธเซเชตเซเชเชพเชฐเซ;
ip daddr @y
}
}
# nft -f ruleset.nft
#nft เชฏเชพเชฆเซ เชจเชฟเชฏเชฎเซ
เชเซเชทเซเชเช ip x {
เชธเซเช y {
เชเชเชชเซ เชธเซเชกเชฐเชจเซ เชชเซเชฐเชเชพเชฐ
เชเชพเชเชจเซเชเชฐ
เชคเชคเซเชตเซ = { 192.168.10.35 เชเชพเชเชจเซเชเชฐ เชชเซเชเซเชเซ 1 เชฌเชพเชเชเซเชธ 84, 192.168.10.101 \
เชเชพเชเชจเซเชเชฐ เชชเซ 192.168.10.135 เชเชพเชเชจเซเชเชฐ เชชเซเชเซเชเซเชธ 0 เชฌเชพเชเชเซเชธ 0 }
}เชธเชพเชเชเชณ z {
เชชเซเชฐเชเชพเชฐ เชซเชฟเชฒเซเชเชฐ เชนเซเช เชเชเชเชชเซเช เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพ เชซเชฟเชฒเซเชเชฐ; เชจเซเชคเชฟ เชธเซเชตเซเชเชพเชฐเซ;
ip daddr @y
}
} - เชซเซเชฒเซเชเซเชฌเชฒเชฎเชพเช เชเชพเชเชจเซเชเชฐ เชธเชชเซเชฐเซเช เชชเชฃ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ:
เชเซเชฌเชฒ ip foo {
เชซเซเชฒเซเชเซเชฌเชฒ เชฌเชพเชฐ {
เชนเซเช เชชเซเชฐเชตเซเชถ เช เชเซเชฐเชคเชพ -100
เชเชชเชเชฐเชฃเซ = { eth0, eth1 }
เชเชพเชเชจเซเชเชฐ
}เชธเชพเชเชเชณ เชเชเชณ {
เชเชพเชเชช เชซเชฟเชฒเซเชเชฐ เชนเซเช เชซเซเชฐเชตเชฐเซเชก เชชเซเชฐเชพเชฏเซเชฐเชฟเชเซ เชซเชฟเชฒเซเชเชฐ;
เชซเซเชฒเซ @เชฌเชพเชฐ เชเชพเชเชจเซเชเชฐ เชเชฎเซเชฐเซ
}
}เชคเชฎเซ "conntrack -L" เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชพเชเชจเซเชเชฐเซเชธเชจเซ เชธเซเชเชฟ เชเซเช เชถเชเซ เชเซ:
tcp 6 src=192.168.10.2 dst=10.0.1.2 sport=47278 dport=5201 packets=9 bytes=608 \
src=10.0.1.2 dst=10.0.1.1 เชฐเชฎเชค=5201 dport=47278 เชชเซเชเซเช=8 เชฌเชพเชเชเซเชธ=428 [เชเชซเชฒเซเชก] เชฎเชพเชฐเซเช=0 \
secctx=null use=2 tcp 6 src=192.168.10.2 dst=10.0.1.2 sport=47280 dport=5201 \
packets=1005763 bytes=44075714753 src=10.0.1.2 dst=10.0.1.1 sport=5201 dport=47280 \
packets=967505 เชฌเชพเชเชเซเชธ=50310268 [OFFLOAD] เชฎเชพเชฐเซเช=0 secctx=null use=2 - เชเซเชกเชพเชฃ เชฎเชพเชเซเชจเชพ เชธเซเชเชฎเชพเช (เชธเชเชเชฒเชจ, เชธเชฐเชจเชพเชฎเชพเชเชจเชพ เชเซเชเซเชเชธ เชฌเชเชกเชฒเซเชธ เช
เชจเซ เชชเซเชฐเซเช เชเซ เชธเชฐเชเชพเชฎเชฃเซเชจเซ เชธเชฐเชณ เชฌเชจเชพเชตเซ เชเซ), "เชเชพเชเชชเชเชซ" เชจเชฟเชฐเซเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชถเชเซเชฏ เชเซ, เชเซ เชธเชฎเซเชนเชจเชพ เชเชเชเซเชจเชพ เชเชเช เชญเชพเชเซ เชฎเชพเชเซ เชคเชคเซเชตเซเชจเชพ เชกเซเชเชพ เชชเซเชฐเชเชพเชฐเชจเซ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เชเชฐเซ เชเซ:
เชเซเชฌเชฒ ip foo {
เชตเซเชนเชพเชเชเชฒเชฟเชธเซเช เชธเซเช เชเชฐเซ {
เชเชเชชเซ เชธเซเชกเชฐเชจเซ เชชเซเชฐเชเชพเชฐ. เชเซเชธเซเชชเซ เชกเซเชชเซเชฐเซเช
เชคเชคเซเชตเซ = { 192.168.10.35 . 80, 192.168.10.101. 80}
}เชธเชพเชเชเชณ เชชเชเซเชเซ {
เชชเซเชฐเชเชพเชฐ เชซเชฟเชฒเซเชเชฐ เชนเซเช เชชเซเชฐเซเชฐเซเชเชฟเชเช เชชเซเชฐเชพเชฏเซเชฐเชฟเชเซ เชซเชฟเชฒเซเชเชฐ; เชจเซเชคเชฟเชฎเชพเช เชเชเชพเชกเซ;
ip daddr. tcp dport @whitelist เชธเซเชตเซเชเชพเชฐเซ
}
} - เชกเชพเชฏเชฐเซเชเซเชเซเชตเชจเซ เชชเซเชฐเชเชพเชฐ เชนเชตเซ เชจเชเชถเชพ เชธเซเชเชฟเชฎเชพเช เชเซเชกเชพเชตเชพ เชชเชฐ เชชเชฃ เชฒเชพเชเซ เชฅเชพเชฏ เชเซ:
เชเซเชฌเชฒ ip foo {
เชจเชเชถเซ addr2mark {
เชเชเชชเซ เชธเซเชกเชฐเชจเซ เชชเซเชฐเชเชพเชฐ. เชเซเชธเซเชชเซ เชกเซเชชเซเชฐเซเช: เชฎเซเชเชพ เชฎเชพเชฐเซเช
เชคเชคเซเชตเซ = { 192.168.10.35 . 80 : 0x00000001,
192.168.10.135. 80 : 0x00000002 }
}เชธเชพเชเชเชณ เชชเชเซเชเซ {
เชชเซเชฐเชเชพเชฐ เชซเชฟเชฒเซเชเชฐ เชนเซเช เชชเซเชฐเซเชฐเซเชเชฟเชเช เชชเซเชฐเชพเชฏเซเชฐเชฟเชเซ เชซเชฟเชฒเซเชเชฐ; เชจเซเชคเชฟเชฎเชพเช เชเชเชพเชกเซ;
เชฎเซเชเชพ เชฎเชพเชฐเซเช เชธเซเช ip daddr. tcp dport เชจเชเชถเซ @addr2mark เชธเซเชตเซเชเชพเชฐเซ
}
} - เช
เชจเชพเชฎเซ (เช
เชจเชพเชฎเซ) เชธเซเชเชฎเชพเช เชถเซเชฐเซเชฃเซเชฎเชพเช เชเซเชกเชพเชตเชพ เชฎเชพเชเซ เชเชฎเซเชฐเชพเชฏเซเชฒ เชธเชฎเชฐเซเชฅเชจ:
# nft เชเชฎเซเชฐเซ เชจเชฟเชฏเชฎ inet เชซเชฟเชฒเซเชเชฐ เชเชจเชชเซเช ip daddr . เชเซเชธเซเชชเซ เชกเซเชชเซเชฐเซเช\
{ 10.0.0.0/8 . 10-23, 192.168.1.1-192.168.3.8. 80-443 } เชธเซเชตเซเชเชพเชฐเซ - เชจเซเชเชตเชฐเซเช เชฌเซเชฐเชฟเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชคเซ เชตเชเชคเซ 802.1q (VLAN) เชซเซเชฒเซเช เชธเชพเชฅเซเชจเชพ เชชเซเชเซเชเซ เชเชพเชขเซ เชจเชพเชเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
# nft เชเซเชธเซเชชเซ เชฐเซเชธเซเช เชธเชพเชฅเซ เชจเชฟเชฏเชฎ เชฌเซเชฐเชฟเช foo เชฌเชพเชฐ เชเชฅเชฐ เชชเซเชฐเชเชพเชฐ vlan เชฐเชฟเชเซเชเซเช เชเชฎเซเชฐเซ
- TCP เชธเชคเซเชฐ เชเชณเชเชเชฐเซเชคเชพ (conntrack ID) เชฆเซเชตเชพเชฐเชพ เชฎเซเชเชฟเชเช เชฎเชพเชเซ เชธเชฎเชฐเซเชฅเชจ เชเชฎเซเชฐเซเชฏเซเช. เชเซเชจเซเชเซเชฐเชพเช เชเชเชกเซ เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ "--เชเชเชเชชเซเช เชเชเชกเซ" เชตเชฟเชเชฒเซเชชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ:
# เชเซเชจเซเชเซเชฐเชพเช -L โเชเชเชเชชเซเช เชเชเชกเซ
udp 17 18 src=192.168.2.118 dst=192.168.2.1 sport=36424 dport=53 packets=2 \
bytes=122 src=192.168.2.1 dst=192.168.2.118 sport=53 dport=36424 packets=2 bytes=320 \
[เชเชถเซเชเชฟเชค] เชฎเชพเชฐเซเช=0 เชเชชเชฏเซเช=1 เชเชเชกเซ=2779986232# nft เชเชฎเซเชฐเซ เชจเชฟเชฏเชฎ foo bar ct id 2779986232 เชเชพเชเชจเซเชเชฐ
เชธเซเชฐเซเชธ: opennet.ru