IPv6: Build Your Own Lab

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab IPv6: Build Your Own Lab Jeffrey L Carrell Network Conversions Network Consultant IPv6 SME/Trainer ...
Author: Jewel Harris
4 downloads 0 Views 811KB Size
Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv6: Build Your Own Lab Jeffrey L Carrell Network Conversions Network Consultant IPv6 SME/Trainer

[email protected] Twitter: @JeffCarrell_v6

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

1

IPv6: Build Your Own Lab • • • • • •

Whatt are we trying Wh t i to t accomplish li h today? t d ? Quick IPv6 History IPv6 Address basics IPv6 Address Autoconfiguration IPv6 Transition Mechanisms IPv6 Lab system configuration and demonstration IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

2

1

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

What are we trying to accomplish today? • LLearn some IPv6 IP 6 basics b i • Use free applications, utilities, and OS’s to create a “virtual lab system” on a single host computer • Connect to an IPv6 tunnel broker to obtain routed a /56 IPv6 address block, capable of 256 /64 networks or 16 /60 subnets with 16 /64 networks each • Configure an open source router application to perform true IPv4/IPv6 routing and DHCP/DHCPv6 services • Have real IPv6 Internet presence with only IPv4 access to the Internet IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

3

IPv6 Brief History • • • • • • • •

Fall 1992 – IPv4 addresses will run out someday Oct 1993 – DHCP – RFC 1531 – easier IPv4 address management Dec 1993 – IPng – RFC 1550 – basic specification for next version IP May 1994 – NAT – RFC 1631 – temporary solution before IPng available Dec 1995 – RFC 1883 – Basic specifications of IPv6 F b 1996 – RFC 1918 – Private Feb Pi Iv4 I 4 addresses dd Dec 1998 – RFC 2460 – Full IPv6 defined May 2005 – RFC 3927 – APIPA (IPv4) IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

4

2

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Comparing IPv4 & IPv6 Addresses • IP IPv4 4 addresses dd 232 = 4,294,967,296 4 294 967 296 • IPv6 addresses 2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 – which is 340 undecillion – 340 trillion trillion trillion – 79,228,162,514,264,337,593,543,950,336 79 228 162 514 264 337 593 543 950 336 times ti more v6 6 addresses dd than th v4 4

• If IP addresses weighed one gram each: – IPv4 = half the Empire State Building – IPv6 = 56 billion earths IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

5

What is an IPv6 Address? • IP IPv6 6 addresses dd are very different diff t than th IPv4 IP 4 addresses dd in i the th size, numbering system, and delimiter between the numbers – 128bit -vs- 32bit – colon-hexadecimal -vs- dotted-decimal – colon and double colon -vs- period (or “dot” for the real geeks)

• Valid IPv6 addresses are comprised of hexadecimal numbers (0-9 & a-f), with colons separating groups of four numbers, with a total of eight groups (each group is known as “quibble” or “hextet”) – 2001:0db8:1010:61ab:f005:ba11:00da:11a5 IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

6

3

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Address types Add Address Type T Unicast ‐ One‐to‐one communication

Broadcast ‐ One‐to‐many communication local

Multicast ‐ One‐to‐many communication local/remote One to many communication local/remote

Anycast ‐ One‐to‐many communication nearest

IP 4 IPv4

IP 6 IPv6

Yes

Yes

Yes

No

Yes

Yes

Yes

Yes

7

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Address scopes Address Scope dd Link‐Local

IPv4

IPv6

Yes

Yes

(is temp, APIPA)

‐ Not routable

Global Unicast ‐ Routable to Internet

Unique Local ‐ Routable only within domain

Aka public

Yes

Aka private RFC 1918

RFC 4193

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

8

4

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv4/IPv6 special addresses Address Type Default Route D f lt R t Unspecified Loopback Multicast Link‐Local Global Unicast Unique Local

Documentation

IPv4

IPv6

0.0.0.0/0 0 0 0 0/0 0.0.0.0/32 127.0.0.1/8 224.0.0.0/4 169.254.0.0/16 All others 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 192.0.2.0/24 198.51.100.0/24 203.0.113.0/24

::/0 /0 ::/128 ::1/128 ff00::/8 fe80::/10 2000::/3 fc00::/7

2001:db8::/32

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Option 1

9

IPv6 shorthand notation 2001::a52:0:0:0:3d16

