remix_tj

Linux come router per IPv6 di Telecom Italia

Jun 21st, 2012
478
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. == Introduction ==
  2.  
  3. Da qualche mese il principale provider internet italiano, Telecom Italia, permette agli utenti di utilizzare IPv6 attraverso una speciale configurazione della connessione PPPoE. Questo breve tutorial permette di configurare una macchina linux come router ipv6 che fornisce indirizzi ai dispositivi della propria rete.
  4. Maggiori informazioni sulla configurazione potete ottenerli qui: http://assistenzatecnica.telecomitalia.it/at/Informazioni_privati/ipv6
  5.  
  6. == 1o passo: configurare ppp ==
  7. Il primo passo è creare una connessione pppoe con il comando:
  8.  
  9. pppoeconf
  10.  
  11. una volta rilevato il router, bisogna configurare l'username e la password come specificate nella pagina indicata in precedenza:
  12.  
  13. password: IPV6@alice6
  14.  
  15. quindi, prima di lanciare la connessione, bisogna aggiungere queste due opzioni in coda al file /etc/ppp/options
  16.  
  17. +ipv6
  18. ipv6cp-use-persistent
  19.  
  20. A questo punto è possibile far partire la connessione per verificare se si riceve un IPv6 con il comando:
  21.  
  22. pon dsl-provider
  23.  
  24. e controllando attraverso il comando ifconfig ppp0 se si ha un indirizzo di tipo "global" (dovrebbe essere qualcosa che comincia con 2a01:).
  25.  
  26. == 2o passo: Configurare il forwarding ==
  27. Una delle prime cose da fare è abilitare l'ipv6 forwarding in /etc/sysctl.conf:
  28.  
  29. net.ipv6.conf.all.forwarding=1
  30.  
  31. oppure, per una volta sola:
  32.  
  33. sysctl -w net.ipv6.conf.all.forwarding=1
  34.  
  35. == 3o passo: configurare il Router Advertisement Daemon ==
  36.  
  37. Prima di tutto, se non è installato, installare il programma radvd, che andrà poi configurato in questo modo inserendo nel file /etc/radvd.conf:
  38.  
  39. interface eth1 {
  40. AdvSendAdvert on;
  41. prefix ::/64 {
  42. AdvOnLink on;
  43. AdvAutonomous on;
  44. AdvRouterAddr on;
  45. };
  46. };
  47.  
  48. supponendo che eth1 sia l'interfaccia su cui si vuole annunciare il prefix ottenuto da Telecom, che sarà quindi tra la vostra rete e Internet.
  49.  
  50. NOTA: è possibile usare la stessa interfaccia eth0 che si usa per far andare la connessione pppoe, non vanno in conflitto. Io ho usato due interfacce diverse per comodità.
  51.  
  52. == 4o passo: configurare gli ip, routing e tutto il resto ==
  53.  
  54. In questo passo bisogna ottenere il prefix annunciato da Telecom, poi configurare ppp0 con un singolo indirizzo (con mask /128) e poi configurare eth1 con un altro indirizzo il cui prefisso sarà usato da radvd per inviare le configurazioni ai device attraverso eth1
  55.  
  56. Per ottenere il prefix è necessario utilizzare il tool rdisc6, che ho installato in ubuntu con il comando apt-get install ndisc6 (a seconda della distribuzione potrebbe variare il nome del pacchetto e/o il modo con cui installarlo).
  57.  
  58. A causa del flag forwarding impostato a 1, l'interfaccia ppp0 non otterrà alcun indirizzo ipv6. Probabilmente perchè se vuoi operare come router, non dovresti autoconfigurare gli indirizzi :-)
  59.  
  60. Per semplificare tutti questi step ho creato questo script da inserire in /etc/ppp/ipv6-up.d/ con il nome di dsl-provider:
  61.  
  62. --8<--8<--8<--8<--8<--8<--8<--8<--8<--
  63. #!/bin/bash
  64. # rileva il prefix annunciato
  65. prefix=$(rdisc6 -1 -q ppp0)
  66. # ip1 è l'indirizzo che verrà impostato su ppp0
  67. ip1=$(echo $prefix | sed 's/::\/64/::1\/128/')
  68. # ip2 è l'indirizzo che verrà impostato su eth1
  69. ip2=$(echo $prefix | sed 's/::\//::2\//')
  70. # imposta l'indirizzo di ppp0
  71. ip -6 addr add ${ip1} dev ppp0
  72. # rimuove i vecchi indirizzi da eth1
  73. ip -6 addr flush scope global
  74. # imposta l'indirizzo di eth1
  75. ip -6 addr add ${ip2} dev eth1
  76. # imposta la default route via l'interfaccia ppp0
  77. route -6 add default dev ppp0
  78. # avvia l'interfaccia eth1 (nel mio caso non è attivata in /etc/network/interfaces, quindi devo avviarla a mano)
  79. ifconfig eth1 up
  80. # riavvia radvd in modo che rilevi il corretto prefix e cominci ad annunciarlo
  81. /etc/init.d/radvd restart
  82. --8<--8<--8<--8<--8<--8<--8<--8<--8<--
  83.  
  84.  
  85. == Tutto ok! ==
  86.  
  87. Collega un pc alla stessa rete di eth1 e ti verrà assegnato un indirizzo che di permetterà di accedere alla rete IPv6. Al momento gli indirizzi dei DNS andranno configurati manualmente, ma è possibile usare gli indirizzi dei DNS pubblici di google:
  88.  
  89. 2001:4860:4860::8888
  90. 2001:4860:4860::8844
Advertisement
Add Comment
Please, Sign In to add comment