1 00:00:01,540 --> 00:00:05,440 Troubleshoot IP Configuration and Routing Issues. 2 00:00:05,440 --> 00:00:07,720 Yeah, networking is a big subject for sure. 3 00:00:07,720 --> 00:00:10,290 I mentioned at the end of the previous module that 4 00:00:10,290 --> 00:00:13,250 Microsoft Azure support receives the majority of their 5 00:00:13,250 --> 00:00:15,820 support tickets in the networking arena. 6 00:00:15,820 --> 00:00:19,620 What do we have available in‑box in Windows server to 7 00:00:19,620 --> 00:00:23,440 help us with network connectivity, IP configuration, 8 00:00:23,440 --> 00:00:24,330 and routing problems. 9 00:00:24,330 --> 00:00:28,740 While I like to divide these tools, all of them are command line tools, 10 00:00:28,740 --> 00:00:29,970 into two sections. 11 00:00:29,970 --> 00:00:34,880 The first section, old school compiled executables, which are convenient. 12 00:00:34,880 --> 00:00:37,920 You may have developed muscle memory with these commands, 13 00:00:37,920 --> 00:00:42,540 but unfortunately they don't have a standardized syntax like PowerShell. 14 00:00:42,540 --> 00:00:45,520 You're probably familiar with ipconfig.exe. 15 00:00:45,520 --> 00:00:50,240 That is one of my very favorite Windows networking commands. 16 00:00:50,240 --> 00:00:53,590 Ping, which gets a bad rap, on one hand, 17 00:00:53,590 --> 00:00:56,670 because the internet control message protocol has been 18 00:00:56,670 --> 00:01:00,230 subject to so much abuse that many businesses rightly 19 00:01:00,230 --> 00:01:03,000 disable ping on network interfaces. 20 00:01:03,000 --> 00:01:06,140 I'm going to show you some techniques to work around that. 21 00:01:06,140 --> 00:01:11,610 The idea is that if a destination host responds to a ping, it's up, it's online. 22 00:01:11,610 --> 00:01:13,840 Now that's not necessarily true. 23 00:01:13,840 --> 00:01:17,570 Just because the machine responds to a ping doesn't necessarily mean 24 00:01:17,570 --> 00:01:22,440 that it's say web FTP service is actually running. 25 00:01:22,440 --> 00:01:26,860 ARP is a lower level command where you can validate that IP 26 00:01:26,860 --> 00:01:31,490 addresses are bound correctly to media access control, 27 00:01:31,490 --> 00:01:33,560 or MAC, hardware addresses. 28 00:01:33,560 --> 00:01:37,880 That's for some lower to the ground troubleshooting with switches 29 00:01:37,880 --> 00:01:41,000 and routers and individual network interfaces. 30 00:01:41,000 --> 00:01:45,870 As far as verifying latency and reachability from a routing perspective, 31 00:01:45,870 --> 00:01:51,640 we have tracert, we also have netstat to show us network statistics. 32 00:01:51,640 --> 00:01:51,810 Now, 33 00:01:51,810 --> 00:01:54,310 these are definitely all commands that you need to have 34 00:01:54,310 --> 00:01:57,540 some familiarity with for your AZ‑801. 35 00:01:57,540 --> 00:01:59,810 There are plenty of others, of course, 36 00:01:59,810 --> 00:02:03,450 but I've told you at the beginning of this course and all of these AZ‑800 37 00:02:03,450 --> 00:02:07,900 and 801 courses that I'm very strategic in my teaching, 38 00:02:07,900 --> 00:02:11,460 I don't want to over teach stuff that's not going to be on the exam. 39 00:02:11,460 --> 00:02:13,190 I will say though, parenthetically, 40 00:02:13,190 --> 00:02:16,540 you might want to check out the Microsoft Sysinternals Suite. 41 00:02:16,540 --> 00:02:19,990 This is a collection of free graphical and command line utilities, 42 00:02:19,990 --> 00:02:23,620 some of which are very helpful like TCP view for 43 00:02:23,620 --> 00:02:26,230 visualizing network connections on a machine. 44 00:02:26,230 --> 00:02:31,080 If you're concerned about maybe a rogue process attached to a server, 45 00:02:31,080 --> 00:02:33,440 this would be a good way to check that. 46 00:02:33,440 --> 00:02:37,600 Now PowerShell, especially with PowerShell 7 being cross‑platform, 47 00:02:37,600 --> 00:02:42,170 gives us a wrapper for the .NET Framework or .NET Core runtime 48 00:02:42,170 --> 00:02:45,620 environment and also gives us a consistent syntax, 49 00:02:45,620 --> 00:02:46,600 which I like a lot. 50 00:02:46,600 --> 00:02:49,740 There are a few commands here that we'll look at in the demo, 51 00:02:49,740 --> 00:02:54,240 Get‑NetIPConfiguration, Get‑NetIPAddress. 52 00:02:54,240 --> 00:02:58,950 These are in some cases variants of ipconfig actually. 53 00:02:58,950 --> 00:03:04,440 Test‑NetConnection is a much more expansive type of ping. 54 00:03:04,440 --> 00:03:07,720 I like Test‑NetConnection because you're not using the 55 00:03:07,720 --> 00:03:11,750 Internet Control Message Protocol, and you can test other ports. 56 00:03:11,750 --> 00:03:15,210 For instance, if you're testing connectivity to a web server, 57 00:03:15,210 --> 00:03:19,260 you can specify port 443, instead of no port, 58 00:03:19,260 --> 00:03:20,240 you see? 59 00:03:20,240 --> 00:03:23,290 Get‑NetRoute is an alternative to route print, 60 00:03:23,290 --> 00:03:26,400 which is a compiled executable that's not on this slide, 61 00:03:26,400 --> 00:03:27,890 but I'll show it to you in the demo, 62 00:03:27,890 --> 00:03:32,030 a way to view the local routing table of a given 63 00:03:32,030 --> 00:03:34,330 Windows server or Windows client system. 64 00:03:34,330 --> 00:03:37,120 These are all good commands you should have in your toolbelt, 65 00:03:37,120 --> 00:03:41,950 and their benefit, another benefit of both the executables in the PowerShell, 66 00:03:41,950 --> 00:03:46,140 is that their in‑box on every Windows server system. 67 00:03:46,140 --> 00:03:49,430 So you don't have any dependencies on any additional 68 00:03:49,430 --> 00:03:52,310 troubleshooting software when you're looking to resolve 69 00:03:52,310 --> 00:03:55,410 networking problems on these Windows servers. 70 00:03:55,410 --> 00:04:00,620 Many of these commands can be just as useful in Azure as on‑premises. 71 00:04:00,620 --> 00:04:03,650 I know it's a common newcomers mistake, 72 00:04:03,650 --> 00:04:07,440 and I'll even say an intermediate Azure users mistake, 73 00:04:07,440 --> 00:04:10,590 to assume that just because the Azure virtual 74 00:04:10,590 --> 00:04:13,840 networks are out of our physical reach, that is they're in the cloud, 75 00:04:13,840 --> 00:04:15,560 it's software‑defined networking, 76 00:04:15,560 --> 00:04:18,150 means that we have to learn an entirely different 77 00:04:18,150 --> 00:04:20,270 collection of troubleshooting tools. 78 00:04:20,270 --> 00:04:29,000 Now it's really more of a both/and as opposed to an either/or situation. I hope that gives you some confidence and comfort.