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

ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರ್ nftables 1.0.2 ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ, IPv4, IPv6, ARP ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಸೇತುವೆಗಳಿಗಾಗಿ ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರಿಂಗ್ ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ಏಕೀಕರಿಸುತ್ತದೆ (iptables, ip6table, arptables ಮತ್ತು ebtables ಅನ್ನು ಬದಲಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ). nftables 1.0.2 ಬಿಡುಗಡೆಯು ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅಗತ್ಯವಿರುವ ಬದಲಾವಣೆಗಳನ್ನು Linux ಕರ್ನಲ್ 5.17-rc ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ.

nftables ಪ್ಯಾಕೇಜ್ ಬಳಕೆದಾರರ ಜಾಗದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರ್ ಘಟಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಆದರೆ ಕರ್ನಲ್-ಮಟ್ಟದ ಕೆಲಸವನ್ನು nf_tables ಉಪವ್ಯವಸ್ಥೆಯಿಂದ ಒದಗಿಸಲಾಗುತ್ತದೆ, ಇದು ಬಿಡುಗಡೆಯಾದ 3.13 ರಿಂದ ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ನ ಭಾಗವಾಗಿದೆ. ಕರ್ನಲ್ ಮಟ್ಟವು ಪ್ಯಾಕೆಟ್‌ಗಳಿಂದ ಡೇಟಾವನ್ನು ಹೊರತೆಗೆಯಲು, ಡೇಟಾ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಹರಿವಿನ ನಿಯಂತ್ರಣಕ್ಕೆ ಮೂಲಭೂತ ಕಾರ್ಯಗಳನ್ನು ಒದಗಿಸುವ ಸಾಮಾನ್ಯ ಪ್ರೋಟೋಕಾಲ್-ಸ್ವತಂತ್ರ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಮಾತ್ರ ಒದಗಿಸುತ್ತದೆ.

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

ಮುಖ್ಯ ಆವಿಷ್ಕಾರಗಳು:

  • ನಿಯಮಗಳ ಆಪ್ಟಿಮೈಸೇಶನ್ ಮೋಡ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಹೊಸ "-o" ("--ಆಪ್ಟಿಮೈಜ್") ಆಯ್ಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ಇದು ನಿಯಮಾವಳಿ ಫೈಲ್ ಅನ್ನು ನಿಜವಾಗಿ ಲೋಡ್ ಮಾಡದೆಯೇ ಬದಲಾವಣೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು "--ಚೆಕ್" ಆಯ್ಕೆಯೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು. . ಆಪ್ಟಿಮೈಸೇಶನ್ ನಿಮಗೆ ಒಂದೇ ರೀತಿಯ ನಿಯಮಗಳನ್ನು ಸಂಯೋಜಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ನಿಯಮಗಳು: 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.5 ip daddr 1.1.1.1 ಸ್ವೀಕರಿಸಿ ip daddr 2.2.2.2 ip dadd2.2.2.2. .3.3.3.3 ಸ್ವೀಕರಿಸಿ ip saddr XNUMX ip daddr XNUMX ಡ್ರಾಪ್

    ಮೆಟಾ iifname ಆಗಿ ಸಂಯೋಜಿಸಲಾಗುವುದು. ip saddr. ip daddr { eth1 . 1.1.1.1. 2.2.2.3, eth1 . 1.1.1.2. 2.2.2.5 } ip saddr ಅನ್ನು ಸ್ವೀಕರಿಸಿ. ip daddr vmap { 1.1.1.1 . 2.2.2.2 : ಸ್ವೀಕರಿಸಿ, 2.2.2.2 . 3.3.3.3 : ಡ್ರಾಪ್ }

    ಉದಾಹರಣೆ ಬಳಕೆ: # nft -c -o -f ruleset.test ವಿಲೀನಗೊಳಿಸುವಿಕೆ: ruleset.nft:16:3-37: ip daddr 192.168.0.1 ಕೌಂಟರ್ ಸ್ವೀಕರಿಸಿ ruleet.nft:17:3-37: ip daddr 192.168.0.2 ಕೌಂಟರ್ ಸ್ವೀಕರಿಸಿ ruleet.nft:18:3-37: ip daddr 192.168.0.3 ಕೌಂಟರ್ ಸ್ವೀಕರಿಸಿ

  • ಸೆಟ್ ಪಟ್ಟಿಗಳು ip ಮತ್ತು tcp ಆಯ್ಕೆಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತವೆ, ಹಾಗೆಯೇ sctp ಭಾಗಗಳು: ಸೆಟ್ s5 {typeof ip ಆಯ್ಕೆ ra ಮೌಲ್ಯ ಅಂಶಗಳು = { 1, 1024 } } ಸೆಟ್ s7 { typeof sctp chunk init num-inbound-streams elements = { 1, 4 } } ಚೈನ್ c5 { ip ಆಯ್ಕೆಯನ್ನು RA ಮೌಲ್ಯ @s5 ಸ್ವೀಕರಿಸಿ } ಚೈನ್ c7 { sctp ಚಂಕ್ init num-inbound-streams @s7 ಸ್ವೀಕರಿಸಿ }
  • TCP ಆಯ್ಕೆಗಳು fastopen, md5sig ಮತ್ತು mptcp ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಮ್ಯಾಪಿಂಗ್‌ಗಳಲ್ಲಿ mp-tcp ಉಪವಿಧವನ್ನು ಬಳಸುವುದಕ್ಕಾಗಿ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ: tcp ಆಯ್ಕೆ mptcp ಉಪವಿಧ 1
  • ಸುಧಾರಿತ ಕರ್ನಲ್-ಸೈಡ್ ಫಿಲ್ಟರಿಂಗ್ ಕೋಡ್.
  • ಫ್ಲೋಟೇಬಲ್ ಈಗ JSON ಫಾರ್ಮ್ಯಾಟ್‌ಗೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ.
  • ಎತರ್ನೆಟ್ ಫ್ರೇಮ್ ಹೊಂದಾಣಿಕೆಯ ಕಾರ್ಯಾಚರಣೆಗಳಲ್ಲಿ "ತಿರಸ್ಕರಿಸುವ" ಕ್ರಿಯೆಯನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸಲಾಗಿದೆ. ಈಥರ್ ಸದ್ದರ್ aa:bb:cc:dd:ee:ff ip daddr 192.168.0.1 ತಿರಸ್ಕರಿಸು

ಮೂಲ: opennet.ru

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