Advertisement
remix_tj

Linux come router per IPv6 di Telecom Italia

Jun 21st, 2012
433
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. username: adsl@alice6.it
  14. password: IPV6@alice6
  15.  
  16. quindi, prima di lanciare la connessione, bisogna aggiungere queste due opzioni in coda al file /etc/ppp/options
  17.  
  18. +ipv6
  19. ipv6cp-use-persistent
  20.  
  21. A questo punto è possibile far partire la connessione per verificare se si riceve un IPv6 con il comando:
  22.  
  23. pon dsl-provider
  24.  
  25. e controllando attraverso il comando ifconfig ppp0 se si ha un indirizzo di tipo "global" (dovrebbe essere qualcosa che comincia con 2a01:).
  26.  
  27. == 2o passo: Configurare il forwarding ==
  28. Una delle prime cose da fare è abilitare l'ipv6 forwarding in /etc/sysctl.conf:
  29.  
  30. net.ipv6.conf.all.forwarding=1
  31.  
  32. oppure, per una volta sola:
  33.  
  34. sysctl -w net.ipv6.conf.all.forwarding=1
  35.  
  36. == 3o passo: configurare il Router Advertisement Daemon ==
  37.  
  38. Prima di tutto, se non è installato, installare il programma radvd, che andrà poi configurato in questo modo inserendo nel file /etc/radvd.conf:
  39.  
  40. interface eth1 {
  41. AdvSendAdvert on;
  42. prefix ::/64 {
  43. AdvOnLink on;
  44. AdvAutonomous on;
  45. AdvRouterAddr on;
  46. };
  47. };
  48.  
  49. 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.
  50.  
  51. 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à.
  52.  
  53. == 4o passo: configurare gli ip, routing e tutto il resto ==
  54.  
  55. 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
  56.  
  57. 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).
  58.  
  59. 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 :-)
  60.  
  61. Per semplificare tutti questi step ho creato questo script da inserire in /etc/ppp/ipv6-up.d/ con il nome di dsl-provider:
  62.  
  63. --8<--8<--8<--8<--8<--8<--8<--8<--8<--
  64. #!/bin/bash
  65. # rileva il prefix annunciato
  66. prefix=$(rdisc6 -1 -q ppp0)
  67. # ip1 è l'indirizzo che verrà impostato su ppp0
  68. ip1=$(echo $prefix | sed 's/::\/64/::1\/128/')
  69. # ip2 è l'indirizzo che verrà impostato su eth1
  70. ip2=$(echo $prefix | sed 's/::\//::2\//')
  71. # imposta l'indirizzo di ppp0
  72. ip -6 addr add ${ip1} dev ppp0
  73. # rimuove i vecchi indirizzi da eth1
  74. ip -6 addr flush scope global
  75. # imposta l'indirizzo di eth1
  76. ip -6 addr add ${ip2} dev eth1
  77. # imposta la default route via l'interfaccia ppp0
  78. route -6 add default dev ppp0
  79. # avvia l'interfaccia eth1 (nel mio caso non è attivata in /etc/network/interfaces, quindi devo avviarla a mano)
  80. ifconfig eth1 up
  81. # riavvia radvd in modo che rilevi il corretto prefix e cominci ad annunciarlo
  82. /etc/init.d/radvd restart
  83. --8<--8<--8<--8<--8<--8<--8<--8<--8<--
  84.  
  85.  
  86. == Tutto ok! ==
  87.  
  88. 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:
  89.  
  90. 2001:4860:4860::8888
  91. 2001:4860:4860::8844
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement