WEBVTT 0:00:03.260000 --> 0:00:07.460000 Hello and welcome to this video titled implementing IPv6. 0:00:07.460000 --> 0:00:11.620000 So what we're talking about here is how do you configure and enable IPv6 0:00:11.620000 --> 0:00:14.040000 on Cisco iOS devices? 0:00:14.040000 --> 0:00:20.020000 All right, so first we probably want to enable IPv6 on an interface. 0:00:20.020000 --> 0:00:22.180000 And so there's a couple of ways to do this. 0:00:22.180000 --> 0:00:27.160000 If you want to give that interface a globally routable address, and remember 0:00:27.160000 --> 0:00:33.900000 that's some one colon one one one one one colon two two two two so on 0:00:33.900000 --> 0:00:36.580000 and so forth, well there's no way to do that. 0:00:36.580000 --> 0:00:43.420000 It's to type the command IPv6 address, type in your full address, and 0:00:43.420000 --> 0:00:45.740000 then you have a choice here. 0:00:45.740000 --> 0:00:48.580000 And let me just go ahead and demonstrate this. 0:00:48.580000 --> 0:00:55.780000 If you want to type in an IPv6 address and also include a static interface 0:00:55.780000 --> 0:01:00.560000 ID, an interface ID that you are selecting yourself, for example. 0:01:00.560000 --> 0:01:04.280000 Let's go here under this device. 0:01:04.280000 --> 0:01:13.280000 Interface gigabit zero slash one, I could say IPv6 address 2001, I'm going 0:01:13.280000 --> 0:01:14.940000 to give all eight words. 0:01:14.940000 --> 0:01:17.360000 I'm not going to abbreviate anything just so you can see how it all plays 0:01:17.360000 --> 0:01:22.240000 out. One one one one two two two two three three three three. 0:01:22.240000 --> 0:01:24.120000 Okay, so I'm going to have that as my prefix. 0:01:24.120000 --> 0:01:26.940000 The first 64 bits are going to be the prefix. 0:01:26.940000 --> 0:01:29.620000 The last 64 bits, let's just make it real easy. 0:01:29.620000 --> 0:01:34.760000 000, 000, remember I'm not abbreviating anything right now. 0:01:34.760000 --> 0:01:38.900000 All right, so that's going to be my interface ID. 0:01:38.900000 --> 0:01:41.200000 Then I would just follow it with colon colon. 0:01:41.200000 --> 0:01:45.760000 Actually, I don't have to have colon colon just slash 64. 0:01:45.760000 --> 0:01:49.320000 So that's telling the device I just configured it on. 0:01:49.320000 --> 0:01:58.080000 Is telling it that slash 64 means this is my prefix right there. 0:01:58.080000 --> 0:02:02.900000 And this in IPv4, we would call those the host bits. 0:02:02.900000 --> 0:02:05.400000 In IPv6, we call that the interface ID. 0:02:05.400000 --> 0:02:10.660000 So that's the way you do it when you want to give it a static prefix and 0:02:10.660000 --> 0:02:13.300000 interface ID. And it takes it. 0:02:13.300000 --> 0:02:18.420000 And here's another little gotcha or not a gotcha but a weirdness of IPv6. 0:02:18.420000 --> 0:02:23.660000 In the world of IPv4, an interface, whether it be a NIC card on a laptop 0:02:23.660000 --> 0:02:29.080000 or an interface on a router, only could have one IPv4 address. 0:02:29.080000 --> 0:02:35.920000 Watch this, IP address n.0.0.1 255 000. 0:02:35.920000 --> 0:02:39.800000 Right? Now, what happened when I tried to put another IPv4 address on 0:02:39.800000 --> 0:02:41.560000 there? IP address. 0:02:41.560000 --> 0:02:48.220000 First of all, before we do that, do show run interface gig 01. 0:02:48.220000 --> 0:02:51.180000 All right. See how it's got one IPv4 address. 0:02:51.180000 --> 0:02:54.380000 Now watch what happens when I put another one on there. 0:02:54.380000 --> 0:03:03.160000 Okay. So do we have both 10 001 and 20 001? 0:03:03.160000 --> 0:03:07.920000 No we don't. Right? 0:03:07.920000 --> 0:03:12.660000 Because it can only, it's only expecting one IPv4 network to be on that 0:03:12.660000 --> 0:03:16.200000 interface. So it overrope the older one. 0:03:16.200000 --> 0:03:20.780000 What happens when I do the same thing for IPv6? 0:03:20.780000 --> 0:03:38.160000 Now let's just change my prefix to be something else. 0:03:38.160000 --> 0:03:43.340000 Okay. So did that override my previous address? 0:03:43.340000 --> 0:03:47.840000 No, it didn't. So in IPv6 and you'll just have to sort of noodle this 0:03:47.840000 --> 0:03:50.840000 around yourself as to why you would want this. 0:03:50.840000 --> 0:03:54.900000 A NIC card, whether it be a NIC card on a laptop, smartphone or a router, 0:03:54.900000 --> 0:03:58.460000 can have multiple IPv6 networks assigned to it. 0:03:58.460000 --> 0:04:00.000000 Not sure why you'd want to do that. 0:04:00.000000 --> 0:04:03.980000 I'm sure there's some valid use cases, but that is a different behavior 0:04:03.980000 --> 0:04:10.820000 than IPv4. So in IPv4, if I want to take out my address, all I had to 0:04:10.820000 --> 0:04:15.080000 say was no IP address and it took the command. 0:04:15.080000 --> 0:04:18.940000 Now that IPv4 address I had on there is gone. 0:04:18.940000 --> 0:04:21.460000 You can't do that with IPv6. 0:04:21.460000 --> 0:04:24.760000 Okay. Well, let's see. 0:04:24.760000 --> 0:04:26.940000 What happened? What happened when I did that? 0:04:26.940000 --> 0:04:27.900000 Might surprise me. 0:04:27.900000 --> 0:04:30.320000 Oh, wow. That's the first time I've seen that. 0:04:30.320000 --> 0:04:31.460000 How nice is that? 0:04:31.460000 --> 0:04:36.560000 So in older versions of iOS, you actually would get an error message because 0:04:36.560000 --> 0:04:40.120000 the older iOS would say, hey, I've got multiple prefixes on here. 0:04:40.120000 --> 0:04:42.120000 Which one do you want me to get rid of? 0:04:42.120000 --> 0:04:46.240000 And so you'd actually have to type no IPv6 address in the whole address. 0:04:46.240000 --> 0:04:51.220000 It was really irritating if your goal was to strip out all the IPv6. 0:04:51.220000 --> 0:04:54.700000 It looks like in the newer code now, which is nice, you can actually type 0:04:54.700000 --> 0:04:58.640000 no IPv6 address and it gets rid of all the prefixes on there, which could 0:04:58.640000 --> 0:05:01.980000 be a little bit dangerous, I suppose, if you just intended on getting 0:05:01.980000 --> 0:05:03.860000 rid of just one of them. 0:05:03.860000 --> 0:05:05.060000 So be aware of that. 0:05:05.060000 --> 0:05:08.380000 Now as far as configuration is concerned, so far I've shown you configuration 0:05:08.380000 --> 0:05:13.880000 of IPv6 addresses where the prefix and the interface ID, I assigned it 0:05:13.880000 --> 0:05:20.900000 myself. Alternatively, you could say IPv6 address, just give it the prefix. 0:05:20.900000 --> 0:05:25.960000 And then you could say colon colon. 0:05:25.960000 --> 0:05:30.840000 So that's saying I'm not going to give you the rest of it slash 64. 0:05:30.840000 --> 0:05:35.420000 Now if I just hit enter right now, it's going to say, hey, you haven't 0:05:35.420000 --> 0:05:38.000000 given me the interface ID, you're giving me the prefix. 0:05:38.000000 --> 0:05:40.500000 But what am I supposed to do for my interface ID? 0:05:40.500000 --> 0:05:47.380000 So if I'm going to do that, now I can say EUI 64, which says, hey, do 0:05:47.380000 --> 0:05:50.980000 you drive the interface ID yourself dynamically? 0:05:50.980000 --> 0:05:54.820000 Now you won't see that interface ID as a result of show run. 0:05:54.820000 --> 0:06:02.020000 You'll just see exactly what you typed in, right? 0:06:02.020000 --> 0:06:11.720000 EUI 64. But if you do show IPv6 interface brief, now you will see not 0:06:11.720000 --> 0:06:16.440000 only the prefix, but the interface ID that it dynamically derived via 0:06:16.440000 --> 0:06:18.880000 the EUI 64 process. 0:06:18.880000 --> 0:06:24.340000 If now routers are static, right? 0:06:24.340000 --> 0:06:25.580000 Routers don't move around. 0:06:25.580000 --> 0:06:28.200000 You know, once you assign them to a case, that's where they go. 0:06:28.200000 --> 0:06:30.240000 Not like host, not like things that are mobile. 0:06:30.240000 --> 0:06:34.440000 So things that are mobile are going to be using Slack, stateless address 0:06:34.440000 --> 0:06:38.400000 automatic configuration to dynamically get their entire thing. 0:06:38.400000 --> 0:06:43.040000 For the purposes of a lab, we could have a router's interface act like 0:06:43.040000 --> 0:06:48.400000 a host and use Slack to get its IPv6 address from another router that 0:06:48.400000 --> 0:06:50.920000 is directly connected to on the other side. 0:06:50.920000 --> 0:06:55.940000 The way we would do that is this. 0:06:55.940000 --> 0:07:04.440000 We would just say IPv6 address auto config. 0:07:04.440000 --> 0:07:09.320000 And that tells it use stateless address automatic configuration to obtain 0:07:09.320000 --> 0:07:15.580000 your address. Notice we could also do IPv6 address DHCP, which like a 0:07:15.580000 --> 0:07:20.540000 host would mean use DHCP V6 to get your address. 0:07:20.540000 --> 0:07:25.480000 All sorts of permutations here that we can use. 0:07:25.480000 --> 0:07:28.960000 Now, key thing here, this command. 0:07:28.960000 --> 0:07:34.020000 If we're doing IPv6 on a router, it's probably because we want him to 0:07:34.020000 --> 0:07:38.960000 be able to route IPv6 packets between different IPv6 prefixes. 0:07:38.960000 --> 0:07:43.660000 Hey, we might even want to do something crazy like enable IPv6 EI-GRP 0:07:43.660000 --> 0:07:48.560000 or IPv6 OSPF. Well, if we want our router to actually be able to do those 0:07:48.560000 --> 0:07:54.020000 things, we have to enable IPv6 unitcast-routing. 0:07:54.020000 --> 0:07:57.760000 So this is one of those commands that the moment you think, oh, I want 0:07:57.760000 --> 0:08:02.480000 to configure IPv6 on my device, whether it be a router or a switch, first 0:08:02.480000 --> 0:08:06.040000 thing you should do is IPv6 unitcast-routing. 0:08:06.040000 --> 0:08:07.840000 That's why it's in red there. 0:08:07.840000 --> 0:08:13.540000 If you don't type that in, he will not route even between connected interfaces. 0:08:13.540000 --> 0:08:17.780000 And he certainly won't allow you to configure an IPv6 routing protocol. 0:08:17.780000 --> 0:08:20.300000 Now, little gotcha there. 0:08:20.300000 --> 0:08:24.840000 I've seen different behavior on different flavors of Cisco iOS. 0:08:24.840000 --> 0:08:29.660000 I've seen some devices that if you forgot to configure IPv6 unitcast-routing 0:08:29.660000 --> 0:08:35.360000 and you tried to configure IPv6 router EI-GRP or IPv6 router OSPF, you 0:08:35.360000 --> 0:08:36.420000 would get an error message. 0:08:36.420000 --> 0:08:39.320000 It would say IPv6 routing is not enabled. 0:08:39.320000 --> 0:08:41.060000 That would make sense. 0:08:41.060000 --> 0:08:45.180000 I've seen other flavors of iOS that would actually let you configure the 0:08:45.180000 --> 0:08:50.400000 routing protocol, type in all your commands, not give you any error message. 0:08:50.400000 --> 0:08:55.320000 But if IPv6 unitcast-routing wasn't configured, nothing happened. 0:08:55.320000 --> 0:08:56.760000 The routing protocol didn't start up. 0:08:56.760000 --> 0:09:00.540000 It didn't do anything, which seems a little bit sneaky to me. 0:09:00.540000 --> 0:09:02.320000 It seems like they should warn you. 0:09:02.320000 --> 0:09:07.380000 So just be aware, make sure to configure IPv6 unitcast-routing. 0:09:07.380000 --> 0:09:11.340000 Because whether it takes your routing configuration or not, you won't 0:09:11.340000 --> 0:09:14.960000 be able to do any routing without it. 0:09:14.960000 --> 0:09:20.040000 IPv6 static routes, configuration is pretty much exactly the same as with 0:09:20.040000 --> 0:09:21.660000 IPv4 static routes. 0:09:21.660000 --> 0:09:27.260000 Just swap your v4 address and next top with a v6 address and next top. 0:09:27.260000 --> 0:09:34.120000 IPv6 default route, pretty simple. 0:09:34.120000 --> 0:09:38.640000 Same general concepts as what you learned with IPv4. 0:09:38.640000 --> 0:09:40.880000 And here are your common verification commands. 0:09:40.880000 --> 0:09:45.260000 Just think about if you already know how to verify something in the world 0:09:45.260000 --> 0:09:53.300000 of IPv4 with a show IP something command, just think show IPv6 and that 0:09:53.300000 --> 0:09:57.220000 same something. And you'll get the idea. 0:09:57.220000 --> 0:10:04.140000 So that concludes this video on a refresher on IPv6 implementation in