nftables ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರ್ 1.0.6 ಬಿಡುಗಡೆ

ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರ್ nftables 1.0.6 ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ, IPv4, IPv6, ARP ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಸೇತುವೆಗಳಿಗಾಗಿ ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರಿಂಗ್ ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ಏಕೀಕರಿಸುತ್ತದೆ (iptables, ip6table, arptables ಮತ್ತು ebtables ಅನ್ನು ಬದಲಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ). nftables ಪ್ಯಾಕೇಜ್ ಬಳಕೆದಾರರ ಜಾಗದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರ್ ಘಟಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಆದರೆ ಕರ್ನಲ್-ಮಟ್ಟದ ಕೆಲಸವನ್ನು nf_tables ಉಪವ್ಯವಸ್ಥೆಯಿಂದ ಒದಗಿಸಲಾಗುತ್ತದೆ, ಇದು ಬಿಡುಗಡೆಯಾದ 3.13 ರಿಂದ ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ನ ಭಾಗವಾಗಿದೆ. ಕರ್ನಲ್ ಮಟ್ಟವು ಪ್ಯಾಕೆಟ್‌ಗಳಿಂದ ಡೇಟಾವನ್ನು ಹೊರತೆಗೆಯಲು, ಡೇಟಾ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಹರಿವಿನ ನಿಯಂತ್ರಣಕ್ಕೆ ಮೂಲಭೂತ ಕಾರ್ಯಗಳನ್ನು ಒದಗಿಸುವ ಸಾಮಾನ್ಯ ಪ್ರೋಟೋಕಾಲ್-ಸ್ವತಂತ್ರ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಮಾತ್ರ ಒದಗಿಸುತ್ತದೆ.

