nftables பாக்கெட் வடிகட்டி வெளியீடு 0.9.4

வெளியிடப்பட்டது பாக்கெட் வடிகட்டி வெளியீடு nftables 0.9.4, IPv6, IPv4, ARP மற்றும் நெட்வொர்க் பிரிட்ஜ்களுக்கான பாக்கெட் வடிகட்டுதல் இடைமுகங்களை ஒன்றிணைப்பதன் மூலம் iptables, ip6table, arptables மற்றும் ebtables ஆகியவற்றிற்கு மாற்றாக உருவாகிறது. nftables தொகுப்பில் பயனர் இடத்தில் இயங்கும் பாக்கெட் வடிகட்டி கூறுகள் உள்ளன, அதே சமயம் கர்னல்-நிலை வேலை nf_tables துணை அமைப்பால் வழங்கப்படுகிறது, இது 3.13 வெளியீட்டிலிருந்து லினக்ஸ் கர்னலின் ஒரு பகுதியாக உள்ளது. nftables 0.9.4 வெளியீடு வேலை செய்ய தேவையான மாற்றங்கள் எதிர்கால கர்னல் கிளையில் சேர்க்கப்பட்டுள்ளன லினக்ஸ் 5.6.

கர்னல் நிலை ஒரு பொதுவான நெறிமுறை-சுயாதீன இடைமுகத்தை மட்டுமே வழங்குகிறது, இது பாக்கெட்டுகளிலிருந்து தரவைப் பிரித்தெடுப்பதற்கும், தரவு செயல்பாடுகளைச் செய்வதற்கும் மற்றும் ஓட்டக் கட்டுப்பாடுக்கும் அடிப்படை செயல்பாடுகளை வழங்குகிறது. வடிகட்டுதல் விதிகள் மற்றும் நெறிமுறை-குறிப்பிட்ட ஹேண்ட்லர்கள் பயனர் இடத்தில் பைட்கோடாக தொகுக்கப்படுகின்றன, அதன் பிறகு இந்த பைட்கோடு Netlink இடைமுகத்தைப் பயன்படுத்தி கர்னலில் ஏற்றப்பட்டு, BPF (Berkeley Packet Filters) ஐ நினைவூட்டும் ஒரு சிறப்பு மெய்நிகர் இயந்திரத்தில் கர்னலில் செயல்படுத்தப்படுகிறது. இந்த அணுகுமுறையானது கர்னல் மட்டத்தில் இயங்கும் வடிகட்டுதல் குறியீட்டின் அளவைக் கணிசமாகக் குறைக்கவும், நெறிமுறைகளுடன் பணிபுரியும் நெறிமுறைகளைப் பாகுபடுத்தும் அனைத்து செயல்பாடுகளையும் பயனர் இடத்திற்கு நகர்த்தவும் உங்களை அனுமதிக்கிறது.

