Guida MikroTik
Firewall e QoSIntermedio

Firewall IPv6 — Proteggere i clienti senza NAT

Con IPv6 ogni cliente ha indirizzi pubblici e non c'è NAT a fare da 'firewall implicito': il firewall filter IPv6 diventa l'unica protezione. Ruleset di base per WISP che assegnano prefissi IPv6 ai clienti.

Con l'esaurimento degli IPv4, sempre più WISP italiani assegnano IPv6 nativo ai clienti (un /56 o /64 via DHCPv6-PD). Differenza fondamentale rispetto a IPv4: non c'è NAT. Con IPv4+CGNAT il NAT nascondeva i dispositivi interni; con IPv6 ogni dispositivo del cliente ha un indirizzo pubblico raggiungibile. Quindi il firewall filter IPv6 non è opzionale: è l'unica barriera tra Internet e la rete del cliente.

ICMPv6 è VITALE: a differenza di IPv4, in IPv6 ICMP serve al funzionamento base della rete (Neighbor Discovery sostituisce ARP, Path MTU Discovery, autoconfigurazione SLAAC). Bloccare ICMPv6 indiscriminatamente ROMPE la connettività. Va filtrato per tipo, non droppato in blocco.

Chain INPUT IPv6 — protezione del router

Ruleset IPv6 input di base per router WISP
# ================================================================
# FIREWALL IPv6 — chain input (protegge il router)
# ================================================================

# Accetta established/related (come in IPv4)
/ipv6 firewall filter add   chain=input connection-state=established,related,untracked   action=accept comment="IPv6: established/related"

# Scarta invalid
/ipv6 firewall filter add   chain=input connection-state=invalid   action=drop comment="IPv6: drop invalid"

# ICMPv6 ESSENZIALE: accettalo (con rate-limit ragionevole)
/ipv6 firewall filter add   chain=input protocol=icmpv6   action=accept comment="IPv6: ICMPv6 necessario (ND, PMTUD, SLAAC)"

# Accetta DHCPv6 client (il router riceve il prefisso dall'upstream)
/ipv6 firewall filter add   chain=input protocol=udp dst-port=546   action=accept comment="IPv6: DHCPv6 client (UDP 546)"

# Servizi di gestione SOLO da admin (come IPv4)
/ipv6 firewall filter add   chain=input protocol=tcp dst-port=22,8291   src-address-list=admin6 action=accept   comment="IPv6: gestione solo da admin"

# Accetta tutto dalla LAN (link-local incluso)
/ipv6 firewall filter add   chain=input in-interface-list=LAN action=accept   comment="IPv6: traffico dalla LAN"

# DROP finale dalla WAN
/ipv6 firewall filter add   chain=input in-interface-list=WAN action=drop   comment="IPv6: drop finale input WAN"

Chain FORWARD IPv6 — protezione dei clienti

Ruleset IPv6 forward: proteggi i clienti che hanno IP pubblici
# ================================================================
# FIREWALL IPv6 — chain forward (protegge le reti dei clienti)
# Qui sta la vera differenza con IPv4: i dispositivi dei clienti
# sono pubblicamente raggiungibili -> il forward è il loro firewall.
# ================================================================

# Established/related: accetta (il traffico di risposta legittimo)
/ipv6 firewall filter add   chain=forward connection-state=established,related   action=accept comment="IPv6 fwd: established/related"

# Invalid: drop
/ipv6 firewall filter add   chain=forward connection-state=invalid   action=drop comment="IPv6 fwd: drop invalid"

# ICMPv6 in transito: necessario (PMTUD end-to-end!)
/ipv6 firewall filter add   chain=forward protocol=icmpv6   action=accept comment="IPv6 fwd: ICMPv6 (PMTUD end-to-end)"

# Clienti -> Internet: permesso
/ipv6 firewall filter add   chain=forward in-interface-list=LAN out-interface-list=WAN   action=accept comment="IPv6 fwd: clienti -> Internet"

# Internet -> clienti: SOLO connessioni nuove verso porte/host scelti.
# Di default un WISP blocca le NUOVE connessioni in entrata verso i
# clienti residenziali (come faceva il NAT in IPv4), lasciando al
# cliente la possibilità di richiedere l'apertura (o gestendola lui sul CPE).
/ipv6 firewall filter add   chain=forward in-interface-list=WAN out-interface-list=LAN   connection-state=new action=drop   comment="IPv6 fwd: blocca nuove connessioni dall'esterno verso i clienti"

# DROP finale forward
/ipv6 firewall filter add   chain=forward action=drop comment="IPv6 fwd: drop finale"
Decisione commerciale/tecnica: alcuni WISP lasciano il forward IPv6 APERTO in entrata (IPv6 'end-to-end' puro), demandando il firewall al CPE/dispositivo del cliente; altri bloccano le nuove connessioni in entrata per coerenza con l'esperienza IPv4. La scelta consigliata per il residenziale italiano è bloccare di default (meno ticket per dispositivi IoT esposti), documentandolo nel contratto. Per i clienti business che ospitano servizi, apri selettivamente con regole dedicate.

Ricorda che IPv6 e IPv4 hanno firewall separati e indipendenti in RouterOS (/ip firewall vs /ipv6 firewall). Un router dual-stack ben configurato per IPv4 ma senza regole IPv6 è completamente esposto sul lato IPv6: è un errore di sicurezza molto comune. Verifica sempre entrambi gli stack.

IPv6 firewallipv6 filterprefix delegationICMPv6neighbor discoverySLAACDHCPv6-PDno NATwisp ipv6dual stack

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS