paspro
19-04-10, 17:38
Θέλοντας να πειραματιστώ με ένα IPv6 tunnel configuration σε Cisco router κατάφερα να δημιουργήσω κάτι που δουλεύει σωστά με τη βοήθεια ενός IPv6 Tunnel Broker service που προσφέρει δωρεάν η Hurricane Electric (http://www.tunnelbroker.net/). Σκέφτηκα λοιπόν να γράψω εδώ το τι έκανα ώστε αν κάποιος άλλος ενδιαφέρεται για κάτι παρόμοιο να έχει έναν βοηθητικό οδηγό. Το βασικό χαρακτηριστικό αυτού του configuration είναι ότι επιτρέπει σε κάποιον να έχει IPv6 χωρίς να χρειάζεται να τρέχει κάποια εφαρμογή σε υπολογιστή μια και όλες οι απαραίτητες ρυθμίσεις και υποστήριξη γίνεται απο τον router.
1. Το πρώτο βήμα είναι να ανοίξουμε έναν δωρεάν λογαριασμό στην Hurricane Electric (http://www.tunnelbroker.net/). Αφού ο λογαριασμός δημιουργηθεί κάνουμε login και αυτόματα μπαίνουμε στη προσωπική μας σελίδα.
2. Το δεύτερο βήμα είναι η δημιουργία ενός IPv6 tunnel με τα δικά μας στοιχεία. Αυτό γίνεται επιλέγοντας το link στο User Functions menu με τον τίτλο Create Regular Tunnel. Το μόνο στοιχείο που πρέπει να δώσουμε για τη δημιουργία του tunnel είναι το εξωτερικό IP address που έχει πάρει ο router απο τον ISP. Αν έχουμε static IP δίνουμε αυτή τη διεύθυνση και αν έχουμε dynamic IP δίνουμε την διεύθυνση που έχει πάρει ο router και στη συνέχεια θα περιγράψω τον τρόπο που μπορούμε να την αλλάζουμε κάθε φορά που αυτή αλλάζει στον router. Για χρήστες απο την Ελλάδα το service αυτό θα επιλέξει αυτόματα σαν IPv6 tunnel broker server αυτόν της Αγγλίας (216.66.80.26) ο οποίος δουλεύει μια χαρά και δεν χρειάζεται αλλαγή, αν και κάποιος μπορεί αν θέλει να επιλέξει κάποιον διαφορετικό server.
3. Στο σημείο αυτό το tunnel έχει δημιουργηθεί και είναι έτοιμο για χρήση. Για να δούμε τα στοιχεία του tunnel και τις IPv6 διευθύνσεις που έχουν οριστεί για τη προσωπική μας χρήση πρέπει απο τη προσωπική μας σελίδα στο Hurricane Electric (http://www.tunnelbroker.net/) να επιλέξουμε το tunnel που δημουργήσαμε στο κάτω μέρος της σελίδας. Αυτό το link μας οδηγεί στη σελίδα με τον τίτλο Tunnel Details. Κρατάμε στον web browser τη σελίδα αυτή ανοικτή και περνάμε στον Cisco router για τις απαραίτητες ρυθμίσεις.
4. Στον router ξεκινάμε με την ενεργοποίηση του IPv6. Στο CLI δίνουμε τις εντολές:
ipv6 unicast-routing
ipv6 cef
5. Δημιουργούμε το IPv6 Tunnel interface:
interface Tunnel0
description --- Hurricane Electric IPv6 Tunnel Broker ---
no ip address
ipv6 address <Client IPv6 address>
ipv6 enable
tunnel source Dialer0
tunnel mode ipv6ip
tunnel destination 216.66.80.26
Ότι βρίσκεται μέσα στις αγκύλες <> πρέπει να αντικατασταθεί με την αντίστοιχη τιμή που βλέπουμε στη σελίδα του web browser στο βήμα (3). Π.χ. στη περίπτωσή μου το Client IPv6 address είναι το 2001:470:1f08:9ce::2/64. Επίσης, στο παραπάνω tunnel προσδιορίσαμε ότι το Internet έρχεται απο το interface Dialer0 που ισχύει όταν έχουμε Cisco router που έχει κάνει ADSL2+ σύνδεση. Σε διαφορετική περίπτωση βάζουμε το κατάλληλο interface π.χ. tunnel source FastEthernet0 ή όποιο άλλο είναι το interface που βλέπει το Internet.
6. Ρυθμίζουμε το IPv6 routing να γίνεται μέσω του Tunnel0:
ipv6 route ::/0 Tunnel0
7. Κάνουμε τις απαραίτητες ρυθμίσεις για το τοπικό μας δίκτυο:
interface Vlan1
ipv6 address <Routed /64>::1/64
ipv6 enable
ipv6 nd prefix <Routed /64>
ipv6 nd ra lifetime 180
ipv6 nd ra interval 4
Προσοχή: στην εντολή ipv6 nd prefix δίνουμε ότι ακριβώς βλέπουμε στην σελίδα του web browser στο βήμα (3) σαν τιμή στην παράμετρο Routed /64, στη δικιά μου περίπτωση αυτό είναι 2001:470:1f09:9ce::/64. Στην εντολή ipv6 address δίνουμε την ίδια τιμή αλλά όχι σαν address prefix αλλά address με την προσθήκη του ::1/64 στο τέλος. Στη δική μου περίπτωση αυτό είναι: 2001:470:1f09:9ce::1/64.
8. Αν ο router έχει κάποιο firewall που εμποδίζει την ελεύθερη διακίνηση πακέτων μεταξύ του Internet και του router (δεν μιλάω για το LAN) τότε θα πρέπει να επιτρέψετε την κυκλοφορία πακέτων απο την παρακάτω IP address:
Tunnel Broker: 216.66.80.26 (TCP connections, Αγγλικός server)
και για όσους δεν έχουν static IP address αλλά dynamic IP address τους παρακάτω επιπλέον servers:
Tunnel Update Server: 64.62.200.2 (TCP 443, ipv4.tunnelbroker.net)
Ping Server: 66.220.2.74 (ICMP traffic)
Όσοι δεν έχουν static IP θα πρέπει να τροποποιούν το tunnel αυτόματα κάθε φορά που αλλάζει η IP στον router. Αυτό μπορούμε να το κάνουμε με έναν τρόπο αντίστοιχο του DDNS που μας προσφέρει η Hurricane Electric. Για το σκοπό αυτό κάνουμε τις παρακάτω ρυθμίσεις στον router.
A. Δημιουργούμε μια update method:
ip ddns update method ipv6_ddns
HTTP
add <update url>
remove <update url>
interval maximum 1 0 0 0
όπου το update url είναι το εξής:
https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=<a>&pass=MD5PASS&user_id=USERID&tunnel_id=TUNNELID
όπου:
MD5PASS = το MD5 hash του password που έχουμε προδιορίσει για το web site της Hurricane Electric. Αυτό μπορούμε να το βρούμε δίνοντας σε έναν υπολογιστή την εντολή:
echo -n 'yourpassword' | md5sum
και για υπολογιστές με MacOS X την εντολή:
echo -n 'yourpassword' | md5
USERID = είναι η παράμετρος UserID που βλέπουμε στην κορυφή της προσωπικής μας σελίδας όταν κάνουμε login στην Hurricane Electric. Δεν είναι το ίδιο με το όνομα χρήστη που επιλέξαμε όταν δημιουργήσαμε τον λογαριασμό μας.
TUNNELID = είναι το νούμερο που βλέπουμε στην σελίδα που μας δίνει τα στοιχεία του προσωπικού μας tunnel (βήμα 3) σαν Global Tunnel ID.
Β. Εφαρμόζουμε αυτή την update method στο interface που βλέπει το Internet π.χ. το Dialer0:
interface Dialer0
ip ddns update ipv6_ddns
C. Επειδή η μέθοδος αυτή γίνεται με HTTPS πρέπει επίσης να εισάγουμε στον router το certificate που χρησιμοποιεί η Hurricane Electric. Για τον σκοπό αυτό δίνουμε τις εντολές:
crypto pki trustpoint TunnelBroker-IPv6
enrollment terminal
revocation-check none
crypto pki authenticate TunnelBroker-IPv6
-------------------------------
-----BEGIN CERTIFICATE-----
MIICsTCCAhoCCQC8IBpX67SYlzANBgkqhkiG9w0BAQQFADCBnDELMAkGA1UEBhMC
VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEDAOBgNVBAcTB0ZyZW1vbnQxIDAeBgNV
BAoTF0h1cnJpY2FuZSBFbGVjdHJpYywgTExDMQ0wCwYDVQQLEwRJUFY2MRkwFwYD
VQQDExB0dW5uZWxicm9rZXIubmV0MRowGAYJKoZIhvcNAQkBFgtpbmZvQGhlLm5l
dDAeFw0wNzA3MTEwMTM1MzFaFw0xNzA3MDgwMTM1MzFaMIGcMQswCQYDVQQGEwJV
UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEQMA4GA1UEBxMHRnJlbW9udDEgMB4GA1UE
ChMXSHVycmljYW5lIEVsZWN0cmljLCBMTEMxDTALBgNVBAsTBElQVjYxGTAXBgNV
BAMTEHR1bm5lbGJyb2tlci5uZXQxGjAYBgkqhkiG9w0BCQEWC2luZm9AaGUubmV0
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXJHwlKn5pdUqFAZGGYI8sluS+
luS2NiihelZTXAGkE8hrlkS3Xj3AYLknddWgcoTXVMlI9LK0tEQMPZBIV/QXjXHq
HvhOb4hoT14w+VbySPRXGDqUiakJYBnNFZiIR8OA51AwM9+pUZGkNEAJYMXE+Th8
euta8zxjPS0kEgjGbwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFVFliiWM802HDqY
loveIJOZdcnXhpQuYmnDgHHC9PAadOVcYzdkkmBoQ1APSfugkHEc7zc/vzjiMlVs
62PFaqFxi692CknGCnwyCn+Hm/PFWx+YnOyNLCji2oOYbTZre97n5iZKrOk/hJZO
y7bsxRNdmUWgy0urugi331F9y7cf
-----END CERTIFICATE-----
quit
-------------------------------
Είμαστε έτοιμοι! Δοκιμάστε σύνδεση σε έναν IPv6 server στον web broswer π.χ. ipv6.google.com και αν οι ρυθμίσεις έγιναν σωστά θα πρέπει να δείτε τη σελίδα. Καλό IPv6 web surfing!
1. Το πρώτο βήμα είναι να ανοίξουμε έναν δωρεάν λογαριασμό στην Hurricane Electric (http://www.tunnelbroker.net/). Αφού ο λογαριασμός δημιουργηθεί κάνουμε login και αυτόματα μπαίνουμε στη προσωπική μας σελίδα.
2. Το δεύτερο βήμα είναι η δημιουργία ενός IPv6 tunnel με τα δικά μας στοιχεία. Αυτό γίνεται επιλέγοντας το link στο User Functions menu με τον τίτλο Create Regular Tunnel. Το μόνο στοιχείο που πρέπει να δώσουμε για τη δημιουργία του tunnel είναι το εξωτερικό IP address που έχει πάρει ο router απο τον ISP. Αν έχουμε static IP δίνουμε αυτή τη διεύθυνση και αν έχουμε dynamic IP δίνουμε την διεύθυνση που έχει πάρει ο router και στη συνέχεια θα περιγράψω τον τρόπο που μπορούμε να την αλλάζουμε κάθε φορά που αυτή αλλάζει στον router. Για χρήστες απο την Ελλάδα το service αυτό θα επιλέξει αυτόματα σαν IPv6 tunnel broker server αυτόν της Αγγλίας (216.66.80.26) ο οποίος δουλεύει μια χαρά και δεν χρειάζεται αλλαγή, αν και κάποιος μπορεί αν θέλει να επιλέξει κάποιον διαφορετικό server.
3. Στο σημείο αυτό το tunnel έχει δημιουργηθεί και είναι έτοιμο για χρήση. Για να δούμε τα στοιχεία του tunnel και τις IPv6 διευθύνσεις που έχουν οριστεί για τη προσωπική μας χρήση πρέπει απο τη προσωπική μας σελίδα στο Hurricane Electric (http://www.tunnelbroker.net/) να επιλέξουμε το tunnel που δημουργήσαμε στο κάτω μέρος της σελίδας. Αυτό το link μας οδηγεί στη σελίδα με τον τίτλο Tunnel Details. Κρατάμε στον web browser τη σελίδα αυτή ανοικτή και περνάμε στον Cisco router για τις απαραίτητες ρυθμίσεις.
4. Στον router ξεκινάμε με την ενεργοποίηση του IPv6. Στο CLI δίνουμε τις εντολές:
ipv6 unicast-routing
ipv6 cef
5. Δημιουργούμε το IPv6 Tunnel interface:
interface Tunnel0
description --- Hurricane Electric IPv6 Tunnel Broker ---
no ip address
ipv6 address <Client IPv6 address>
ipv6 enable
tunnel source Dialer0
tunnel mode ipv6ip
tunnel destination 216.66.80.26
Ότι βρίσκεται μέσα στις αγκύλες <> πρέπει να αντικατασταθεί με την αντίστοιχη τιμή που βλέπουμε στη σελίδα του web browser στο βήμα (3). Π.χ. στη περίπτωσή μου το Client IPv6 address είναι το 2001:470:1f08:9ce::2/64. Επίσης, στο παραπάνω tunnel προσδιορίσαμε ότι το Internet έρχεται απο το interface Dialer0 που ισχύει όταν έχουμε Cisco router που έχει κάνει ADSL2+ σύνδεση. Σε διαφορετική περίπτωση βάζουμε το κατάλληλο interface π.χ. tunnel source FastEthernet0 ή όποιο άλλο είναι το interface που βλέπει το Internet.
6. Ρυθμίζουμε το IPv6 routing να γίνεται μέσω του Tunnel0:
ipv6 route ::/0 Tunnel0
7. Κάνουμε τις απαραίτητες ρυθμίσεις για το τοπικό μας δίκτυο:
interface Vlan1
ipv6 address <Routed /64>::1/64
ipv6 enable
ipv6 nd prefix <Routed /64>
ipv6 nd ra lifetime 180
ipv6 nd ra interval 4
Προσοχή: στην εντολή ipv6 nd prefix δίνουμε ότι ακριβώς βλέπουμε στην σελίδα του web browser στο βήμα (3) σαν τιμή στην παράμετρο Routed /64, στη δικιά μου περίπτωση αυτό είναι 2001:470:1f09:9ce::/64. Στην εντολή ipv6 address δίνουμε την ίδια τιμή αλλά όχι σαν address prefix αλλά address με την προσθήκη του ::1/64 στο τέλος. Στη δική μου περίπτωση αυτό είναι: 2001:470:1f09:9ce::1/64.
8. Αν ο router έχει κάποιο firewall που εμποδίζει την ελεύθερη διακίνηση πακέτων μεταξύ του Internet και του router (δεν μιλάω για το LAN) τότε θα πρέπει να επιτρέψετε την κυκλοφορία πακέτων απο την παρακάτω IP address:
Tunnel Broker: 216.66.80.26 (TCP connections, Αγγλικός server)
και για όσους δεν έχουν static IP address αλλά dynamic IP address τους παρακάτω επιπλέον servers:
Tunnel Update Server: 64.62.200.2 (TCP 443, ipv4.tunnelbroker.net)
Ping Server: 66.220.2.74 (ICMP traffic)
Όσοι δεν έχουν static IP θα πρέπει να τροποποιούν το tunnel αυτόματα κάθε φορά που αλλάζει η IP στον router. Αυτό μπορούμε να το κάνουμε με έναν τρόπο αντίστοιχο του DDNS που μας προσφέρει η Hurricane Electric. Για το σκοπό αυτό κάνουμε τις παρακάτω ρυθμίσεις στον router.
A. Δημιουργούμε μια update method:
ip ddns update method ipv6_ddns
HTTP
add <update url>
remove <update url>
interval maximum 1 0 0 0
όπου το update url είναι το εξής:
https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=<a>&pass=MD5PASS&user_id=USERID&tunnel_id=TUNNELID
όπου:
MD5PASS = το MD5 hash του password που έχουμε προδιορίσει για το web site της Hurricane Electric. Αυτό μπορούμε να το βρούμε δίνοντας σε έναν υπολογιστή την εντολή:
echo -n 'yourpassword' | md5sum
και για υπολογιστές με MacOS X την εντολή:
echo -n 'yourpassword' | md5
USERID = είναι η παράμετρος UserID που βλέπουμε στην κορυφή της προσωπικής μας σελίδας όταν κάνουμε login στην Hurricane Electric. Δεν είναι το ίδιο με το όνομα χρήστη που επιλέξαμε όταν δημιουργήσαμε τον λογαριασμό μας.
TUNNELID = είναι το νούμερο που βλέπουμε στην σελίδα που μας δίνει τα στοιχεία του προσωπικού μας tunnel (βήμα 3) σαν Global Tunnel ID.
Β. Εφαρμόζουμε αυτή την update method στο interface που βλέπει το Internet π.χ. το Dialer0:
interface Dialer0
ip ddns update ipv6_ddns
C. Επειδή η μέθοδος αυτή γίνεται με HTTPS πρέπει επίσης να εισάγουμε στον router το certificate που χρησιμοποιεί η Hurricane Electric. Για τον σκοπό αυτό δίνουμε τις εντολές:
crypto pki trustpoint TunnelBroker-IPv6
enrollment terminal
revocation-check none
crypto pki authenticate TunnelBroker-IPv6
-------------------------------
-----BEGIN CERTIFICATE-----
MIICsTCCAhoCCQC8IBpX67SYlzANBgkqhkiG9w0BAQQFADCBnDELMAkGA1UEBhMC
VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEDAOBgNVBAcTB0ZyZW1vbnQxIDAeBgNV
BAoTF0h1cnJpY2FuZSBFbGVjdHJpYywgTExDMQ0wCwYDVQQLEwRJUFY2MRkwFwYD
VQQDExB0dW5uZWxicm9rZXIubmV0MRowGAYJKoZIhvcNAQkBFgtpbmZvQGhlLm5l
dDAeFw0wNzA3MTEwMTM1MzFaFw0xNzA3MDgwMTM1MzFaMIGcMQswCQYDVQQGEwJV
UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEQMA4GA1UEBxMHRnJlbW9udDEgMB4GA1UE
ChMXSHVycmljYW5lIEVsZWN0cmljLCBMTEMxDTALBgNVBAsTBElQVjYxGTAXBgNV
BAMTEHR1bm5lbGJyb2tlci5uZXQxGjAYBgkqhkiG9w0BCQEWC2luZm9AaGUubmV0
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXJHwlKn5pdUqFAZGGYI8sluS+
luS2NiihelZTXAGkE8hrlkS3Xj3AYLknddWgcoTXVMlI9LK0tEQMPZBIV/QXjXHq
HvhOb4hoT14w+VbySPRXGDqUiakJYBnNFZiIR8OA51AwM9+pUZGkNEAJYMXE+Th8
euta8zxjPS0kEgjGbwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFVFliiWM802HDqY
loveIJOZdcnXhpQuYmnDgHHC9PAadOVcYzdkkmBoQ1APSfugkHEc7zc/vzjiMlVs
62PFaqFxi692CknGCnwyCn+Hm/PFWx+YnOyNLCji2oOYbTZre97n5iZKrOk/hJZO
y7bsxRNdmUWgy0urugi331F9y7cf
-----END CERTIFICATE-----
quit
-------------------------------
Είμαστε έτοιμοι! Δοκιμάστε σύνδεση σε έναν IPv6 server στον web broswer π.χ. ipv6.google.com και αν οι ρυθμίσεις έγιναν σωστά θα πρέπει να δείτε τη σελίδα. Καλό IPv6 web surfing!