ಫಿಲ್ಟರಿಂಗ್ ನಿಯಮಗಳು ಮತ್ತು ಪ್ರೋಟೋಕಾಲ್-ನಿರ್ದಿಷ್ಟ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ಯೂಸರ್-ಸ್ಪೇಸ್ ಬೈಟ್‌ಕೋಡ್‌ಗೆ ಸಂಕಲಿಸಲಾಗುತ್ತದೆ, ನಂತರ ಈ ಬೈಟ್‌ಕೋಡ್ ಅನ್ನು ನೆಟ್‌ಲಿಂಕ್ ಇಂಟರ್ಫೇಸ್ ಬಳಸಿ ಕರ್ನಲ್‌ಗೆ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಬಿಪಿಎಫ್ (ಬರ್ಕ್ಲಿ ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರ್‌ಗಳು) ಹೋಲುವ ವಿಶೇಷ ವರ್ಚುವಲ್ ಗಣಕದಲ್ಲಿ ಕರ್ನಲ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಈ ವಿಧಾನವು ಕರ್ನಲ್ ಮಟ್ಟದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಫಿಲ್ಟರಿಂಗ್ ಕೋಡ್‌ನ ಗಾತ್ರವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡಲು ಮತ್ತು ಪಾರ್ಸಿಂಗ್ ನಿಯಮಗಳ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಮತ್ತು ಪ್ರೋಟೋಕಾಲ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ತರ್ಕವನ್ನು ಬಳಕೆದಾರರ ಜಾಗಕ್ಕೆ ಸರಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.

ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು:

  • ನಿಯಮಗಳ ಆಪ್ಟಿಮೈಜರ್, "-o/-ಆಪ್ಟಿಮೈಜ್" ಆಯ್ಕೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಾಗ, ನಿಯಮಗಳ ಸ್ವಯಂಚಾಲಿತ ಪ್ಯಾಕೇಜಿಂಗ್ ಅನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ನಕ್ಷೆ ಮತ್ತು ಸೆಟ್ ಪಟ್ಟಿಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನಿಯಮಗಳು # cat ruleet.nft ಟೇಬಲ್ ip x { chain y { ಟೈಪ್ ಫಿಲ್ಟರ್ ಹುಕ್ ಇನ್‌ಪುಟ್ ಆದ್ಯತಾ ಫಿಲ್ಟರ್; ನೀತಿ ಕುಸಿತ; meta iifname eth1 ip saddr 1.1.1.1 ip daddr 2.2.2.3 ಸ್ವೀಕರಿಸಿ meta iifname eth1 ip saddr 1.1.1.2 ip daddr 2.2.2.4 ಸ್ವೀಕರಿಸಿ meta iifname eth1 ip saddr 1.1.1.2 eth2.2.3.0 ip saddr 24 .1 ip daddr 1.1.1.2-2.2.4.0 ಸ್ವೀಕರಿಸಿ meta iifname eth2.2.4.10 ip saddr 2 ip daddr 1.1.1.3 ಸ್ವೀಕರಿಸಿ } } "nft -o -c -f" ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರ: ನಿಯಮಗಳನ್ನು ಅನುಸರಿಸಿದಂತೆ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ .nft:2.2.2.5:4-17: meta iifname eth74 ip saddr 1 ip daddr 1.1.1.1 accept ruleset.nft:2.2.2.3:5-17: meta iifname eth74 ip saddr 1 ip dadd.1.1.1.2 ನಿಯಮಗಳನ್ನು ಸ್ವೀಕರಿಸಿ. : 2.2.2.4:6-17: meta iifname eth77 ip saddr 1 ip daddr 1.1.1.2/2.2.3.0 accept ruleset.nft:24:7-17: meta iifname eth83 ip saddr 1 ip daddr 1.1.1.2-2.2.4.0. ನಿಯಮಗಳನ್ನು ಸ್ವೀಕರಿಸಿ.nft:2.2.4.10:8-17: meta iifname eth74 ip saddr 2 ip daddr 1.1.1.3 ಸ್ವೀಕರಿಸಿ: iifname . ip saddr. ip daddr { eth2.2.2.5 . 1. 1.1.1.1, eth2.2.2.3 . 1. 1.1.1.2, eth2.2.2.4 . 1. 1.1.1.2/2.2.3.0, eth24 . 1. 1.1.1.2-2.2.4.0, eth2.2.4.10. 2. 1.1.1.3 } ಸ್ವೀಕರಿಸಿ
  • ಆಪ್ಟಿಮೈಜರ್ ಈಗಾಗಲೇ ಸರಳವಾದ ಸೆಟ್ ಪಟ್ಟಿಗಳನ್ನು ಹೆಚ್ಚು ಕಾಂಪ್ಯಾಕ್ಟ್ ರೂಪಕ್ಕೆ ಬಳಸುವ ನಿಯಮಗಳನ್ನು ಸಹ ಪರಿವರ್ತಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ ನಿಯಮಗಳು: # cat ruleet.nft ಟೇಬಲ್ ip ಫಿಲ್ಟರ್ { ಚೈನ್ ಇನ್‌ಪುಟ್ {ಟೈಪ್ ಫಿಲ್ಟರ್ ಹುಕ್ ಇನ್‌ಪುಟ್ ಆದ್ಯತಾ ಫಿಲ್ಟರ್; ನೀತಿ ಕುಸಿತ; iifname "lo" ಅನ್ನು ಸ್ವೀಕರಿಸಿ ct ಸ್ಥಿತಿಯನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ, ಸಂಬಂಧಿತ ಸಮ್ಮತಿಸುವಿಕೆ ಕಾಮೆಂಟ್ "ನಾವು ಟ್ರಾಫಿಕ್‌ನಲ್ಲಿ ಹುಟ್ಟಿಕೊಂಡಿದ್ದೇವೆ, ನಾವು ನಂಬುತ್ತೇವೆ" iifname "enp0s31f6" ip saddr { 209.115.181.102, 216.197.228.230 } ip daddr 10.0.0.149 udp123 32768 ಸ್ವೀಕರಿಸಿ iifname "enp65535s0f31" ip saddr { 6, 64.59.144.17 } ip daddr 64.59.150.133 udp sport 10.0.0.149 udp dport 53-32768 ಪ್ಯಾಕೇಜ್ - ಇತ್ಯಾದಿಗಳನ್ನು ಕತ್ತರಿಸಿದ ನಂತರ ಕೆಳಗಿನಂತೆ :ruleset.nft:65535:6-22: iifname "enp149s0f31" ip saddr { 6, 209.115.181.102 } ip daddr 216.197.228.230 udp 10.0.0.149ftn 123 32768dp 65535 ನಿಯಮಗಳು 7:22-143 0 : iifname "enp31s6f64.59.144.17" ip saddr { 64.59.150.133, 10.0.0.149 } ip daddr 53 udp sport 32768 udp dport 65535-0 ಗೆ ಸ್ವೀಕರಿಸಿ. ip saddr. ಐಪಿ ತಂದೆ. ಯುಡಿಪಿ ಕ್ರೀಡೆ. udp dport { enp31s6f209.115.181.102 . 10.0.0.149. 123. 32768. 65535-0, enp31s6f216.197.228.230. 10.0.0.149. 123. 32768. 65535-0, enp31s6f64.59.144.17. 10.0.0.149. 53. 32768. 65535-0, enp31s6f64.59.150.133. 10.0.0.149. 53. 32768. 65535-XNUMX } ಸ್ವೀಕರಿಸಿ
  • IPv4 (ನೆಟ್‌ವರ್ಕ್ ಬೈಟ್ ಆರ್ಡರ್) ಮತ್ತು ಮೆಟಾ ಮಾರ್ಕ್ (ಸಿಸ್ಟಮ್ ಬೈಟ್ ಆರ್ಡರ್) ನಂತಹ ವಿಭಿನ್ನ ಬೈಟ್ ಆರ್ಡರ್‌ನೊಂದಿಗೆ ಪ್ರಕಾರಗಳನ್ನು ಬಳಸುವ ವಿಲೀನ ಮಧ್ಯಂತರಗಳಿಗಾಗಿ ಬೈಟ್‌ಕೋಡ್ ಉತ್ಪಾದನೆಯೊಂದಿಗೆ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ. ಟೇಬಲ್ ಐಪಿ x {ಮ್ಯಾಪ್ w {ಐಪಿ ಸ್ಯಾಡ್ರ್ ಪ್ರಕಾರ. ಮೆಟಾ ಗುರುತು: ತೀರ್ಪು ಫ್ಲ್ಯಾಗ್‌ಗಳ ಮಧ್ಯಂತರ ಕೌಂಟರ್ ಅಂಶಗಳು = { 127.0.0.1-127.0.0.4 . 0x123434-0xb00122: ಸ್ವೀಕರಿಸಿ, 192.168.0.10-192.168.1.20 . 0x0000aa00-0x0000aaff : ಸ್ವೀಕರಿಸಿ, } } ಚೈನ್ ಕೆ {ಟೈಪ್ ಫಿಲ್ಟರ್ ಹುಕ್ ಇನ್‌ಪುಟ್ ಆದ್ಯತೆಯ ಫಿಲ್ಟರ್; ನೀತಿ ಕುಸಿತ; ip saddr. ಮೆಟಾ ಮಾರ್ಕ್ vmap @w }}
  • ಕಚ್ಚಾ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸುವಾಗ ಅಪರೂಪದ ಪ್ರೋಟೋಕಾಲ್‌ಗಳ ಸುಧಾರಿತ ಹೋಲಿಕೆ, ಉದಾಹರಣೆಗೆ: meta l4proto 91 @th,400,16 0x0 ಸ್ವೀಕರಿಸಿ
  • ಮಧ್ಯಂತರದಲ್ಲಿ ನಿಯಮಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವಲ್ಲಿನ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ: ನಿಯಮವನ್ನು ಸೇರಿಸಿ xy tcp ಸ್ಪೋರ್ಟ್ { 3478-3497, 16384-16387 } ಕೌಂಟರ್ ಸ್ವೀಕರಿಸಿ
  • ಸೆಟ್ ಮತ್ತು ಮ್ಯಾಪ್ ಪಟ್ಟಿಗಳಲ್ಲಿ ಅಭಿವ್ಯಕ್ತಿಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲು JSON API ಅನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ.
  • nftables ಪೈಥಾನ್ ಲೈಬ್ರರಿಗೆ ವಿಸ್ತರಣೆಗಳು ಊರ್ಜಿತಗೊಳಿಸುವಿಕೆಯ ಮೋಡ್‌ನಲ್ಲಿ ("-c") ಪ್ರಕ್ರಿಯೆಗಾಗಿ ನಿಯಮ ಸೆಟ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ವೇರಿಯೇಬಲ್‌ಗಳ ಬಾಹ್ಯ ವ್ಯಾಖ್ಯಾನಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುತ್ತದೆ.
  • ಸೆಟ್ ಪಟ್ಟಿ ಅಂಶಗಳಲ್ಲಿ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಸೇರಿಸಲು ಅನುಮತಿಸಲಾಗಿದೆ.
  • ಬೈಟ್ ದರ ಮಿತಿಯು ಶೂನ್ಯ ಮೌಲ್ಯವನ್ನು ಸೂಚಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