#!/usr/sbin/nft -f flush ruleset # ============================================================================== # 🌐 ТАБЛИЦА IPV6 (С доступом по SSH для Сервера 1 и Сервера 2) # ============================================================================== table ip6 filter { # 🏠 Ваши доверенные IPv6-адреса/подсети set trusted_ips_v6 { type ipv6_addr; flags interval; elements = { 2a11:840:20:1b::/64, # Сервер 1 (Вся подсеть /64) 2a03:7380:254:58::/64 # Мак } } chain input { type filter hook input priority filter; policy drop; # ❌ Отбросить недопустимые соединения ct state invalid counter drop comment "Drop invalid connections" # ✅ Разрешить ответы на исходящие запросы сервера ct state established,related accept comment "Accept established and related IPv6 connections" # ✅ Разрешить локальную петлю IPv6 iifname "lo" counter accept comment "Accept loopback interface IPv6" # 🛠️ КРИТИЧНО ДЛЯ IPV6: Разрешаем служебный ICMPv6 трафик icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, parameter-problem, echo-request, echo-reply, nd-router-solicit, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept comment "Accept vital ICMPv6 packets for IPv6 stack to work" # 🔓 Разрешаем SSH (порт 22) только для ваших серверов из списка trusted_ips_v6 ip6 saddr @trusted_ips_v6 tcp dport 22 counter accept comment "Accept SSH from my IPv6 servers" } chain forward { type filter hook forward priority filter; policy drop; } chain output { type filter hook output priority filter; policy accept; } }