Consecutive Zeros

Leading Zeros

2001:0000:0000:0a52:0000:0000:0000:3d16 Leading Zeros

Option 2

Consecutive Zeros

2001:0:0:a52::3d16 IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

10

5

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Incorrect shorthand notation 2001:0000:0000:0a52:0000:0000:0000:3d16 Consecutive Zeros

Consecutive Zeros Leading  Zero

2001::a52::3d16

NOT A VALID NOT A VALID IPv6 Address

How many bits are represented by each “::”? 11

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

States of an IPv6 address (timers) Valid

Tentative

Preferred

Deprecated

Invalid Time

Preferred Lifetime Valid Lifetime

• • • • •

Tentative – address is in process of verification for uniqueness and is not yet available for regular communications Valid – address is valid for use in communication based on Preferred and Deprecated status Preferred – address is usable for all communications Deprecated – address can still be used for existing sessions, but not for new sessions Invalid – an address is no longer available for sending or receiving IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

12

6

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Comparing IPv4 & IPv6 Neighbor Discovery Protocols IP 4 IPv4 ARP Request ARP Reply Router Solicitation Router Advertisement Gratuitous ARP ARP Cache

IP 6 IPv6 Neighbor Solicitation Neighbor Advertisement Router Solicitation Router Advertisement Duplicate Address Detection Neighbor Cache

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

13

IPv6 Neighbor Discovery Protocol • Neighbor N i hb Discovery Di Protocol P t l (NDP) iis d defined fi d iin RFC 4861 • NDP provides the following basic IPv6 functions per node – – – – –

Discover what link they are one Learn link prefix addresses Discover the on-link on link router Discover on-link neighbors Keep track of active neighbors IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

14

7

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Duplicate Address Detection (DAD) • Wh When a node d initially i iti ll assigns i an IPv6 IP 6 address dd to t its it interface, i t f it must check whether the selected address is unique • If unique, the address is configured on interface • The node sends a multicast Neighbor Solicitation message with the: – dest MAC of 33:33: – dest IPv6 addr of ff02::1:ff – source IPv6 of “::” (IPv6 unspecified addr) 15

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

IPv6 default for subnet • B Based d on th the d default f lt d definition, fi iti an IPv6 IP 6 address dd is i logically l i ll divided into two parts: a 64-bit network prefix and a 64-bit interface identifier (IID) • Therefore, the default subnet size is /64 • 2001:0db8:1010:61ab:f005:ba11:00da:11a5/64 64bits for Network Identifier

64bits for Interface Identifier

Prefix Length

• A single /64 network yields 18 billion-billion possible addresses IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

16

8

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Interface ID from MAC address Company ID

00

00

19

71

64

19

71

FF

FE

3F

00

IEEE 48 Bit MAC Address IEEE 48‐Bit MAC Address

64

3F

00

64

3F

00

Expand to EUI‐64 (IEEE Extended Unique ID)

0xFFFE inserted

00000000 00000010

02

Manufacturer Data

7th bit inverted – Local/Global bit

19

71

FF

FE

Invert the Local/Global Bit

0219:71ff:fe64:3f00

Modified EUI‐64 Interface ID

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

17

Interface ID from Random Number • RFC 4941 - Privacy Pi Extensions E t i for f St Stateless t l Add Address Autoconfiguration in IPv6 • Initial IID is derived based on mathematical computation to create a “random 64bit number” and appended to prefix to create a GUA • An additional but different 64bit number is computed, appended to prefix and tagged “temporary” for a 2nd GUA prefix, • Temporary GUA should be re-computed on a frequent basis • Temporary GUA is used as primary address for communications, as it is considered “more secure” IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

18

9

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv6 autoconfiguration options Address Autoconfiguration  Method

ICMPv6 RA (Type 134) Flags M Flag   O Flag

ICMPv6 RA (Type 134) ICMPv6 Option Prefix Info  A Flag   L Flag

Prefix Derived  from

Interface ID Derived  from

Other  Configuration  Options

# of IPv6 Addr

1

N/A

N/A

N/A

N/A

Internal (fe80::)

M‐EUI‐64 or Privacy

Manual

Manual

Off

Off

Off

On

Manual

Manual

Manual

SLAAC

Off

Off

On

On

RA

M‐EUI‐64 or Privacy

Manual

