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

nftables 0.9.9 ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರ್ ಬಿಡುಗಡೆಯಾಗಿದೆ. ಇದು IPv4, IPv6, ARP, ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಬ್ರಿಡ್ಜ್‌ಗಳಿಗೆ (iptables, ip6table, arptables, ಮತ್ತು ebtables ಗಳಿಗೆ ಬದಲಿಯಾಗಿ ಗುರಿಯಿಟ್ಟುಕೊಂಡಿದೆ) ಪ್ಯಾಕೆಟ್ ಫಿಲ್ಟರಿಂಗ್ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ಏಕೀಕರಿಸುತ್ತದೆ. nf_tables ಉಪವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಕಡಿಮೆ ಮಟ್ಟದ API ಅನ್ನು ಒದಗಿಸುವ libnftnl 1.2.0 ಲೈಬ್ರರಿಯನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ. nftables 0.9.9 ಗೆ ಅಗತ್ಯವಿರುವ ಬದಲಾವಣೆಗಳನ್ನು ಕರ್ನಲ್‌ನಲ್ಲಿ ಸಂಯೋಜಿಸಲಾಗಿದೆ. Linux 5.13-ಆರ್‌ಸಿ1.

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

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

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

  • ಫ್ಲೋಟೇಬಲ್ ಸಂಸ್ಕರಣೆಯನ್ನು ನೆಟ್‌ವರ್ಕ್ ಅಡಾಪ್ಟರ್ ಬದಿಗೆ ಸರಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ, 'ಆಫ್‌ಲೋಡ್' ಫ್ಲ್ಯಾಗ್ ಬಳಸಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಫ್ಲೋಟೇಬಲ್ ಪ್ಯಾಕೆಟ್ ಮರುನಿರ್ದೇಶನದ ಮಾರ್ಗವನ್ನು ಉತ್ತಮಗೊಳಿಸುವ ಕಾರ್ಯವಿಧಾನವಾಗಿದೆ, ಇದರಲ್ಲಿ ಎಲ್ಲಾ ನಿಯಮ ಸಂಸ್ಕರಣಾ ಸರಪಳಿಗಳ ಸಂಪೂರ್ಣ ಅಂಗೀಕಾರವನ್ನು ಮೊದಲ ಪ್ಯಾಕೆಟ್‌ಗೆ ಮಾತ್ರ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಹರಿವಿನಲ್ಲಿರುವ ಎಲ್ಲಾ ಇತರ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ನೇರವಾಗಿ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ. ಟೇಬಲ್ ಐಪಿ ಗ್ಲೋಬಲ್ {ಫ್ಲೋಟೇಬಲ್ ಎಫ್ {ಹುಕ್ ಪ್ರವೇಶದ ಆದ್ಯತೆಯ ಫಿಲ್ಟರ್ + 1 ಸಾಧನಗಳು = {ಲ್ಯಾನ್3, ಲ್ಯಾನ್0, ವ್ಯಾನ್ } ಫ್ಲ್ಯಾಗ್‌ಗಳು ಆಫ್‌ಲೋಡ್ } ಚೈನ್ ಫಾರ್ವರ್ಡ್ {ಟೈಪ್ ಫಿಲ್ಟರ್ ಹುಕ್ ಫಾರ್ವರ್ಡ್ ಆದ್ಯತಾ ಫಿಲ್ಟರ್; ನೀತಿ ಸ್ವೀಕರಿಸಿ; ip ಪ್ರೋಟೋಕಾಲ್ {tcp, udp } ಹರಿವು ಸೇರಿಸಿ @f } ಚೈನ್ ಪೋಸ್ಟ್ {ಟೈಪ್ ನ್ಯಾಟ್ ಹುಕ್ ಪೋಸ್ಟ್‌ರೌಟಿಂಗ್ ಆದ್ಯತಾ ಫಿಲ್ಟರ್; ನೀತಿ ಸ್ವೀಕರಿಸಿ; oif ಹೆಸರು "ವಾನ್" ಮಾಸ್ಕ್ವೆರೇಡ್ } }
  • ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ಟೇಬಲ್‌ನ ವಿಶೇಷ ಬಳಕೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮಾಲೀಕರ ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಟೇಬಲ್‌ಗೆ ಲಗತ್ತಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಂಡಾಗ, ಅದರೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಟೇಬಲ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಳಿಸಲ್ಪಡುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಕಾಮೆಂಟ್ ರೂಪದಲ್ಲಿ ನಿಯಮಗಳ ಡಂಪ್‌ನಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ: ಟೇಬಲ್ ip x { # progname nft ಫ್ಲ್ಯಾಗ್‌ಗಳ ಮಾಲೀಕರ ಸರಪಳಿ y {ಟೈಪ್ ಫಿಲ್ಟರ್ ಹುಕ್ ಇನ್‌ಪುಟ್ ಆದ್ಯತೆಯ ಫಿಲ್ಟರ್; ನೀತಿ ಸ್ವೀಕರಿಸಿ; ಕೌಂಟರ್ ಪ್ಯಾಕೆಟ್‌ಗಳು 1 ಬೈಟ್‌ಗಳು 309 } }
  • IEEE 802.1ad ವಿವರಣೆಗೆ (VLAN ಪೇರಿಸುವಿಕೆ ಅಥವಾ QinQ) ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಅನೇಕ VLAN ಟ್ಯಾಗ್‌ಗಳನ್ನು ಒಂದೇ ಎತರ್ನೆಟ್ ಫ್ರೇಮ್‌ಗೆ ಬದಲಿಸುವ ವಿಧಾನವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಬಾಹ್ಯ ಈಥರ್ನೆಟ್ ಫ್ರೇಮ್ 8021ad ಮತ್ತು vlan id=342 ಪ್ರಕಾರವನ್ನು ಪರಿಶೀಲಿಸಲು, ನೀವು ನಿರ್ಮಾಣವನ್ನು ಬಳಸಬಹುದು ... ಈಥರ್ ಟೈಪ್ 802.1ad vlan id 342 ಈಥರ್ನೆಟ್ ಫ್ರೇಮ್ನ ಬಾಹ್ಯ ಪ್ರಕಾರವನ್ನು ಪರಿಶೀಲಿಸಲು 8021ad/vlan id=1, ನೆಸ್ಟೆಡ್ 802.1 q/vlan id=2 ಮತ್ತು ಮತ್ತಷ್ಟು IP ಪ್ಯಾಕೆಟ್ ಎನ್‌ಕ್ಯಾಪ್ಸುಲೇಶನ್: ... ಈಥರ್ ಪ್ರಕಾರ 8021ad vlan id 1 vlan ಪ್ರಕಾರ 8021q vlan id 2 vlan ಪ್ರಕಾರ ip ಕೌಂಟರ್
  • ಏಕೀಕೃತ ಕ್ರಮಾನುಗತ cgroups v2 ಬಳಸಿಕೊಂಡು ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. cgroups v2 ಮತ್ತು v1 ನಡುವಿನ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ CPU ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿಯೋಜಿಸಲು ಪ್ರತ್ಯೇಕ ಶ್ರೇಣಿಗಳ ಬದಲಿಗೆ ಎಲ್ಲಾ ರೀತಿಯ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಸಾಮಾನ್ಯ cgroups ಕ್ರಮಾನುಗತವನ್ನು ಬಳಸುವುದು, ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುವುದು ಮತ್ತು I/O ಗಾಗಿ. ಉದಾಹರಣೆಗೆ, ಮೊದಲ ಹಂತದ cgroupv2 ನಲ್ಲಿರುವ ಸಾಕೆಟ್‌ನ ಪೂರ್ವಜರು “system.slice” ಮಾಸ್ಕ್‌ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು, ನೀವು ನಿರ್ಮಾಣವನ್ನು ಬಳಸಬಹುದು: ... ಸಾಕೆಟ್ cgroupv2 ಹಂತ 1 “system.slice”
  • SCTP ಪ್ಯಾಕೆಟ್‌ಗಳ ಘಟಕಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಕಾರ್ಯಾಚರಣೆಗೆ ಅಗತ್ಯವಿರುವ ಕಾರ್ಯವು ಕರ್ನಲ್‌ನಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ) Linux 5.14). ಉದಾಹರಣೆಗೆ, ಒಂದು ಪ್ಯಾಕೆಟ್ 'ಡೇಟಾ' ಪ್ರಕಾರ ಮತ್ತು 'ಟೈಪ್' ಕ್ಷೇತ್ರದೊಂದಿಗೆ ಚಂಕ್ ಅನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು: … sctp ಚಂಕ್ ಡೇಟಾ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ … sctp ಚಂಕ್ ಡೇಟಾ ಪ್ರಕಾರ 0
  • ನಿಯಮ ಲೋಡಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು "-f" ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸರಿಸುಮಾರು ಎರಡು ಬಾರಿ ವೇಗಗೊಳಿಸಲಾಗಿದೆ. ನಿಯಮಗಳ ಪಟ್ಟಿಯ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಸಹ ವೇಗಗೊಳಿಸಲಾಗಿದೆ.
  • ಫ್ಲ್ಯಾಗ್ ಬಿಟ್‌ಗಳನ್ನು ಹೊಂದಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ಕಾಂಪ್ಯಾಕ್ಟ್ ಫಾರ್ಮ್ ಅನ್ನು ಒದಗಿಸಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, snot ಮತ್ತು dnat ಸ್ಥಿತಿ ಬಿಟ್‌ಗಳನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ ಎಂದು ಪರಿಶೀಲಿಸಲು, ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು: ... ct ಸ್ಥಿತಿ ! ಬಿಟ್‌ಮಾಸ್ಕ್ ಸಿನ್‌ನಲ್ಲಿ ಸಿನ್ ಬಿಟ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು snat,dnat, ack: ... tcp ಫ್ಲ್ಯಾಗ್‌ಗಳು syn / syn, ack ಮತ್ತು rst ಬಿಟ್‌ಗಳನ್ನು ಬಿಟ್‌ಮಾಸ್ಕ್ syn, ack, fin,rst ನಲ್ಲಿ ಹೊಂದಿಸಲಾಗಿಲ್ಲ ಎಂದು ಪರಿಶೀಲಿಸಲು ... tcp ಧ್ವಜಗಳು ! = ಫಿನ್, rst / syn,ack, fin, rst
  • ಸೆಟ್/ಮ್ಯಾಪ್ ಪ್ರಕಾರದ ವ್ಯಾಖ್ಯಾನಗಳಲ್ಲಿ "ತೀರ್ಪು" ಕೀವರ್ಡ್ ಅನ್ನು ಅನುಮತಿಸಿ: ನಕ್ಷೆಯನ್ನು ಸೇರಿಸಿ xm { typeof iifname . ip ಪ್ರೋಟೋಕಾಲ್ ನೇ ಡಿಪೋರ್ಟ್: ತೀರ್ಪು ;}

ಮೂಲ: opennet.ru

DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ಸೈಟ್‌ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ 🔥 DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್‌ಸೈಟ್ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ | ProHoster