முக்கிய கண்டுபிடிப்புகள்:

  • இணைப்புகளில் உள்ள வரம்புகளுக்கான ஆதரவு (இணைப்பு, சில முகவரிகளின் தொகுப்புகள் மற்றும் ஒப்பீட்டை எளிதாக்கும் போர்ட்கள்). எடுத்துக்காட்டாக, இணைப்பாக இருக்கும் "ஒயிட்லிஸ்ட்" தொகுப்பிற்கு, "இடைவெளி" கொடியைக் குறிப்பிடுவது, தொகுப்பில் வரம்புகளை உள்ளடக்கியிருக்கலாம் என்பதைக் குறிக்கும் ("ipv4_addr. ipv4_addr "192.168.10.35. 192.68.11.123" படிவத்தின் பொருத்தங்கள், இப்போது நீங்கள் முகவரிகளின் குழுக்களைக் குறிப்பிடலாம் "80-192.168.10.35-192.168.10.40.

    அட்டவணை ip foo {
    ஏற்புப்பட்டியலை அமைக்கவும் {
    ipv4_addr என டைப் செய்யவும். ipv4_addr. inet_service
    கொடிகள் இடைவெளி
    உறுப்புகள் = { 192.168.10.35-192.168.10.40 . 192.68.11.123-192.168.11.125. 80}
    }

    சங்கிலி பட்டை {
    வகை வடிகட்டி ஹூக் முன்னோட்டம் முன்னுரிமை வடிகட்டி; கொள்கை வீழ்ச்சி;
    ip saddr. ஐபி அப்பா. tcp dport @whitelist ஏற்கவும்
    }
    }

  • தொகுப்புகள் மற்றும் வரைபடப் பட்டியல்களில், "typeof" கட்டளையைப் பயன்படுத்த முடியும், இது பொருந்தும் போது உறுப்பு வடிவமைப்பை தீர்மானிக்கிறது.
    உதாரணமாக:

    அட்டவணை ip foo {
    ஏற்புப்பட்டியலை அமைக்கவும் {
    ஐபி சாடிர் வகை
    உறுப்புகள் = { 192.168.10.35, 192.168.10.101, 192.168.10.135 }
    }

    சங்கிலி பட்டை {
    வகை வடிகட்டி ஹூக் முன்னோட்டம் முன்னுரிமை வடிகட்டி; கொள்கை வீழ்ச்சி;
    ip daddr @ whitelist ஏற்கிறேன்
    }
    }

    அட்டவணை ip foo {
    வரைபடம் addr2mark {
    ip saddr வகை: மெட்டா குறி
    உறுப்புகள் = { 192.168.10.35 : 0x00000001, 192.168.10.135 : 0x00000002 }
    }
    }

  • NAT பிணைப்புகளில் இணைப்புகளைப் பயன்படுத்துவதற்கான திறனைச் சேர்த்தது, இது வரைபடப் பட்டியல்கள் அல்லது பெயரிடப்பட்ட தொகுப்புகளின் அடிப்படையில் NAT மாற்றங்களை வரையறுக்கும்போது முகவரி மற்றும் போர்ட்டைக் குறிப்பிட உங்களை அனுமதிக்கிறது:

    nft add rule ip nat pre dnat ip addr. port to ip saddr வரைபடம் { 1.1.1.1 : 2.2.2.2 . முப்பது }

    nft வரைபடம் ஐபி நாட் இடங்களைச் சேர்க்கவும் { வகை ipv4_addr . inet_service: ipv4_addr. inet_service \\; }
    nft add rule ip nat pre dnat ip addr. போர்ட் டு IP saddr. tcp dport வரைபடம் @destinations

  • பிணைய அட்டை மூலம் மேற்கொள்ளப்படும் சில வடிகட்டுதல் செயல்பாடுகளுடன் வன்பொருள் முடுக்கத்திற்கான ஆதரவு. ethtool பயன்பாடு (“ethtool -K eth0 hw-tc-offload on”) மூலம் முடுக்கம் செயல்படுத்தப்படுகிறது, அதன் பிறகு அது “offload” கொடியைப் பயன்படுத்தி பிரதான சங்கிலிக்கான nftables இல் செயல்படுத்தப்படுகிறது. Linux kernel 5.6 ஐப் பயன்படுத்தும் போது, ​​பெறுதல், நிராகரித்தல், நகல் செய்தல் (dup) மற்றும் பகிர்தல் (fwd) பாக்கெட்டுகளுடன் இணைந்து ஹெடர் புலம் பொருத்தம் மற்றும் உள்வரும் இடைமுக ஆய்வுக்கு வன்பொருள் முடுக்கம் துணைபுரிகிறது. கீழே உள்ள எடுத்துக்காட்டில், 192.168.30.20 என்ற முகவரியிலிருந்து வரும் பாக்கெட்டுகளை கர்னலுக்கு அனுப்பாமல், பிணைய அட்டை மட்டத்தில் டிராப்பிங் பாக்கெட்டுகளின் செயல்பாடுகள் செய்யப்படுகின்றன:

    # cat file.nft
    அட்டவணை நெட்தேவ் x {
    சங்கிலி y {
    வகை வடிகட்டி ஹூக் நுழைவு சாதனம் eth0 முன்னுரிமை 10; கொடிகள் ஏற்றப்படுகின்றன;
    ip saddr 192.168.30.20 துளி
    }
    }
    # nft -f file.nft

  • விதிகளில் பிழையின் இருப்பிடம் பற்றிய மேம்படுத்தப்பட்ட தகவல்.

    # nft நீக்கு விதி ip yz கைப்பிடி 7
    பிழை: விதியைச் செயல்படுத்த முடியவில்லை: அத்தகைய கோப்பு அல்லது கோப்பகம் இல்லை
    விதி ஐபி ஐஎஸ் கைப்பிடி 7 ஐ நீக்கு
    ^

    # nft நீக்கு விதி ip xx கைப்பிடி 7
    பிழை: விதியைச் செயல்படுத்த முடியவில்லை: அத்தகைய கோப்பு அல்லது கோப்பகம் இல்லை
    விதி ஐபி எக்ஸ்எக்ஸ் கைப்பிடி 7 ஐ நீக்கு
    ^

    # nft டேபிள் திருப்பத்தை நீக்கு
    பிழை: அத்தகைய கோப்பு அல்லது அடைவு இல்லை; குடும்ப ஐபியில் டேபிள் ‘test' என்று சொன்னீர்களா?
    அட்டவணை திருப்பத்தை நீக்கு
    ^^^^

    முதல் உதாரணம், "y" அட்டவணை கணினியில் இல்லை என்பதையும், இரண்டாவது "7" ஹேண்ட்லரைக் காணவில்லை என்பதையும், மூன்றாவது அட்டவணையின் பெயரைத் தட்டச்சு செய்யும் போது எழுத்துப்பிழை ப்ராம்ட் காட்டப்படும் என்பதையும் காட்டுகிறது.

  • "meta sdif" அல்லது "meta sdifname" ஐக் குறிப்பிடுவதன் மூலம் அடிமை இடைமுகத்தைச் சரிபார்ப்பதற்கான ஆதரவு சேர்க்கப்பட்டது:

    ... மெட்டா sdifname vrf1 ...

  • வலது அல்லது இடது ஷிப்ட் செயல்பாடுகளுக்கான ஆதரவு சேர்க்கப்பட்டது. எடுத்துக்காட்டாக, ஏற்கனவே உள்ள பாக்கெட் லேபிளை 1 பிட்டாக மாற்றவும், மைனர் பிட்டை 1 ஆக அமைக்கவும்:

    … மெட்டா மார்க் செட் மெட்டா மார்க் lshift 1 அல்லது 0x1 …

  • நீட்டிக்கப்பட்ட பதிப்பு தகவலைக் காண்பிக்க "-V" விருப்பம் செயல்படுத்தப்பட்டது.

    # nft -V
    nftables v0.9.4 (ஜிவ் அட் ஃபைவ்)
    cli:படிக்கலை
    json: ஆமாம்
    minigmp:இல்லை
    libxtables: ஆம்

  • கட்டளை வரி விருப்பங்கள் இப்போது கட்டளைகளுக்கு முன் குறிப்பிடப்பட வேண்டும். எடுத்துக்காட்டாக, நீங்கள் “nft -a list ruleset” ஐக் குறிப்பிட வேண்டும், மேலும் “nft list ruleset -a”ஐ இயக்கினால் பிழை ஏற்படும்.

    ஆதாரம்: opennet.ru

கருத்தைச் சேர்