Ciao, vi racconto come sono riuscito a usare un router OpenWRT su linea GPON Iliad senza leggere i parametri MAP-E dalla pagina personale.
La fibra Iliad é nativa IPv6 e supporta IPv4 con tunnelling MAP-E. MAP-E permette di condividere un indirizzo IPv4 pubblico tra N utenti (4 per Iliad) suddividendo le porte in N blocchi. Ma questo giá lo sapevate.
MAP-E é supportato da OpenWRT con il pacchetto map, ma Iliad non manda la configurazione MAP-E tramite DHCPv6, e la mostra nell'area utente del sito solo se hai attivato l'opzione Net Neutrality.
La configurazione MAP-E é composta di:
- Indirizzo IPv6 del Border Relay (router che spacchetta le connessioni IPv4 dai frame MAP-E IPv6)
- Indirizzi IPv6 e IPv4 pubblici e rispettive lunghezze (Si vedono dalla pagina web dell'Iliadbox)
- EA-bits length: (Lunghezza del parametro MAP-E composto dal suffisso IPv4 e dall'indice del blocco di porte)
- PSID-bits length: (Lunghezza dell'indice del blocco di porte)
- PSID offset (L'indice del vostro blocco di porte, da 0 a N-1, N=4 per Iliad)
L'indirizzo del BR l'ho trovato facendo MitM tra l'Iliadbox e l'ONT GPON, usando un router OpenWRT collegato tra i due per intercettare il traffico. Su OpenWRT ho creato un bridge tra le due porte e ho usato tcpdump via SSH e wireshark su un laptop sulla VLAN 836 del bridge (es. interfaccia: br0.836)
Il comando é spiegato qui https://openwrt.org/docs/guide-user/firewall/misc/tcpdump_wireshark
La cosa che mi ha confuso inizialmente é che su Wireshark vedi connessioni IPv4, perché spacchetta MAP-E, ma nei dettagli delle varie connessioni vedete la destinazione IPv6 che é l'indirizzo del BR.
Trovato l'indirizzo del BR gli altri valori si possono calcolare:
- EA-bits length = 10: sono 8 bit di suffisso IPv4 + 2 bit per il gruppo di porte (Iliad divide le 65536 porte in 4 gruppi da 16384 porte, quindi servono 2 bit per identificare il gruppo dei 4)
- PSID-bits length = 2: vedi sopra
- PSID offset = 0: nel mio caso é 0 perché ho le porte 0-16384, se avete altri gruppi sará da 0 a 3
Spiegazione dei parametri MAP-T, si applicano anche a MAP-E: https://www.jool.mx/en/map-t.html
Una volta ricavati questi parametri ho seguito la guida Iliad per la configurazione del Turris Omnia (basato su OpenWRT), con l'eccezione che sovrascrivere i pacchetti mentre si installa map non serve.
La guida non é completa perché una volta creata l'interfaccia MAP-E, servirá inserire i parametri ricavati sopra nella configurazione e indicare l'interfaccia WAN6 come "Tunnel link".
Infine ho impostato manualmente i server DNS IPv4 (es: 1.1.1.1 e 1.0.0.1) sull'interfaccia MAP-E in quanto il router non ne ha altrimenti.
Come ultima informazione: confermo che MAP-E senza accelerazione hardware limita la velocitá della connessione su IPv4 (speedtest a 360/276 su Xiaomi 3G o EdgeRouter X SFP), ma usando un router piú potente (PC-Engines APU4) sono riuscito ad arrivare a wirespeed (speedtest 904/276).
Spero che la mia esperienza vi torni utile! 😁