Stateful   (DHCPv6)

On

N/R

Off

On

DHCPv6

DHCPv6

DHCPv6

Stateless DHCPv6

Off

On

On

On

RA

M‐EUI‐64 or Privacy

DHCPv6

Combination Stateless & DHCPv6

On

N/R

On

On

RA and DHCPv6

M‐EUI‐64 or Privacy and DHCPv6

DHCPv6

Link‐Local (always configured)

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

2 (LL, Manual)

3 (LL, IPv6, IPv6 temp)

2 (LL, DHCPv6)

3 (LL, IPv6, IPv6 temp)

4 (LL, IPv6, IPv6 temp, DHCPv6)

19

Router Advertisement packet (Stateless)

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

20

10

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv6 Stateful (DHCPv6) process

• • • •

DHCPv6Solicit = DHCPv6Advertise = DHCPv6Request = DHCPv6Reply =

DHCPDiscover (IPv4) ( ) DHCPOffer (IPv4) DHCPRequest (IPv4) DHCPAck (IPv4)

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

21

Key difference in DHCP/DHCPv6 • Default D f lt gateway t – DHCP – configurable Router option in scope – DHCPv6 – no configurable Router option in scope (possible future, but no client OS support yet)

• An IPv6 node derives its default gateway from the router’s LinkLocal address when the L flag is set in the Prefix information field of an RA (! not from the network prefix !) IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

22

11

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv6 Transition mechanisms - tunnels • • • • • •

6in4 6i 4 – RFC 4213 6over4 – RFC 2529 6to4 – RFC 3056 ISATAP – RFC 5214 Teredo – RFC 4380 6rd – RFC 5969 IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

23

IPv6 Tunnel brokers • Tunnelbroker.net T lb k – 6in4 6i 4 tunnell • Freenet6.net – IPv6-over-UDP • Sixxs.net – 6in4 tunnel & AYIAY

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

24

12

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv6 Freenet6 tunnel service • IPv6-in-IPv4 IP 6 i IP 4 in i NAT Traversal T l mode d (aka - IPv6-over-UDP)

• Uses Tunnel Setup Protocol (TSP) • See RFC 5572 for additional information

Source – www.gogo6.com/freenet6/powered‐by

25

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

IPv6 Freenet6 tunnel service • Th The ffreenet6.net 6 system provides id a /56 IPv6 IP 6 block (with Pro account) • You have options when creating /64 IPv6 networks /56

16 /60

16 /64 256 /64

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

26

13

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv6 Build Your Own Lab – Demo • Breakdown /56 into /60’s and then /64’s – 2001:5c0:xxxx:xxyz::/56 – Y = subnets /60 • 0 = core • a = internal network(s) of VyOS • e = external USB-Enet network (link to another router) • c = networks on external L3 switch – Z = networks /64 • 0 = core • f = loopback • 1 = 1st /64 network – 2001:5c0:xxxx:xxc1::/64 = first /64 on L3 switch IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

27

IPv6 Build Your Own Lab – Demo

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

28

14

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Resources

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

29

Resources

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

30

15

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Resources

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

31

Resources

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

32

16

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

Resources

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

33

IPv6 Verification / test sites • • • • • • • •

http://ip6.nl/ htt //i 6 l/ http://test-ipv6.com/ http://ipv6-test.com/ http://whatismyv6.com/ http://myglobalip.com/ http://ismyipv6working.com/ http://www.kame.net/ http://www.vyncke.org/ip.php IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

34

17

Interop‐Las Vegas‐2015 – Build Your Own IPv6 Lab

IPv6 Build Your Own Lab - It’s Time • G Goto t www.gogo6.com/freenet6/tunnelbroker 6 /f t6/t lb k and d signup i for f Freenet6 Pro account (requires gogoNET account) • Install VirtualBox www.virtualbox.org/ • Create VyOS router VM vyos.net/wiki/Main_Page • Configure VyOS and gogoc (gogoc is freenet tunnel interface) – test IPv6 6 connectivity i i

• Create another VM: Windows or Ubuntu – test IPv6 connectivity IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

35

Thank You for Attending! • [email protected] • Twitter: @JeffCarrell_v6

IPv6: Build Your Own Lab - Presentation v1.1 - Copyright © 2015 Jeffrey L. Carrell

Copyright © 2015 Jeffrey L. Carrell

36

18