9.3. Configurazione di un tunnel punto-punto

Ci sono 3 possibilità per aggiungere o rimuovere un tunnel punto-punto.

Una buona fonte di informazioni aggiuntive sulla configurazione di tunnel con "ip" è Configurare i tunnel con iproute2 (articolo) (Mirror).

9.3.1. Aggiungere un tunnel punto-punto

9.3.1.1. Uso di "ip"

Un metodo comune, attualmente utilizzato per minime quantità di tunnel.

Utilizzo per creare un device tunnel (deve essere specificato anche un TTL poiché il valore di default è 0).

# /sbin/ip tunnel add <device> mode sit ttl <ttldefault> remote
¬ <ipv4addressofforeigntunnel> local <ipv4addresslocal>
    

Utilizzo (esempio generico per tre tunnel):

# /sbin/ip tunnel add sit1 mode sit ttl <ttldefault> remote
¬ <ipv4addressofforeigntunnel1> local <ipv4addresslocal>
# /sbin/ip link set dev sit1 up
# /sbin/ip -6 route add <prefixtoroute1> dev sit1 metric 1
# /sbin/ip tunnel add sit2 mode sit ttl <ttldefault>
¬ <ipv4addressofforeigntunnel2> local <ipv4addresslocal>
# /sbin/ip link set dev sit2 up
# /sbin/ip -6 route add <prefixtoroute2> dev sit2 metric 1
# /sbin/ip tunnel add sit3 mode sit ttl <ttldefault>
¬ <ipv4addressofforeigntunnel3> local <ipv4addresslocal>
# /sbin/ip link set dev sit3 up
# /sbin/ip -6 route add <prefixtoroute3> dev sit3 metric 1
    

9.3.1.2. Uso di "ifconfig" e "route" (disapprovato)

Questo non è un sistema molto raccomandato per aggiungere un tunnel, poiché è un po' strano. Nessun problema se se ne aggiunge soltanto uno, ma volendone configurare più di uno, è piuttosto difficile chiudere il primo lasciando funzionare gli altri.

Utilizzo (esempio generico per tre tunnel):

# /sbin/ifconfig sit0 up
# /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel1>
# /sbin/ifconfig sit1 up
# /sbin/route -A inet6 add <prefixtoroute1> dev sit1
# /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel2>
# /sbin/ifconfig sit2 up
# /sbin/route -A inet6 add <prefixtoroute2> dev sit2
# /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel3>
# /sbin/ifconfig sit3 up
# /sbin/route -A inet6 add <prefixtoroute3> dev sit3
    

Importante: NON USARE QUESTO SISTEMA, poiché questa configurazione abilita implicitamente il "tunneling automatico" da qualunque macchina collegata ad Internet, ciò rappresenta un rischio, e non dovrebbe essere permesso.

9.3.1.3. Uso del solo "route"

È anche possibile configurare tunnel con lo stile Non Broadcast Multiple Access (NBMA), un modo facile per aggiungere più tunnel contemporaneamente, ma nessuno dei tunnel può essere numerato (caratteristica non richiesta).

Utilizzo (esempio generico per tre tunnel):

# /sbin/ifconfig sit0 up
# /sbin/route -A inet6 add <prefixtoroute1> gw
¬ ::<ipv4addressofforeigntunnel1> dev sit0
# /sbin/route -A inet6 add <prefixtoroute2> gw
¬ ::<ipv4addressofforeigntunnel2> dev sit0
# /sbin/route -A inet6 add <prefixtoroute3> gw
¬ ::<ipv4addressofforeigntunnel3> dev sit0
    

Importante: NON USARE QUESTO SISTEMA, poiché questa configurazione abilita implicitamente il "tunneling automatico" da qualunque macchina connessa ad Internet, ciò rappresenta un rischio, e non dovrebbe essere permesso.

9.3.2. Rimozione di tunnel punto-punto

Generalmente non è così necessario farlo manualmente, ma viene utilizzato negli script per lo shutdown pulito o il restart della configurazione IPv6.

9.3.2.1. Uso di "ip"

Utilizzo per la rimozione di un device tunnel:

# /sbin/ip tunnel del <device>
    

Utilizzo (esempio generico per tre tunnel):

# /sbin/ip -6 route del <prefixtoroute1> dev sit1
# /sbin/ip link set sit1 down
# /sbin/ip tunnel del sit1
# /sbin/ip -6 route del <prefixtoroute2> dev sit2
# /sbin/ip link set sit2 down
# /sbin/ip tunnel del sit2
# /sbin/ip -6 route del <prefixtoroute3> dev sit3
# /sbin/ip link set sit3 down
# /sbin/ip tunnel del sit3
    

9.3.2.2. Uso di "ifconfig" e "route" (disapprovato poiché non molto simpatico)

Non solo è strana la creazione ma anche lo shutdown... bisogna rimuovere i tunnel in ordine inverso, cioè l'ultimo creato và rimosso per primo.

Utilizzo (esempio generico per 3 tunnel):

# /sbin/route -A inet6 del <prefixtoroute3> dev sit3
# /sbin/ifconfig sit3 down
# /sbin/route -A inet6 del <prefixtoroute2> dev sit2
# /sbin/ifconfig sit2 down
# /sbin/route -A inet6 del <prefixtoroute1> dev sit1
# /sbin/ifconfig sit1 down
# /sbin/ifconfig sit0 down
    

9.3.2.3. Uso di "route"

È come la normale rimozione di instradamenti IPv6.

Utilizzo (esempio generico per tre tunnel):

# /sbin/route -A inet6 del <prefixtoroute1> gw
¬ ::<ipv4addressofforeigntunnel1> dev sit0
# /sbin/route -A inet6 del <prefixtoroute2> gw
¬ ::<ipv4addressofforeigntunnel2> dev sit0
# /sbin/route -A inet6 del <prefixtoroute3> gw
¬ ::<ipv4addressofforeigntunnel3> dev sit0
# /sbin/ifconfig sit0 down
    

9.3.3. Tunnel punto-punto numerati

A volte si rende necessario configurare un tunnel punto-punto con indirizzi IPv6 come si fa attualmente in IPv4. Ciò è possibile soltanto con il primo metodo di configurazione del tunnel (ifconfig+route - disapprovato) e con il terzo (ip+route). In questi casi si può aggiungere l'indirizzo IPv6 all'interfaccia del tunnel, come mostrato nella configurazione dell'interfaccia.