nftables āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° 0.9.3 āĻ°āĻŋāĻ˛āĻŋāĻœ

āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ nftables 0.9.3, IPv6, IPv4, ARP āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ°āĻŋāĻœāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ iptables, ip6table, arptables āĻāĻŦāĻ‚ ebtables-āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤ nftables āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻšāĻ˛ā§‡, āĻ¯āĻ–āĻ¨ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻœ nf_tables āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž 3.13 āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ Linux āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ…āĻ‚āĻļāĨ¤ nftables 0.9.3 āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ†āĻ¸āĻ¨ā§āĻ¨ Linux 5.5 āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻļāĻžāĻ–āĻžāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻ¤āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛-āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ†āĻšāĻ°āĻŖ, āĻĄā§‡āĻŸāĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻŦāĻžāĻš āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ˛āĻœāĻŋāĻ• āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻŦāĻžāĻ‡āĻŸāĻ•ā§‹āĻĄā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻ‡ āĻŦāĻžāĻ‡āĻŸāĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ˛āĻŋāĻ‚āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦāĻŋāĻĒāĻŋāĻāĻĢ (āĻŦāĻžāĻ°ā§āĻ•āĻ˛ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°) āĻāĻ° āĻ¸ā§āĻŽāĻ°āĻŖ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ•ā§‹āĻĄā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ‚ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻāĻŦāĻ‚ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨:

  • āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻŽā§āĻ¯āĻžāĻšāĻŋāĻ‚ āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨. āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡āĻ° āĻŦā§āĻ¯āĻžāĻĒā§āĻ¤āĻŋ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§‡āĻ° āĻĒā§ƒāĻĨāĻ• āĻĻāĻŋāĻ¨ā§‡ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ°āĻŋāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§āĻ—āĻžāĻ¨ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ "-T" āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

    āĻŽā§‡āĻŸāĻž āĻ¸āĻŽāĻ¯āĻŧ \"2019-12-24 16:00\" — \"2020-01-02 7:00\"
    āĻŽā§‡āĻŸāĻž āĻ˜āĻ¨ā§āĻŸāĻž \"17:00\" - \"19:00\"
    āĻŽā§‡āĻŸāĻž āĻĻāĻŋāĻ¨ \"āĻļā§āĻ•ā§āĻ°\"

  • SELinux āĻšāĻŋāĻšā§āĻ¨ (secmark) āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĨ¤

    ct secmark āĻ¸ā§‡āĻŸ āĻŽā§‡āĻŸāĻž secmark
    āĻŽā§‡āĻŸāĻž āĻ¸ā§‡āĻ•āĻŽāĻžāĻ°ā§āĻ• āĻ¸ā§‡āĻŸ āĻ¸āĻŋāĻŸāĻŋ āĻ¸ā§‡āĻ•āĻŽāĻžāĻ°ā§āĻ•

  • āĻ¸āĻŋāĻ¨āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

    āĻŸā§‡āĻŦāĻŋāĻ˛ ip foo {
    āĻ¸āĻŋāĻ¨āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ https-synproxy {
    āĻāĻŽāĻāĻ¸ 1460
    wscale 7
    āĻŸāĻžāĻ‡āĻŽāĻ¸ā§āĻŸā§āĻ¯āĻžāĻŽā§āĻĒ sack-perm
    }

    āĻ¸āĻŋāĻ¨āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻ…āĻ¨ā§āĻ¯-āĻ¸āĻŋāĻ¨āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ {
    āĻāĻŽāĻāĻ¸ 1460
    wscale 5
    }

    āĻšā§‡āĻ‡āĻ¨ āĻĒā§āĻ°āĻŋ {
    āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• prerouting āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ•āĻžāĻāĻšāĻž; āĻ¨ā§€āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ;
    tcp dport 8888 tcp āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸āĻŋāĻ¨ āĻ¨āĻŸā§āĻ°ā§āĻ¯āĻžāĻ•
    }

    āĻšā§‡āĻ‡āĻ¨ āĻŦāĻžāĻ° {
    āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• āĻĢāĻ°ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°; āĻ¨ā§€āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ;
    ct āĻ¸ā§āĻŸā§‡āĻŸ āĻ…āĻŦā§ˆāĻ§, āĻ†āĻ¨āĻŸā§āĻ°ā§āĻ¯āĻžāĻ•āĻĄ āĻ¸āĻŋāĻ¨āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻ¨āĻžāĻŽ ip saddr āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° { 192.168.1.0/24 : "https-synproxy", 192.168.2.0/24 : "āĻ…āĻ¨ā§āĻ¯-āĻ¸āĻŋāĻ¨āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ" }
    }
    }

  • āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§‡āĻŸ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤

    nft āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ... @set5 { ip6 saddr āĻŽā§āĻ›ā§āĻ¨āĨ¤ ip6 daddr}

  • āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ°āĻŋāĻœ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžāĻ¤ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ ID āĻāĻŦāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž VLAN āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨;

    āĻŽā§‡āĻŸāĻž ibrpvid 100
    āĻŽā§‡āĻŸāĻž ibrvproto vlan

  • āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ¸ā§‡āĻŸā§‡āĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ "-t" ("--terse")āĨ¤ "nft -t āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¸ā§‡āĻŸ" āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŦā§‡:

    āĻŸā§‡āĻŦāĻŋāĻ˛ ip x {
    āĻ¸ā§‡āĻŸ y {
    ipv4_addr āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨
    }
    }

    āĻāĻŦāĻ‚ "nft āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¸ā§‡āĻŸ" āĻ¸āĻš

    āĻŸā§‡āĻŦāĻŋāĻ˛ ip x {
    āĻ¸ā§‡āĻŸ y {
    ipv4_addr āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨
    āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ = { 192.168.10.2, 192.168.20.1,
    192.168.4.4, 192.168.2.34 }
    }
    }

  • āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¨ā§‡āĻŸāĻĄā§‡āĻ­ āĻšā§‡āĻ‡āĻ¨ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž (āĻ•ā§‡āĻŦāĻ˛ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ 5.5 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡)āĨ¤

    āĻŸā§‡āĻŦāĻŋāĻ˛ netdev x āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
    āĻšā§‡āĻ‡āĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ netdev xy { \
    āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• āĻ‡āĻ¨āĻ—ā§āĻ°ā§‡āĻ¸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ = { eth0, eth1 } āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° 0;
    }

  • āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤

    # nft ipv4_addr āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
    āĻĄā§‡āĻŸāĻžāĻŸāĻžāĻ‡āĻĒ ipv4_addr (IPv4 āĻ āĻŋāĻ•āĻžāĻ¨āĻž) (āĻŦā§‡āĻ¸āĻŸāĻžāĻ‡āĻĒ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž), 32 āĻŦāĻŋāĻŸ

  • libreadline āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ linenoise āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ CLI āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤

    ./configure --with-cli=linenoise

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