WEBVTT 0:00:07.280000 --> 0:00:11.440000 This video is part of the Cisco Certified Technician for routing and switching 0:00:11.440000 --> 0:00:15.960000 series. It comes specifically from Section 4 of the blueprint for that 0:00:15.960000 --> 0:00:20.920000 certification. The title of this video is using TFTP servers. 0:00:20.920000 --> 0:00:25.840000 My name is Keith Bogart and I will be your instructor for this session. 0:00:25.840000 --> 0:00:30.180000 So in this session we're covering one bullet point from Section 4 of the 0:00:30.180000 --> 0:00:36.220000 exam blueprint, which specifically reads, configure and use a TFTP server 0:00:36.220000 --> 0:00:39.400000 such as TFTPD32. 0:00:39.400000 --> 0:00:42.140000 Okay, so let's start out. 0:00:42.140000 --> 0:00:44.860000 Why might we need a TFTP server? 0:00:44.860000 --> 0:00:48.640000 Well in the context of being a Cisco field technician working with Cisco 0:00:48.640000 --> 0:00:52.580000 routers and switches, which is the most obvious, the most relevant reason 0:00:52.580000 --> 0:00:57.820000 would be to do either iOS software upgrades or downgrades. 0:00:57.820000 --> 0:01:04.240000 So when you get onto a Cisco device, for example here, if I want to upgrade 0:01:04.240000 --> 0:01:08.180000 or downgrade the software, step number one is you have to know where in 0:01:08.180000 --> 0:01:14.400000 software, where in memory the Cisco iOS software is normally stored. 0:01:14.400000 --> 0:01:16.780000 Now if you've been watching some of my previous videos, hopefully you 0:01:16.780000 --> 0:01:19.960000 will know that is typically in flash memory. 0:01:19.960000 --> 0:01:23.660000 So we can do the command directory flash colon. 0:01:23.660000 --> 0:01:26.860000 I'll go ahead and expand that right here. 0:01:26.860000 --> 0:01:30.880000 And from there you can see if you have any Cisco iOS software in there. 0:01:30.880000 --> 0:01:34.980000 So let's say that this is buggy or for whatever reason I want to upgrade 0:01:34.980000 --> 0:01:38.740000 that to a different version, I want to downgrade to a different version. 0:01:38.740000 --> 0:01:43.340000 So now I need to get some new software into this device. 0:01:43.340000 --> 0:01:44.820000 Now how do we do that? 0:01:44.820000 --> 0:01:49.020000 Well the most typical way you do it is using the copy command. 0:01:49.020000 --> 0:01:55.080000 And with the copy command you say copy, the next argument will be where 0:01:55.080000 --> 0:01:57.000000 am I copying from? 0:01:57.000000 --> 0:02:00.240000 So if you use a question mark here you can see you can copy from a lot 0:02:00.240000 --> 0:02:06.500000 of places. You can copy from one, you can copy from flash into, for example 0:02:06.500000 --> 0:02:10.020000 your NV RAM. Or in this particular case we could say, well I want to copy 0:02:10.020000 --> 0:02:13.280000 from a TFTP server. 0:02:13.280000 --> 0:02:17.140000 You could also use an FTP server or an HTTP server. 0:02:17.140000 --> 0:02:21.660000 But specifically we're going to be saying I want to copy from a TFTP server. 0:02:21.660000 --> 0:02:24.620000 That's where the file resides. 0:02:24.620000 --> 0:02:28.440000 And then the next argument is where do you want to put that file? 0:02:28.440000 --> 0:02:33.960000 In this case it's going to be flash colon, copy TFTP flash colon. 0:02:33.960000 --> 0:02:37.020000 And then when you hit enter it's going to prompt you for several things 0:02:37.020000 --> 0:02:38.220000 to finish this off. 0:02:38.220000 --> 0:02:42.060000 For example like the IP address of the TFTP server, the name of the file 0:02:42.060000 --> 0:02:44.620000 and so on and so forth. 0:02:44.620000 --> 0:02:48.820000 So step number two is I'm assuming that in this process you have already 0:02:48.820000 --> 0:02:53.800000 downloaded the relevant Cisco iOS software onto your laptop or PC. 0:02:53.800000 --> 0:02:58.000000 Or if you actually have a dedicated server running as a TFTP server onto 0:02:58.000000 --> 0:03:01.020000 that machine. So I'm not going to go through that process but that would 0:03:01.020000 --> 0:03:03.780000 be the second step is you know make sure that you actually have downloaded 0:03:03.780000 --> 0:03:05.040000 the software and it's ready to go. 0:03:05.040000 --> 0:03:09.860000 So in my particular case I'm just going to be using my laptop as a server. 0:03:09.860000 --> 0:03:17.780000 And within my documents folder here I've created an iOS images folder. 0:03:17.780000 --> 0:03:21.040000 And if I click on that you can see I've got a couple of iOS images in 0:03:21.040000 --> 0:03:24.240000 there. So for demonstration purposes I'm just going to be downloading 0:03:24.240000 --> 0:03:29.800000 the exact same iOS images already on this router which is my 1841 image. 0:03:29.800000 --> 0:03:35.980000 Because the process is the same. 0:03:35.980000 --> 0:03:37.880000 So that's that's step number two. 0:03:37.880000 --> 0:03:41.380000 Make sure you have your iOS image and make sure you know what folder you've 0:03:41.380000 --> 0:03:47.160000 stored it in. Alright next step is if I'm going to be doing this via TFTP 0:03:47.160000 --> 0:03:52.220000 I need to install some TFTP server application onto my laptop. 0:03:52.220000 --> 0:03:56.180000 And like the bullet point says one of the three ones that we can use is 0:03:56.180000 --> 0:04:03.000000 TFTPD. And TFTPD has the original version was TFTPD32 for 32 bit operating 0:04:03.000000 --> 0:04:04.840000 systems like older Windows 95. 0:04:04.840000 --> 0:04:06.520000 And stuff like that. 0:04:06.520000 --> 0:04:11.940000 And now they also have TFTPD64 for 64 bit operating systems. 0:04:11.940000 --> 0:04:13.380000 So where do you find that? 0:04:13.380000 --> 0:04:18.580000 Real easy. Just go ahead and go to Google our good friend here and type 0:04:18.580000 --> 0:04:23.800000 in TFTPD and you can say 32. 0:04:23.800000 --> 0:04:26.420000 Or if you know that you want to do 64. 0:04:26.420000 --> 0:04:35.140000 64. And as of this recording in 2017 you would be going to this codeplex 0:04:35.140000 --> 0:04:42.220000 website. So if I go right there and that takes me to what it looks like. 0:04:42.220000 --> 0:04:44.360000 And then you just click on download. 0:04:44.360000 --> 0:04:47.580000 Now I've already downloaded it so I'm going to skip that step. 0:04:47.580000 --> 0:04:52.520000 So once you download it you will have an icon on your laptop that looks 0:04:52.520000 --> 0:04:56.220000 like this. Let me go ahead and zoom in on that a little bit. 0:04:56.220000 --> 0:04:58.880000 There you can see what that looks like. 0:04:58.880000 --> 0:05:07.200000 And once you double click on that you will be opening up the TFTPD application. 0:05:07.200000 --> 0:05:09.780000 And here is what it looks like. 0:05:09.780000 --> 0:05:14.660000 Now a couple things about this that I want to point out. 0:05:14.660000 --> 0:05:27.620000 So number one. Let me go ahead and move this to one moment. 0:05:27.620000 --> 0:05:30.760000 Okay, so some things I want to point out with this. 0:05:30.760000 --> 0:05:37.220000 Okay, first of all notice the server interface. 0:05:37.220000 --> 0:05:42.380000 So it's very conceivable that your laptop PC or actual server that you're 0:05:42.380000 --> 0:05:45.620000 using has more than one network connection. 0:05:45.620000 --> 0:05:49.880000 For example in my case my laptop has both a Wi-Fi connection and a wired 0:05:49.880000 --> 0:05:54.520000 connection. So ideally you want to use your wired ethernet connection 0:05:54.520000 --> 0:05:56.760000 because it's faster, it's more reliable. 0:05:56.760000 --> 0:05:59.900000 You're not competing in the Wi-Fi airspace with other devices trying to 0:05:59.900000 --> 0:06:01.740000 connect to the same SSID. 0:06:01.740000 --> 0:06:03.660000 So that's number one. 0:06:03.660000 --> 0:06:05.460000 Now how do you control that? 0:06:05.460000 --> 0:06:10.520000 Well, if I go over here and click on settings. 0:06:10.520000 --> 0:06:14.400000 Okay, actually this isn't where you change the IP address. 0:06:14.400000 --> 0:06:15.900000 Right here in the drop-down menu. 0:06:15.900000 --> 0:06:19.560000 If you click on that it'll show you all the IP addresses that you currently 0:06:19.560000 --> 0:06:23.280000 have. Now certainly you wouldn't want to use your loopback address 127. 0:06:23.280000 --> 0:06:25.940000 You don't want to use any of these a PIPA addresses. 0:06:25.940000 --> 0:06:31.060000 So this 192.168 that's the address of my Wi-Fi card I could select that 0:06:31.060000 --> 0:06:32.540000 if that's all I have. 0:06:32.540000 --> 0:06:37.060000 But in my particular case my wired ethernet NIC is 1112. 0:06:37.060000 --> 0:06:38.800000 So I want to select that one. 0:06:38.800000 --> 0:06:40.640000 Which brings us to the next point. 0:06:40.640000 --> 0:06:44.160000 In order for this whole thing to work your network device like your router 0:06:44.160000 --> 0:06:49.460000 or switch has to have IP reachability to the TFTP server wherever that 0:06:49.460000 --> 0:06:52.520000 happens to be. Now in my case I'm making it super simple. 0:06:52.520000 --> 0:06:57.780000 I actually have a wired ethernet cable directly connected between the 0:06:57.780000 --> 0:07:01.220000 RJ45 jack on my docking station and my laptop. 0:07:01.220000 --> 0:07:04.540000 Going directly into my router's fast ethernet port. 0:07:04.540000 --> 0:07:07.700000 Now in reality you probably won't be able to do this. 0:07:07.700000 --> 0:07:12.560000 So that's the next point which is make sure that you have a connection 0:07:12.560000 --> 0:07:17.160000 between your laptop or PC and the router. 0:07:17.160000 --> 0:07:18.560000 And then test it. 0:07:18.560000 --> 0:07:27.140000 So for example if I go to my router I should just be able to ping the 0:07:27.140000 --> 0:07:31.080000 IP address of my TFTP server which in this case is 1112. 0:07:31.080000 --> 0:07:33.900000 And you can see I can ping it. 0:07:33.900000 --> 0:07:35.760000 Now a disclaimer here. 0:07:35.760000 --> 0:07:39.220000 If you're using a Windows operating system not Windows server but like 0:07:39.220000 --> 0:07:43.780000 a Windows client like Windows 7, Windows 10, something like that. 0:07:43.780000 --> 0:07:47.700000 A lot of Windows operating systems when you have Windows firewall turned 0:07:47.700000 --> 0:07:52.020000 on which a lot of times is on by default or some other firewall like ABG 0:07:52.020000 --> 0:07:53.340000 or something else. 0:07:53.340000 --> 0:08:01.080000 They block incoming pings. 0:08:01.080000 --> 0:08:04.980000 But if you tried pinging your laptop you get nothing. 0:08:04.980000 --> 0:08:07.700000 And that's actually what I experienced before I started this video. 0:08:07.700000 --> 0:08:10.520000 From the laptop I could ping this router than I'm directly connected to 0:08:10.520000 --> 0:08:13.660000 but from the router I could not ping the laptop. 0:08:13.660000 --> 0:08:15.600000 So there's several ways around that. 0:08:15.600000 --> 0:08:19.740000 Certainly the most complex way would be to go into whatever firewall application 0:08:19.740000 --> 0:08:23.980000 you've got running on your laptop or PC and create some new inbound firewall 0:08:23.980000 --> 0:08:29.120000 rules allowing inbound pings from the source address of whatever your 0:08:29.120000 --> 0:08:31.600000 network connection is of your router. 0:08:31.600000 --> 0:08:36.620000 Of course a much more simplest solution although it's less secure is to 0:08:36.620000 --> 0:08:39.200000 simply disable your firewall temporarily. 0:08:39.200000 --> 0:08:40.700000 So that's what I did. 0:08:40.700000 --> 0:08:43.640000 I started out by creating some inbound rules just got a feel for that 0:08:43.640000 --> 0:08:44.720000 what that's like. 0:08:44.720000 --> 0:08:48.680000 I decided just to completely disable my firewall just for the few minutes 0:08:48.680000 --> 0:08:52.060000 I'm doing this video here so I wouldn't have to worry about did I create 0:08:52.060000 --> 0:08:53.640000 the rule correctly? 0:08:53.640000 --> 0:08:56.320000 Did I specify the correct port numbers? 0:08:56.320000 --> 0:08:59.680000 But just be aware that if you do have a firewall running on your TFTP 0:08:59.680000 --> 0:09:04.620000 server make sure that number one it allows incoming pings so you can test 0:09:04.620000 --> 0:09:09.720000 reachability to that server and make sure it allows incoming TFTP requests. 0:09:09.720000 --> 0:09:13.940000 A lot of firewalls also have that blocked so that when your router switch 0:09:13.940000 --> 0:09:18.940000 tries to initiate TFTP trying to get that file it's blocked by your firewall. 0:09:18.940000 --> 0:09:22.900000 So it might just be easier for you to turn your firewall off temporarily 0:09:22.900000 --> 0:09:25.160000 so you can not worry about that. 0:09:25.160000 --> 0:09:30.600000 Okay so I've got the IP address of my TFTP server which is my laptop. 0:09:30.600000 --> 0:09:34.320000 I verify that I can ping it that I can reach it so that's good. 0:09:34.320000 --> 0:09:39.840000 I verified I have the Cisco iOS image I verified what file it stored in 0:09:39.840000 --> 0:09:44.880000 in my laptop. I've opened up my TFTP application right here. 0:09:44.880000 --> 0:09:49.780000 I have confirmed that it's using the correct IP address and if it's not 0:09:49.780000 --> 0:09:53.440000 I use the drop down menu here to select the IP address. 0:09:53.440000 --> 0:09:58.880000 Now the last step is this is not the correct folder right now as we see 0:09:58.880000 --> 0:10:04.760000 it right here. So this C colon programs file TFTP64 that's not where I 0:10:04.760000 --> 0:10:08.500000 have my iOS image so I need to change that folder. 0:10:08.500000 --> 0:10:11.080000 So there's a couple ways you could do that right here you can click on 0:10:11.080000 --> 0:10:15.660000 the browse button and select the folder so in my case it's under libraries, 0:10:15.660000 --> 0:10:20.160000 documents, my documents and iOS images. 0:10:20.160000 --> 0:10:22.400000 Now technically I'm good to go. 0:10:22.400000 --> 0:10:27.360000 At this point this TFTP server is with just its default settings ready 0:10:27.360000 --> 0:10:31.400000 to go. Now if you want to change some of the settings which you can I 0:10:31.400000 --> 0:10:32.860000 don't recommend you do this. 0:10:32.860000 --> 0:10:38.420000 You can click on that settings button right there. 0:10:38.420000 --> 0:10:42.080000 And from in here you can change your base directory instead of using the 0:10:42.080000 --> 0:10:45.140000 browse button that I just did in the other place you can do it there. 0:10:45.140000 --> 0:10:48.920000 TFTP doesn't really have security it's not like FTP that's one of the 0:10:48.920000 --> 0:10:52.900000 benefits of FTP is you've got username and password you can configure. 0:10:52.900000 --> 0:10:56.320000 TFTP doesn't really have that so I'm not even really sure why it's got 0:10:56.320000 --> 0:10:59.840000 this as an option right here quite frankly. 0:10:59.840000 --> 0:11:06.060000 I've also read online that if you want to speed up your TFTP session one 0:11:06.060000 --> 0:11:10.360000 thing you can try doing is clicking right here where it says use anticipation 0:11:10.360000 --> 0:11:15.920000 window. You get a warning saying your TFTP client might not support that. 0:11:15.920000 --> 0:11:18.860000 And I've read on a couple different websites that if you increase that 0:11:18.860000 --> 0:11:24.440000 to like 4,092 bytes that can significantly increase your TFTP download 0:11:24.440000 --> 0:11:29.460000 speed. I've tried it in my particular case it didn't help if anything 0:11:29.460000 --> 0:11:33.400000 it made things worse sometimes so I am not going to click that. 0:11:33.400000 --> 0:11:36.040000 But I just want you to know that you could try that out to see if it has 0:11:36.040000 --> 0:11:37.900000 any effect on you. 0:11:37.900000 --> 0:11:41.200000 Probably don't want to click any of these other things right here. 0:11:41.200000 --> 0:11:48.080000 Okay. Now right now it's giving me some messages about the DHCP server. 0:11:48.080000 --> 0:11:50.880000 I don't care about the DHCP server I don't plan on using that so I'm actually 0:11:50.880000 --> 0:11:54.760000 going to go here to my global options and disable the DHCP server. 0:11:54.760000 --> 0:11:58.380000 I don't care about that so I don't want to care about those error messages. 0:11:58.380000 --> 0:12:00.260000 It says you have to restart. 0:12:00.260000 --> 0:12:03.300000 Okay look what just happened right it just got rid of my directory. 0:12:03.300000 --> 0:12:06.260000 So I'm not going to bother restarting I'm just going to change the directory 0:12:06.260000 --> 0:12:12.740000 again back to what it should be documents my documents iOS images. 0:12:12.740000 --> 0:12:16.520000 And now we should be ready to go. 0:12:16.520000 --> 0:12:21.560000 So at this point I'm just going to put this up here in the corner a little 0:12:21.560000 --> 0:12:27.240000 bit. And the command we want to use is copy. 0:12:27.240000 --> 0:12:31.540000 Actually let me go to my file first of all it has my iOS images in it. 0:12:31.540000 --> 0:12:35.820000 I'm just going to right click on the name and click on rename. 0:12:35.820000 --> 0:12:37.460000 I'm not doing this to rename it. 0:12:37.460000 --> 0:12:40.420000 I'm just doing this to real quickly get the name so I can copy it so I'm 0:12:40.420000 --> 0:12:52.800000 highlighting it and I'm pressing Ctrl C or just copy. 0:12:52.800000 --> 0:12:57.000000 So I'm going to hit enter it's going to prompt me so because I already 0:12:57.000000 --> 0:13:00.600000 did this lab before I record this it already has cached the IP address 0:13:00.600000 --> 0:13:04.760000 of 1112. In your particular case you'd want to type in the IP address 0:13:04.760000 --> 0:13:07.080000 of your actual TFTP server. 0:13:07.080000 --> 0:13:11.520000 It has also cached the name the file name but you know I did copy it so 0:13:11.520000 --> 0:13:15.740000 I can just right click here and paste it back in. 0:13:15.740000 --> 0:13:17.480000 It says destination file name. 0:13:17.480000 --> 0:13:18.620000 You don't want to change this. 0:13:18.620000 --> 0:13:21.460000 This would be like if you were downloading a config file or something 0:13:21.460000 --> 0:13:25.200000 like that you might want to rename the config file from whatever it is 0:13:25.200000 --> 0:13:27.940000 on the TFTP server to this device here. 0:13:27.940000 --> 0:13:30.560000 And that's another use of TFTP if you want to use it to download config 0:13:30.560000 --> 0:13:35.440000 files into flash memory for long term storage or something like that. 0:13:35.440000 --> 0:13:39.060000 But in this case I don't want to change the name of my Cisco iOS image. 0:13:39.060000 --> 0:13:43.380000 Now it says there's already a file with this name do I want to overwrite. 0:13:43.380000 --> 0:13:48.620000 If I had enough flash memory to store two or more images I would say no. 0:13:48.620000 --> 0:13:51.760000 But in this case I don't have enough flash memory to store two images 0:13:51.760000 --> 0:13:54.840000 simultaneously so yes I have to overwrite. 0:13:54.840000 --> 0:13:59.700000 So I hit enter and now it says it's accessing and you can see there it 0:13:59.700000 --> 0:14:06.920000 goes. If I actually take a look at TFTP D32 or in this case TFTP D64 you 0:14:06.920000 --> 0:14:10.540000 can see that it is slowly incrementing. 0:14:10.540000 --> 0:14:16.240000 Now my particular case is not that fast it's only about 240, 242,000 bits 0:14:16.240000 --> 0:14:20.480000 per second so not anywhere even close to the ethernet speed that it could 0:14:20.480000 --> 0:14:25.440000 be. But it is chugging along we can see here in the progress it's 16%. 0:14:25.440000 --> 0:14:30.600000 So if I let this video go for another oh three or four minutes this would 0:14:30.600000 --> 0:14:36.060000 be done. But that basically is it that is how to use a TFTP server to 0:14:36.060000 --> 0:14:38.560000 download a Cisco iOS image. 0:14:38.560000 --> 0:14:42.720000 We could have also used that exact same process to upload my Cisco iOS 0:14:42.720000 --> 0:14:46.780000 image if I want to have a copy of it residing on a TFTP server for other