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

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° nftables 1.0.0 āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, IPv4, IPv6, ARP āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ°āĻŋāĻœ (iptables, ip6table, arptables āĻāĻŦāĻ‚ ebtables āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ā§‡) āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ nftables 1.0.0 āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ Linux 5.13 āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĻāĻļāĻŽāĻŋāĻ• āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ• āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ (āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŸāĻŋ āĻ›āĻŋāĻ˛ 0.9.9)āĨ¤

nftables āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻšāĻ˛ā§‡, āĻ¯āĻ–āĻ¨ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻ¤āĻ°āĻŸāĻŋ nf_tables āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž 3.13 āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ Linux āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ…āĻ‚āĻļāĨ¤ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻ¤āĻ°ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛-āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ†āĻšāĻ°āĻŖ, āĻĄā§‡āĻŸāĻžāĻ° āĻ‰āĻĒāĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻŦāĻžāĻš āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

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

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

  • āĻ¸ā§‡āĻŸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ “*” āĻŽāĻžāĻ¸ā§āĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ¸ā§‡āĻŸā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻĒāĻĄāĻŧā§‡ āĻ¨āĻž āĻāĻŽāĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ x { āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻŦā§āĻ˛āĻ•āĻ˛āĻŋāĻ¸ā§āĻŸ { āĻŸāĻžāĻ‡āĻĒ ipv4_addr : āĻ°āĻžāĻ¯āĻŧ āĻĒāĻ¤āĻžāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ = { 192.168.0.0/16 : āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨, 10.0.0.0/8 : āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨, * : āĻĄā§āĻ°āĻĒ } } āĻšā§‡āĻ‡āĻ¨ y { āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• āĻĒā§āĻ°āĻŋāĻ°ā§āĻŸāĻŋāĻ‚ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° 0; āĻ¨ā§€āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ; ip saddr vmap @blocklist } }
  • "--define" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ # cat test.nft āĻŸā§‡āĻŦāĻŋāĻ˛ netdev x { āĻšā§‡āĻ‡āĻ¨ y { āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• āĻ‡āĻ¨āĻ—ā§āĻ°ā§‡āĻ¸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ = $dev āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° 0; āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻĄā§āĻ°āĻĒ; } } # nft — define dev="{ eth0, eth1 }" -f test.nft
  • āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ, āĻ§ā§āĻ°ā§āĻŦāĻ• (āĻ¸ā§āĻŸā§‡āĻŸāĻĢā§āĻ˛) āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤: āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ‡āĻ¨ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° { āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻĒā§‹āĻ°ā§āĻŸāĻŽā§āĻ¯āĻžāĻĒ {āĻŸāĻžāĻ‡āĻĒ inet_service : āĻ°āĻžāĻ¯āĻŧ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ = { 22 āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ 0 āĻŦāĻžāĻ‡āĻŸ 0 : āĻœāĻžāĻŽā§āĻĒ ssh_āĻ‡āĻ¨āĻĒā§āĻŸ, * āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ 0 āĻŦāĻžāĻ‡āĻŸ 0 : āĻĄā§āĻ°āĻĒ } } āĻšā§‡āĻ‡āĻ¨ ssh_input { } āĻšā§‡āĻ‡āĻ¨ wan_input { tcp dport vmap @portmap } āĻšā§‡āĻ‡āĻ¨ āĻĒā§āĻ°āĻŋāĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ { āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• āĻĒā§āĻ°āĻŋāĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ•āĻžāĻāĻšāĻž; āĻ¨ā§€āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ; iif vmap { "lo" : āĻœāĻžāĻŽā§āĻĒ āĻ“āĻ¯āĻŧāĻžāĻ¨_āĻ‡āĻ¨āĻĒā§āĻŸ } }
  • āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻĒāĻ°āĻŋāĻŦāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ "āĻ˛āĻŋāĻ¸ā§āĻŸ āĻšā§āĻ•" āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: # nft āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻšā§āĻ• āĻ†āĻ‡āĻĒāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ eth0 āĻĢā§āĻ¯āĻžāĻŽāĻŋāĻ˛āĻŋ āĻ†āĻ‡āĻĒāĻŋ { āĻšā§āĻ• āĻ‡āĻ¨āĻ—ā§āĻ°ā§‡āĻ¸ { +0000000010 āĻšā§‡āĻ‡āĻ¨ āĻ¨ā§‡āĻŸāĻĄā§‡āĻ­ xy [nf_tables] +0000000300 āĻšā§‡āĻ‡āĻ¨ inet mw [nf_tables in] { -0000000100 āĻšā§‡āĻ‡āĻ¨ ip ab [nf_tables] +0000000300 āĻšā§‡āĻ‡āĻ¨ inet mz [nf_tables] } āĻšā§āĻ• āĻĢāĻ°ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻĄ { -0000000225 selinux_ipv4_forward 0000000000 āĻšā§‡āĻ‡āĻ¨ ip ac [nf_tables]0000000225_4 outputs 0000000225_āĻ†āĻ‰āĻŸāĻĒā§āĻŸ } āĻšā§āĻ• āĻĒā§‹āĻ¸ā§āĻŸāĻ°ā§āĻŸāĻŋāĻ‚ { +4 XNUMX selinux_ipvXNUMX_postroute } }
  • āĻ•āĻŋāĻ‰ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋ āĻāĻžāĻļ, āĻ¸āĻŋāĻŽāĻšā§āĻ¯āĻžāĻļ āĻāĻŦāĻ‚ āĻ¨ā§āĻŽāĻœā§‡āĻ¨ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ â€Ļ āĻ¸āĻžāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŋāĻŽāĻšā§āĻ¯āĻžāĻļ āĻŽā§‹āĻĄ 65536 â€Ļ āĻ¸āĻžāĻ°āĻŋ āĻĒāĻ¤āĻžāĻ•āĻž āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŽāĻœā§‡āĻ¨ āĻ‡āĻ¨āĻ• āĻŽā§‹āĻĄ 65536 â€Ļ āĻāĻžāĻļ āĻ“āĻ†āĻ‡āĻāĻĢā§‡āĻ° āĻ¸āĻžāĻ°āĻŋāĨ¤ āĻŽā§‡āĻŸāĻž āĻŽāĻžāĻ°ā§āĻ• āĻŽā§‹āĻĄ 32 "āĻ¸āĻžāĻ°āĻŋ" āĻŽā§āĻ¯āĻžāĻĒ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ‡āĻšā§āĻ›āĻžāĻŽāĻ¤ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ ... āĻ¸āĻžāĻ°āĻŋ āĻĒāĻ¤āĻžāĻ•āĻžāĻ—ā§āĻ˛āĻŋ oifname āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ°ā§‡āĻ° āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ { "eth0" : 0, "pp0" : 2, "eth1" : 2 }
  • āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ = { eth0, eth1 } āĻŸā§‡āĻŦāĻŋāĻ˛ ip x { āĻšā§‡āĻ‡āĻ¨ y { āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• āĻ‡āĻ¨āĻĒā§āĻŸ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° 0; āĻ¨ā§€āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ; iifname vmap { lo : accept, $interfaces : drop } } } # nft -f x.nft # nft āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¸ā§‡āĻŸ āĻŸā§‡āĻŦāĻŋāĻ˛ ip x { āĻšā§‡āĻ‡āĻ¨ y { āĻŸāĻžāĻ‡āĻĒ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻšā§āĻ• āĻ‡āĻ¨āĻĒā§āĻŸ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° 0; āĻ¨ā§€āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ; iifname vmap { "lo" : āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨, "eth0" : drop, "eth1" : drop } }
  • āĻŦāĻŋāĻ°āĻ¤āĻŋāĻ¤ā§‡ vmaps (āĻ°āĻžāĻ¯āĻŧ āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ°) āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤: # nft āĻ¨āĻŋāĻ¯āĻŧāĻŽ xy tcp dport āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻ‡āĻĒāĻŋ āĻ¸āĻĻāĻ° āĻ­āĻŋāĻŽā§āĻ¯āĻžāĻĒ {1025-65535āĨ¤ 192.168.10.2 : āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨ }
  • NAT āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸āĨ¤ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒā§āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: ... snat to ip saddr āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° { 10.141.11.4 : 192.168.2.2-192.168.2.4 } āĻŦāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻāĻŦāĻ‚ āĻĒā§‹āĻ°ā§āĻŸāĻ—ā§āĻ˛āĻŋ: ... dnat āĻĨā§‡āĻ•ā§‡ ip saddr āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° { 10.141.11.4. . 192.168.2.3 } āĻŦāĻž āĻ†āĻ‡āĻĒāĻŋ āĻ°ā§‡āĻžā§āĻœ āĻāĻŦāĻ‚ āĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ: ... dnat āĻĨā§‡āĻ•ā§‡ ip saddrāĨ¤ tcp dport āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° { 80 192.168.1.2: 80-10.141.10.2 10.141.10.5-8888 }

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

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