<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: esmeralda</title>
    <description>The latest articles on DEV Community by esmeralda (@esmeralda).</description>
    <link>https://dev.to/esmeralda</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1105069%2F0301f935-9f1c-4da4-ada6-33f1a4dcd3ad.png</url>
      <title>DEV Community: esmeralda</title>
      <link>https://dev.to/esmeralda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/esmeralda"/>
    <language>en</language>
    <item>
      <title>Configuring HDLC on a Cisco router</title>
      <dc:creator>esmeralda</dc:creator>
      <pubDate>Thu, 10 Aug 2023 12:09:49 +0000</pubDate>
      <link>https://dev.to/esmeralda/configuring-hdlc-on-a-cisco-router-21n2</link>
      <guid>https://dev.to/esmeralda/configuring-hdlc-on-a-cisco-router-21n2</guid>
      <description>&lt;p&gt;Hello!&lt;/p&gt;

&lt;p&gt;How are you doing?&lt;/p&gt;

&lt;p&gt;The objective of this post is to practice how to configure HDLC on the network using Cisco routers.&lt;/p&gt;

&lt;p&gt;You can better understand this configuration if you already know WAN (Wide Area Network) and point-to-point protocols (PPP), for instance.&lt;/p&gt;

&lt;p&gt;Cisco defines HDLC (High-level Data Link Control) as a group of data link (Layer 2) protocols used to transmit synchronous data packets between point-to-point nodes.&lt;/p&gt;

&lt;p&gt;HDLC is a bit-oriented protocol that helps to transmit data reliably and efficiently. However, companies prefer PPP over Cisco HDLC for many reasons, including that the latter is Cisco proprietary and creates limitations when working with non-cisco devices. Also, even though today there are other methods to transmit data more securely, HDLC is still used and certifications such as CCNA request that you have some knowledge.&lt;/p&gt;

&lt;p&gt;Today, we will configure HDLC in a simple network with 2 routers.&lt;/p&gt;

&lt;p&gt;Let’s go!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cpDvWSzk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ug1oyjv64m782iyly8xw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cpDvWSzk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ug1oyjv64m782iyly8xw.png" alt="Image description" width="391" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- Assign IP addresses to the router serial interfaces and turn them on with the command&lt;/strong&gt; &lt;code&gt;&amp;lt;no shut&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Router 1:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;R1#conf t&lt;br&gt;
R1(config)#int serial 2/0&lt;br&gt;
R1(config-if)#ip address 10.1.1.1 255.255.255.0&lt;br&gt;
R1(config-if)#no shut&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Router 2:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;R2#conf t&lt;br&gt;
R2(config)#int serial 2/0&lt;br&gt;
R2(config-if)#ip address 10.1.1.2 255.255.255.0&lt;br&gt;
R2(config-if)#no shut&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2- Check if both routers can ping each other.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4fJ8914o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yzltpiajcve5ih74w9nj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4fJ8914o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yzltpiajcve5ih74w9nj.png" alt="Image description" width="628" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D92cDrC7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c5zcaeo0qlw9oa1pjz1o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D92cDrC7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c5zcaeo0qlw9oa1pjz1o.png" alt="Image description" width="601" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes, they can ping each other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3- If you run the command&lt;/strong&gt; &lt;code&gt;show int serial 2/0&lt;/code&gt;, &lt;strong&gt;you will see that HDLC is enabled by default on the interface on Cisco routers, therefore, it is not needed to add any additional command.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---tdnpsy4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olqkectc0ggu55mm3rql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---tdnpsy4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olqkectc0ggu55mm3rql.png" alt="Image description" width="720" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, if you find issues on your network and while troubleshooting you find that one serial interface is using HDLC encapsulation and the other interface is running PPP, you can enable HDLC manually. You can do that in interface config mode with the command .&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Router#conf t&lt;br&gt;
Router(config)#int serial 2/0&lt;br&gt;
Router(config-if)#encapsulation hdlc&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4- Running &lt;code&gt;&amp;lt;sh run&amp;gt;&lt;/code&gt; we can see that a clock rate is already assigned. We only need to enable the clock rate when we are using a back-to-back cable, and it is enabled on the DCE (Data Communication Equipment) side.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Router 1:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jm_kOpc2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/slbkhrili1yb46b7vm8u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jm_kOpc2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/slbkhrili1yb46b7vm8u.png" alt="Image description" width="464" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Router 2:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BdRRsrqe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/esyqmeak9xnk6hhh36mv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BdRRsrqe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/esyqmeak9xnk6hhh36mv.png" alt="Image description" width="511" height="99"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That was simple, wasn’t it?&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to configure OSPFv3 for IPv6 Network</title>
      <dc:creator>esmeralda</dc:creator>
      <pubDate>Tue, 08 Aug 2023 14:48:26 +0000</pubDate>
      <link>https://dev.to/esmeralda/how-to-configure-ospfv3-for-ipv6-network-2454</link>
      <guid>https://dev.to/esmeralda/how-to-configure-ospfv3-for-ipv6-network-2454</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VM9NMl6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lox2rw5wtqbtkx4dgqlx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VM9NMl6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lox2rw5wtqbtkx4dgqlx.png" alt="Image description" width="720" height="480"&gt;&lt;/a&gt;&lt;br&gt;
Hello!&lt;/p&gt;

&lt;p&gt;I hope you are doing well.&lt;/p&gt;

&lt;p&gt;The objective of this post is to guide you to configure OSPFv3 for an IPv6 network.&lt;/p&gt;

&lt;p&gt;OSPFv3 is a link-state protocol for IPv4 and IPv6, however, we will work here on an IPv6 network. Because of that, to better understand this article, you are requested to have a solid knowledge of IPv6. In addition, knowing how OSPFv2 works can help you as well.&lt;/p&gt;

&lt;p&gt;This is our topology:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WaO40iNU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/de0juhb77buuctt4hkhl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WaO40iNU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/de0juhb77buuctt4hkhl.png" alt="Image description" width="720" height="193"&gt;&lt;/a&gt;&lt;br&gt;
Before starting I have a heads-up. If you follow this tutorial and your network doesn’t work as expected, save your work and restart packet tracer. Sometimes the software crashes and failures occur.&lt;/p&gt;

&lt;p&gt;Let’s get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  Router 1
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zUbVNh4s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ppyf9lkn2ymmpaopntj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zUbVNh4s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ppyf9lkn2ymmpaopntj.png" alt="Image description" width="720" height="193"&gt;&lt;/a&gt;&lt;br&gt;
Let’s start with router 1.&lt;/p&gt;

&lt;p&gt;First, to run OSPFv3 and IPv6 addresses in the network we need to enable ipv6 routing.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#ipv6 unicast-routing&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Next, we have to configure ipv6 addresses on the interfaces.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#int loop 0&lt;br&gt;
R1(config-if)#ipv6 address 2001:abcd:1::1/64&lt;br&gt;
R1(config-if)#int g0/0/0&lt;br&gt;
R1(config-if)#ipv6 address 2001:1::1/64&lt;br&gt;
R1(config-if)#no shut&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Running the command  we can see a Link-local address and Global Unicast Address were assigned to the interfaces.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ARgHhsq_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1kyadv7rzjw2ds1hdj3z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ARgHhsq_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1kyadv7rzjw2ds1hdj3z.png" alt="Image description" width="720" height="287"&gt;&lt;/a&gt;&lt;br&gt;
After enabling ipv6 we are now able to configure a routing protocol that in our example will be OSPF with a process ID of 1. &lt;code&gt;ipv6 router ospf 1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ap283hjq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kag6medmuz7o9yxptwrf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ap283hjq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kag6medmuz7o9yxptwrf.png" alt="Image description" width="720" height="149"&gt;&lt;/a&gt;&lt;br&gt;
Note that OSPF in IPv6 runs similarly to IPv4 and we have a message to configure a router-id. You have to set a 32-bit router-id. In this example, I assigned this router 1.1.1.1.&lt;/p&gt;

&lt;p&gt;At this point in our configuration, if you run the command , you will have no results.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_g7mSf3V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nnu8ki14f8813wp8v90.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_g7mSf3V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nnu8ki14f8813wp8v90.png" alt="Image description" width="467" height="92"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The reason for that is we need to assign each interface to the OSPFv3 with the command &lt;code&gt;ipv6 ospf process-id-number area area-number&lt;/code&gt;. So let’s do it!&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#int loop 0&lt;br&gt;
R1(config-if)#ipv6 ospf 1 area 1&lt;br&gt;
R1(config-if)#int g0/0/0&lt;br&gt;
R1(config-if)#ipv6 ospf 1 area 1&lt;br&gt;
R1(config-if)#end&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, after configuring the two interfaces and running &lt;code&gt;show ipv6 ospf brief&lt;/code&gt;, we are able to see them added to OSPFv3.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jXTsRMsZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w8gsb05gnhfitcb0gtuj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jXTsRMsZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w8gsb05gnhfitcb0gtuj.png" alt="Image description" width="800" height="94"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are following this tutorial in packet tracer and you don’t see g0/0/0 listed after running this command, you need to enable (no shut) the neighbor interface in the neighbor router.&lt;/p&gt;

&lt;p&gt;Also, it is important to highlight that many of the OSPFv2 commands in IPv4 commands are similar to IPv6. Usually what it changes is that we add  word instead of  in the commands.&lt;/p&gt;

&lt;p&gt;A useful command when troubleshooting is &lt;code&gt;show ipv6 protocols&lt;/code&gt;. We can see the interfaces in OSPF and the areas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SCbngQzA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w2h9vc8a37lj24m8cbw5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SCbngQzA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w2h9vc8a37lj24m8cbw5.png" alt="Image description" width="514" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After following the first router configuration, we can do basically the same configuration on the other routers of our network, just paying attention to the interfaces and areas that we are configuring. In summary, we can follow these steps:&lt;/p&gt;

&lt;p&gt;1- Enable &lt;code&gt;ipv6 unicast-routing&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;2- Configure IPv6 addresses on the interfaces &lt;code&gt;ipv6 address&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;3- Configure a routing protocol with a process-id &lt;code&gt;ipv6 router ospf process-id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;4- Assign a &lt;code&gt;router-id&lt;/code&gt; to our router&lt;/p&gt;

&lt;p&gt;5- Assign each interface to OSPFv3 with the command &lt;code&gt;ipv6 ospf process-id-number area area-number&lt;/code&gt;. Remember to assign each interface to the correct area id.&lt;/p&gt;

&lt;p&gt;6- Check if it is correctly assigned &lt;code&gt;show ipv6 ospf int brief&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now let’s finish the configuration of the rest of the network.&lt;/p&gt;

&lt;h2&gt;
  
  
  Router 2
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--26VZYbHL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gmlug5balylxd6r1gt58.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--26VZYbHL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gmlug5balylxd6r1gt58.png" alt="Image description" width="720" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1- Enable IPv6 routing and configure interfaces in router 2 with IPv6 addresses.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R2(config)#ipv6 unicast-routing&lt;br&gt;
R2(config)#int loop0&lt;br&gt;
R2(config-if)#ipv6 address 2001:abcd:2::1/64&lt;br&gt;
R2(config-if)#int g0/0/0&lt;br&gt;
R2(config-if)#ipv6 address 2001:1::2/64&lt;br&gt;
R2(config-if)#no shut&lt;br&gt;
R2(config-if)#int g0/0/1&lt;br&gt;
R2(config-if)#ipv6 address 2001:2::1/64&lt;br&gt;
R2(config-if)#no shut&lt;br&gt;
R2(config-if)#exit&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;2- Pay attention to the interfaces’ areas. They must be added to the proper area as stated in our topology (refer to the picture if you need it).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R2(config)#ipv6 router ospf 1&lt;br&gt;
%OSPFv3-4-NORTRID: OSPFv3 process 1 could not pick a router-id,please configure manually&lt;br&gt;
R2(config-rtr)#router-id 2.2.2.2&lt;br&gt;
R2(config-rtr)#int g0/0/0&lt;br&gt;
R2(config-if)#ipv6 ospf 1 area 1&lt;br&gt;
R2(config-if)#int loop 0&lt;br&gt;
R2(config-if)#ipv6 ospf 1 area 1&lt;br&gt;
R2(config-if)#int g0/0/1&lt;br&gt;
R2(config-if)#ipv6 ospf 1 area 0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;3- Check if the interface was assigned to the expected area.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SfQxX7LT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6fxg0sn20uv6zelkv84n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SfQxX7LT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6fxg0sn20uv6zelkv84n.png" alt="Image description" width="720" height="112"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think you have grasped the configuration process, so let me share with you the commands to configure the final routers. &lt;strong&gt;Remember to be attentive to the areas that each interface must be added&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Router 3
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;R3(config)#ipv6 unicast-routing&lt;br&gt;
R3(config)#int loop 0&lt;br&gt;
R3(config-if)#ipv6 address 2001:abcd:3::1/64&lt;br&gt;
R3(config-if)#int g0/0/0&lt;br&gt;
R3(config-if)#ipv6 address 2001:2::2/64&lt;br&gt;
R3(config-if)#no shut&lt;br&gt;
R3(config-if)#int g0/0/1&lt;br&gt;
R3(config-if)#ipv6 address 2001:3::1/64&lt;br&gt;
R3(config-if)#no shut &lt;br&gt;
R3(config)#ipv6 router ospf 1&lt;br&gt;
R3(config-rtr)#router-id 3.3.3.3&lt;br&gt;
R3(config-rtr)#int g0/0/0&lt;br&gt;
R3(config-if)#ipv6 ospf 1 area 0&lt;br&gt;
R3(config-if)#int loop 0&lt;br&gt;
R3(config-if)#ipv6 ospf 1 area 2&lt;br&gt;
R3(config-if)#int g0/0/1&lt;br&gt;
R3(config-if)#ipv6 ospf 1 area 2&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Running a troubleshooting command on Router 3 we can see that the configuration is right.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1gXNgHVt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5duegwmvtydajt3nrxnx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1gXNgHVt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5duegwmvtydajt3nrxnx.png" alt="Image description" width="509" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Router 4
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;R4(config)#ipv6 unicast-routing&lt;br&gt;
R4(config)#int loop 0&lt;br&gt;
R4(config-if)#ipv6 address 2001:abcd:4::1/64&lt;br&gt;
R4(config-if)#int g0/0/0&lt;br&gt;
R4(config-if)#ipv6 address 2001:3::2/64&lt;br&gt;
R4(config-if)#no shut&lt;br&gt;
R4(config-if)#exit&lt;br&gt;
R4(config)#ipv6 router ospf 1 &lt;br&gt;
%OSPFv3-4-NORTRID: OSPFv3 process 1 could not pick a router-id,please configure manually&lt;br&gt;
R4(config-rtr)#router-id 4.4.4.4&lt;br&gt;
R4(config-rtr)#int loop 0&lt;br&gt;
R4(config-if)#ipv6 ospf 1 area 2&lt;br&gt;
R4(config-if)#int g0/0/0&lt;br&gt;
R4(config-if)#ipv6 ospf 1 area 2&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cy0yJKoA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zhbxdo3ye6cc6a74nybj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cy0yJKoA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zhbxdo3ye6cc6a74nybj.png" alt="Image description" width="554" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting OSPFv3
&lt;/h2&gt;

&lt;p&gt;When the whole configuration is done, we can run some commands to see if everything is working fine.&lt;/p&gt;

&lt;p&gt;Some useful commands are:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;show ipv6 route&lt;br&gt;
show ipv6 ospf neighbor&lt;br&gt;
show ipv6 ospf&lt;br&gt;
show ipv6 ospf database&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I will run some commands to demonstrate if our network is designed well. The first useful command is &amp;lt;&lt;strong&gt;ping&lt;/strong&gt;&amp;gt;. It is important to verify if one router can ping each other.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IHEHUxnL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a4l920wsqs5oekb8vdt1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IHEHUxnL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a4l920wsqs5oekb8vdt1.png" alt="Image description" width="633" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EDXn4hjD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3f0z1fq1mb99ezeue7zl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EDXn4hjD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3f0z1fq1mb99ezeue7zl.png" alt="Image description" width="619" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Router 1 and Router 4 can ping each other’s loopback interface.&lt;/p&gt;

&lt;p&gt;Now running &lt;strong&gt;&lt;/strong&gt; in Router 2 and Router 3, we can see the neighbor relationships formed, which means, they can exchange routing information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n5UyP_cq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dclui4r22tlwhm4t6qku.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n5UyP_cq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dclui4r22tlwhm4t6qku.png" alt="Image description" width="720" height="117"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r9v6p1It--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ecsqkpx78tdk4izt5d1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r9v6p1It--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ecsqkpx78tdk4izt5d1f.png" alt="Image description" width="720" height="105"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last, I will show you the output of the command &lt;strong&gt;&lt;/strong&gt; in Router 1.&lt;/p&gt;

&lt;p&gt;You can see that R1 learned the routes to R2, R3, and R4 through OSPFv3 and can communicate with all of them. The code of OSPF routes is “O” and “OI”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LBLDtKKa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qrtrnt61okgnip2qeske.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LBLDtKKa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qrtrnt61okgnip2qeske.png" alt="Image description" width="720" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will finish here, but you can run more commands to learn more about the network you worked on.&lt;/p&gt;

&lt;p&gt;Thank you for reading.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cisco Discovery Protocol (CDP)</title>
      <dc:creator>esmeralda</dc:creator>
      <pubDate>Sun, 06 Aug 2023 18:49:56 +0000</pubDate>
      <link>https://dev.to/esmeralda/cisco-discovery-protocol-cdp-hng</link>
      <guid>https://dev.to/esmeralda/cisco-discovery-protocol-cdp-hng</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r6Q1jBAJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jk7rzocosds4f51jx4h1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r6Q1jBAJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jk7rzocosds4f51jx4h1.png" alt="Image description" width="720" height="480"&gt;&lt;/a&gt;&lt;br&gt;
Cisco Discovery Protocol (CDP) is a Cisco proprietary protocol used to discover devices locally attached to the network. CDP is helpful in troubleshooting and mapping the entire network because the administrator can gather information about protocols and hardware of neighboring devices. For example, if it is lacking details in the documentation, running CDP commands will help to understand and create a logical topology.&lt;/p&gt;

&lt;p&gt;It is essential to point out that as CDP is Cisco proprietary, it will only discover other Cisco devices. If we have different vendors' devices in our network we will resort to Link Layer Discovery Protocol (LLDP). LLDP has the same function as CDP. Both protocols run at layer 2 in the OSI model.&lt;/p&gt;

&lt;h2&gt;
  
  
  How CDP works?
&lt;/h2&gt;

&lt;p&gt;Cisco devices send periodically CDP messages out of each of their interfaces to devices connected using multicast frames and share information such as their hostname, device model, IOS version, types of interface, etc.&lt;/p&gt;

&lt;p&gt;The devices that receive CDP messages don’t forward them to other devices. It is dumped. In addition, messages are sent once every 60 seconds by default.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to configure and verify CDP?
&lt;/h2&gt;

&lt;p&gt;In Cisco devices, CDP is enabled by default. It is the administrator’s responsibility and choice to decide whether to disable it globally or in an interface, or to let it be enabled as default.&lt;/p&gt;

&lt;p&gt;For security reasons, it might be a better option not to use CDP as this brings the risk of attackers having valuable information about the network in case they manage to break in. Once again, it is up to the administrator to balance what is best for their system.&lt;/p&gt;

&lt;p&gt;So let’s see some useful commands!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- To check the CDP status run the command &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V6z28mOj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npkdkanvri6sta7n5xx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V6z28mOj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npkdkanvri6sta7n5xx9.png" alt="Image description" width="631" height="145"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2- To enable CDP globally for all interfaces run &lt;code&gt;cdp run&lt;/code&gt; in global configuration mode. On the other hand, to disable it for all interfaces, &lt;code&gt;no cdp run&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Router# configure terminal&lt;br&gt;
Router(config)# no cdp run&lt;br&gt;
Router(config)# exit&lt;br&gt;
Router# show cdp&lt;br&gt;
CDP is not enabled&lt;br&gt;
Router# configure terminal&lt;br&gt;
Router(config)# cdp run&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3- To enable or disable a single interface run &lt;code&gt;no cdp enable&lt;/code&gt; and &lt;code&gt;cdp enable&lt;/code&gt; respectively.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Switch(config)# interface gigabitethernet 0/0/1&lt;br&gt;
Switch(config-if)# cdp enable&lt;br&gt;
Switch(config)# interface gigabitethernet 0/0/2&lt;br&gt;
Switch(config-if)# no cdp enable&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4- In privilege mode, run &lt;code&gt;show cdp neighbors&lt;/code&gt; or &lt;code&gt;sh cdp nei&lt;/code&gt;, as a short version command, to show a list of neighbor devices.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1&amp;gt;en&lt;br&gt;
R1#show cdp neighbors&lt;br&gt;
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge&lt;br&gt;
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone&lt;br&gt;
Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID&lt;br&gt;
S1           Gig 0/0/0        160                    3650        Gig 1/0/1&lt;br&gt;
In this network, there is a switch attached to a router. The router interface (local interface) is Gig 0/0/0 and Port ID (Gig 1/0/1) is the switch interface that is attached to the router.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The command  is also useful if we can telnet another device. By telnetting another device in the network and running this command, we are able to know what devices are connected to that specific device that we telneted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5- If we want to have the IP address of the neighboring device and have more details, we can run &lt;code&gt;show cdp neighbors detail&lt;/code&gt; or just the short command, &lt;code&gt;sh cdp nei d&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1#show cdp neighbors detail&lt;br&gt;
Device ID: S1&lt;br&gt;
Entry address(es): &lt;br&gt;
  IP address : 192.168.1.61&lt;br&gt;
Platform: cisco 3650, Capabilities: &lt;br&gt;
Interface: GigabitEthernet0/0/0, Port ID (outgoing port): GigabitEthernet1/0/1&lt;br&gt;
Holdtime: 138&lt;br&gt;
Version :&lt;br&gt;
Cisco IOS Software [Denali], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.3.2, RELEASE SOFTWARE (fc4)&lt;br&gt;
Technical Support : http://www.cisco.com/techsupport&lt;br&gt;
Copyright(c) 1986 - 2016 by Cisco Systems, Inc.&lt;br&gt;
Compiled Tue 08 - Nov - 16 17:31 by pt_team&lt;br&gt;
Cisco IOS-XE software, Copyright(c) 2005 - 2016 by cisco Systems, Inc.&lt;br&gt;
All rights reserved.Certain components of Cisco IOS - XE software are&lt;br&gt;
licensed under the GNU General Public License("GPL") Version 2.0.The&lt;br&gt;
software code licensed under GPL Version 2.0 is free software that comes&lt;br&gt;
with ABSOLUTELY NO WARRANTY.You can redistribute and / or modify such&lt;br&gt;
GPL code under the terms of GPL Version 2.0.For more details, see the&lt;br&gt;
documentation or "License Notice" file accompanying the IOS - XE software,&lt;br&gt;
or the applicable URL provided on the flyer accompanying the IOS - XE&lt;br&gt;
software.&lt;br&gt;
advertisement version: 2&lt;br&gt;
Duplex: full&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6- To show interfaces that are CDP enabled run &lt;code&gt;show cdp interface&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1#show cdp interface&lt;br&gt;
Vlan1 is administratively down, line protocol is down&lt;br&gt;
  Sending CDP packets every 60 seconds&lt;br&gt;
  Holdtime is 180 seconds&lt;br&gt;
GigabitEthernet0/0/0 is up, line protocol is up&lt;br&gt;
  Sending CDP packets every 60 seconds&lt;br&gt;
  Holdtime is 180 seconds&lt;br&gt;
GigabitEthernet0/0/1 is administratively down, line protocol is down&lt;br&gt;
  Sending CDP packets every 60 seconds&lt;br&gt;
  Holdtime is 180 seconds&lt;br&gt;
Serial0/1/0 is up, line protocol is up&lt;br&gt;
  Sending CDP packets every 60 seconds&lt;br&gt;
  Holdtime is 180 seconds&lt;br&gt;
Serial0/1/1 is administratively down, line protocol is down&lt;br&gt;
  Sending CDP packets every 60 seconds&lt;br&gt;
  Holdtime is 180 seconds&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Configure a DHCPv6 Server on a Cisco Router</title>
      <dc:creator>esmeralda</dc:creator>
      <pubDate>Sun, 06 Aug 2023 18:42:21 +0000</pubDate>
      <link>https://dev.to/esmeralda/how-to-configure-a-dhcpv6-server-on-a-cisco-router-35na</link>
      <guid>https://dev.to/esmeralda/how-to-configure-a-dhcpv6-server-on-a-cisco-router-35na</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y3SlRckQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0kqny33sbmtkcydjvum1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y3SlRckQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0kqny33sbmtkcydjvum1.png" alt="Image description" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello! How are you doing?&lt;/p&gt;

&lt;p&gt;In this post, you will learn how to configure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a stateless DHCPv6 server&lt;/li&gt;
&lt;li&gt;a stateless DHCPv6 client&lt;/li&gt;
&lt;li&gt;a stateful DHCPv6 server&lt;/li&gt;
&lt;li&gt;a stateful DHCPv6 client&lt;/li&gt;
&lt;li&gt;a DHCPv6 relay agent&lt;/li&gt;
&lt;li&gt;and how to verify a DHCPv6 server and relay agent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To better understand this topic, you must have a solid understanding of IPv6, SLAAC (Stateless Address Auto-Configuration), ICMPv6, and what is a stateless and stateful DCHPv6 server.&lt;/p&gt;

&lt;p&gt;In simple words, a stateless DHCPv6 server doesn’t provide IPv6 addresses. It offers only information such as the DNS server list and domain name. Therefore, the server doesn’t keep track of the addresses allocated. On the other hand, a stateful DHCPv6 server provides IPv6 addresses and other information to hosts, which means, the server maintains all the information.&lt;/p&gt;

&lt;p&gt;Taking into consideration that you already have knowledge of ICMPv6 messages, Router Solicitation (RS) and Router Advertisement (RA), I will only share a brief summary of RA flags that are important to remember for these configurations.&lt;/p&gt;

&lt;p&gt;RA messages establish how a client obtains IPv6 addressing information automatically. There are 3 options for assigning addresses:&lt;/p&gt;

&lt;p&gt;1- SLAAC (Only using the RA messages)&lt;/p&gt;

&lt;p&gt;2- Stateless DHCPv6 (RA and DHCPv6 messages)&lt;/p&gt;

&lt;p&gt;3- Stateful DHCPv6 (Only using the DHCPv6 messages)&lt;/p&gt;

&lt;p&gt;RA messages are able to establish how addressing will be assigned by using flags:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A — Autonomous Address Autoconfiguration Flag&lt;/strong&gt;: if it is set to 1, SLAAC is used to auto-generate a Global Unicast Address (GUA). If it is set to 0, auto-configuration is not allowed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;M — Managed Address Configuration Flag&lt;/strong&gt;: if it is set to 1, all information (GUA, a DNS server list, and domain name) will be obtained from a stateful DHCPv6 server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O — Other Configuration Flag&lt;/strong&gt;: if it is set to 1, hosts can obtain a DNS server list and domain name from a stateless DHCPv6 server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is important to remember that the DHCPv6 server will never provide default gateways. The default gateway will be the Link-Local Address (LLA) of the RA.&lt;/p&gt;

&lt;h2&gt;
  
  
  1- How to configure a stateless DHCPv6 server
&lt;/h2&gt;

&lt;p&gt;In a stateless DHCPv6 server, the router will provide SLAAC and DHCPv6 services. SLAAC uses ICMPv6 RA messages to provide addressing and other information to a client, which means, the router will send RAs informing the client of the prefix and prefix length to form the Global Unicast Address (GUA). In addition to that, a stateless DHCPv6 server will only provide some information such as the DNS server list and domain name.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OvwSZqMF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/54b561gystrju917y0tx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OvwSZqMF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/54b561gystrju917y0tx.png" alt="Image description" width="540" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Enable IPv6 routing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#ipv6 unicast-routing&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Define the DHCPv6 pool name.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#ipv6 dhcp pool STATELESS-POOL&lt;br&gt;
R1(config-dhcpv6)#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It helps when troubleshooting to put the pool name in upper case. Also, as you can see above, when entering the command we will enter in the subconfig mode of the dhcpv6 pool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Configure the DHCPv6 pool&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;&lt;br&gt;
R1(config-dhcpv6)#dns-server 2001:ab7:abcd:1::254 &lt;br&gt;
R1(config-dhcpv6)#domain-name example.com&lt;br&gt;
R1(config-dhcpv6)#exit&lt;br&gt;
R1(config)#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This information is entered to provide additional information to the future client.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Add the DHCPv6 pool to an interface&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#int g0/0/0&lt;br&gt;
R1(config-if)#ipv6 address fe80::1 link-local&lt;br&gt;
R1(config-if)#ipv6 address 2001:ab7:abcd:1::1/64&lt;br&gt;
R1(config-if)#ipv6 nd other-config-flag&lt;br&gt;
R1(config-if)#ipv6 dhcp server STATELESS-POOL&lt;br&gt;
R1(config-if)#no shut&lt;br&gt;
R1(config-if)#end&lt;br&gt;
R1#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The DHCPv6 pool must be added to the interface using the command &amp;lt; ipv6 dhcp server pool-name&amp;gt;.&lt;/p&gt;

&lt;p&gt;The O flag needs to be manually changed to 1 and we do it by running the command . The A flag is by default 1, meaning that clients have to use SLAAC to create their own GUA.&lt;/p&gt;

&lt;p&gt;Moreover, the RA messages indicate that additional information will be available in a stateless DHCPv6 server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Verify if hosts are receiving IPv6 addressing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here we can see that the PC (host) is receiving IPv6 addressing and default gateway information. Also, the DNS server information came from the stateless DHCPv6 server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TjJntraH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9qvev5wuijywuk7fj4nr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TjJntraH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9qvev5wuijywuk7fj4nr.png" alt="Image description" width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Verify the interface&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When we run the command  we can see the interface is creating its own GUA because the A flag is set to 1, which means, it is using SLAAC. In addition, as the O flag is set to 1, the interface will use stateless DHCP to obtain other information such as the DNS server.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1#show ipv6 int gigabitEthernet 0/0/0&lt;br&gt;
GigabitEthernet0/0/0 is up, line protocol is up&lt;br&gt;
  IPv6 is enabled, link-local address is FE80::1&lt;br&gt;
  No Virtual link-local address(es):&lt;br&gt;
  Global unicast address(es):&lt;br&gt;
    2001:AB7:ABCD:1::1, subnet is 2001:AB7:ABCD:1::/64&lt;br&gt;
  Joined group address(es):&lt;br&gt;
    FF02::1&lt;br&gt;
    FF02::2&lt;br&gt;
    FF02::1:2&lt;br&gt;
    FF02::1:FF00:1&lt;br&gt;
  MTU is 1500 bytes&lt;br&gt;
  ICMP error messages limited to one every 100 milliseconds&lt;br&gt;
  ICMP redirects are enabled&lt;br&gt;
  ICMP unreachables are sent&lt;br&gt;
  ND DAD is enabled, number of DAD attempts: 1&lt;br&gt;
  ND reachable time is 30000 milliseconds&lt;br&gt;
  ND advertised reachable time is 0 (unspecified)&lt;br&gt;
  ND advertised retransmit interval is 0 (unspecified)&lt;br&gt;
  ND router advertisements are sent every 200 seconds&lt;br&gt;
  ND router advertisements live for 1800 seconds&lt;br&gt;
  ND advertised default router preference is Medium&lt;br&gt;
  Hosts use stateless autoconfig for addresses.&lt;br&gt;
  Hosts use DHCP to obtain other configuration.&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2- How to configure a stateless DHCPv6 client
&lt;/h2&gt;

&lt;p&gt;A router can also be a DHCPv6 client and obtain an IPv6 configuration from a DHCPv6 server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Enable IPv6 routing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R2(config)#ipv6 unicast-routing&lt;br&gt;
R2(config)#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Configure the client router to use SLAAC&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The command  allows automatic configuration of IPv6 address using SLAAC.&lt;br&gt;
&lt;code&gt;&lt;br&gt;
R2(config)#int g0/0/0&lt;br&gt;
R2(config-if)#ipv6 address autoconfig&lt;br&gt;
R2(config-if)#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Verify if the client router was assigned a GUA.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We can run the command  to verify the host configuration.&lt;/p&gt;

&lt;p&gt;We can see that the interface g0/0/0 was assigned a valid GUA.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p2KB5AYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l5a4jrcqs5stae9gxi21.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p2KB5AYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l5a4jrcqs5stae9gxi21.png" alt="Image description" width="720" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Verify if the client router received other DHCPv6 information&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Running the command show ipv6 dhcp interface g0/0/0 shows us that DNS and the domain name were learned. However, in packet tracer, this command is not supported.&lt;/p&gt;

&lt;h2&gt;
  
  
  3- How to configure a stateful DHCPv6 server
&lt;/h2&gt;

&lt;p&gt;Configuring a stateful DHCPv6 server is similar to configuring a stateless server. The only difference is that a stateful server will provide IPv6 addresses, track the pool availability and each assignment as well as resolve duplicated addresses.&lt;/p&gt;

&lt;p&gt;A stateful server behaves like DHCPv4, even though there are some major differences. For instance, in DHCPv6, the default gateway is provided by the routers that send Router Advertisements whereas in DHCPv4 the server is the one providing that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o1cZPPxo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cywf9j9sgmbh14sqt236.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o1cZPPxo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cywf9j9sgmbh14sqt236.png" alt="Image description" width="600" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Enable IPv6 routing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#ipv6 unicast-routing &lt;br&gt;
R1(config)#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Define a DHCPv6 pool name&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The command to do this is . We run it in global config mode.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#ipv6 dhcp pool STATEFUL-POOL&lt;br&gt;
R1(config-dhcpv6)#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;**&lt;br&gt;
Step 3: Configure the DHCPv6 pool**&lt;/p&gt;

&lt;p&gt;After we create a pool name, we go to the DHCPv6 config mode. In this example, R1 is responsible for providing IPv6 addresses, the DNS server, and domain name information. Furthermore, we run the command &lt;/p&gt; to indicate the prefix of addresses to be allocated by the server. Therefore, we have to enter this information.

&lt;p&gt;In this example, I am using the Google Public DNS IPv6 address.&lt;br&gt;
&lt;code&gt;&lt;br&gt;
R1(config-dhcpv6)#address prefix 2001:ab7:abcd:1::/64&lt;br&gt;
R1(config-dhcpv6)#dns-server 2001:4860:4860::8888&lt;br&gt;
R1(config-dhcpv6)#domain-name example.com&lt;br&gt;
R1(config-dhcpv6)#&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Add the DHCPv6 pool to an interface&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this part of the process, we add the DHCPv6 pool to the interface so that the router can answer DHCPv6 solicitations with the information from its pool. The command is .&lt;/p&gt;

&lt;p&gt;We also need to set the M flag (Managed Address Configuration) to 1 to tell the client to use a stateful server to create its Global Unicast Address. The command is . And if we want to set it back to the default value of 0, we run .&lt;/p&gt;

&lt;p&gt;Besides that, we change manually the A flag to 0. By default, the value is 1. In case we have the default value as 1, that tells the operating system such as Windows, to create a GUA using SLAAC and another one from the DHCPv6. Having more than one IPv6 address is not something desirable, therefore, to inform the client to not use SLAAC we run  (be aware! packet tracer might not run this command).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R1(config)#int g0/0/0&lt;br&gt;
R1(config-if)#ipv6 address 2001:ab7:abcd:1::1/64&lt;br&gt;
R1(config-if)#ipv6 address fe80::1 link-local&lt;br&gt;
R1(config-if)#ipv6 nd managed-config-flag&lt;br&gt;
R1(config-if)#ipv6 nd prefix 2001:ab7:abcd:1::/64 no-autoconfig&lt;br&gt;
R1(config-if)#ipv6 dhcp server STATEFUL-POOL&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Verify if it is working&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Running  in the router and  in the PC, we can see the IPv6 address was allocated to the PC and it is working well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9HtLC9FT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cwd400s24hp0xdd9y5b3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9HtLC9FT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cwd400s24hp0xdd9y5b3.png" alt="Image description" width="720" height="112"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9cfEFwY5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kt8qq3jr6dnqght290w5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9cfEFwY5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kt8qq3jr6dnqght290w5.png" alt="Image description" width="720" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4- How to configure a stateful DHCPv6 client
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OtsN8TgP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pim4syxya1kmri072r2v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OtsN8TgP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pim4syxya1kmri072r2v.png" alt="Image description" width="642" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A router can also be a DHCPv6 client and that is what we will see how to configure now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Enable IPv6 routing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R2(config)#ipv6 unicast-routing&lt;br&gt;
R2(config)#&lt;/code&gt;&lt;br&gt;
**&lt;br&gt;
Step 2: Configure the client router to create an LLA**&lt;/p&gt;

&lt;p&gt;We run the command  in the interface to create an LLA without a GUA.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R2(config)#int g0/0/0&lt;br&gt;
R2(config-if)#ipv6 enable&lt;br&gt;
R2(config-if)#&lt;/code&gt;&lt;br&gt;
**&lt;br&gt;
Step 3: Configure the router to use DHCPv6**&lt;/p&gt;

&lt;p&gt;The command  will enable R2 to solicit an IPv6 address from a DHCPv6 server.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R2(config-if)#ipv6 address dhcp&lt;/code&gt;&lt;br&gt;
**&lt;br&gt;
Step 4: Verify if the client router is allocated with a GUA.**&lt;/p&gt;

&lt;p&gt;The command  allows us to see the host configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t8uLW1TW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yj8roy2gon8kd5kswvdj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t8uLW1TW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yj8roy2gon8kd5kswvdj.png" alt="Image description" width="720" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Verify if the router received other DHCPv6 information (DNS and domain name).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The command  shows us the domain name and DNS server. However, in packet tracer this command is not supported.&lt;/p&gt;

&lt;h2&gt;
  
  
  5- How to verify a DHCPv6 server
&lt;/h2&gt;

&lt;p&gt;To verify a DHCPv6 server we can run the commands  and &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7m1vnARm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8s66pn02n42qvfo6er8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7m1vnARm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x8s66pn02n42qvfo6er8.png" alt="Image description" width="642" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using the example of our stateful server and client configured, we will see the following results.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F20QMEKa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ca6agkr8t35qn8ht9o4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F20QMEKa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ca6agkr8t35qn8ht9o4.png" alt="Image description" width="720" height="95"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With  we are able to see the active clients. In our example, the 2 clients are the PC and Router 2. Both are receiving a global unicast address from the stateful IPv6 server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BAUSrjyR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c3wekoucfkevkvo96r48.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BAUSrjyR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c3wekoucfkevkvo96r48.png" alt="Image description" width="720" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the  we can verify the link-local IPv6 address and global unicast address allocated by the server. The first client is the PC and the second is R2.&lt;/p&gt;

&lt;p&gt;All this information is kept because it is a stateful server.&lt;/p&gt;

&lt;h2&gt;
  
  
  6- How to configure a relay agent
&lt;/h2&gt;

&lt;p&gt;If a DHCPv6 server is in a different subnet of the client, the IPv6 router can be configured as a DHCPv6 relay agent.&lt;/p&gt;

&lt;p&gt;A relay agent creates a RELAY-FORWARD message. This is sent from the client to the server and contains the original DHCPv6 message.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yJ0MyNuw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sr0r7u4xv51jkbknpvuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yJ0MyNuw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sr0r7u4xv51jkbknpvuf.png" alt="Image description" width="602" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this example, we have a stateful DHCPv6 server in R1 and a PC in the subnet 2001:ab7:abcd:2::/64. The PC wants to obtain an IPv6 address from the server. Thus, R2 will act as a relay agent.&lt;/p&gt;

&lt;p&gt;To configure a relay agent we need to run the command . To be more precise, we need to run this command on the egress interface, that is, the interface that is facing the clients requesting IPv6 addresses. Also, we only specify the [interface-type] if link-local unicast is used, if we define the Global Unicast Address, we don’t need to specify the [interface type]. On top of that, we specify the IPv6 server address in the destination part of the command.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;R2(config)#int g0/0/1&lt;br&gt;
R2(config-if)#ipv6 nd managed-config-flag&lt;br&gt;
R2(config-if)#ipv6 dhcp relay destination 2001:ab7:abcd:1::2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In packet tracer, we are not able to run this command, so you might face issues with that.&lt;/p&gt;

&lt;h2&gt;
  
  
  7- How to verify if the relay agent is working
&lt;/h2&gt;

&lt;p&gt;To verify if the relay agent is correctly configured, you can run the following commands:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;show ipv6 dhcp interface&lt;/code&gt;: this will show if the interface is configured in relay mode.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;show ipv6 dhcp binding&lt;/code&gt;: this shows if any host received a IPv6 address configuration.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ipconfig /all&lt;/code&gt;: in a Windows host you can run this command to confirm if the IPv6 address was allocated.&lt;/p&gt;

&lt;p&gt;Unfortunately, the packet tracer didn’t run the relay agent configuration, so I am not able to show here the output.&lt;/p&gt;

&lt;p&gt;That was a long post, thank you for reading.&lt;/p&gt;

</description>
      <category>cisco</category>
      <category>ccna</category>
      <category>network</category>
    </item>
    <item>
      <title>Dynamic Trunking Protocol (DTP)</title>
      <dc:creator>esmeralda</dc:creator>
      <pubDate>Sat, 08 Jul 2023 19:08:10 +0000</pubDate>
      <link>https://dev.to/esmeralda/dynamic-trunking-protocol-dtp-5146</link>
      <guid>https://dev.to/esmeralda/dynamic-trunking-protocol-dtp-5146</guid>
      <description>&lt;p&gt;DTP, Dynamic Trunking Protocol, is a Cisco proprietary protocol, therefore, other vendors do not support it. DTP simplifies the configuration of VLANs on a network because it allows switches to automatically negotiate the formation of a trunk without requiring manual configuration. However, it is considered best practice to disable DTP and use manual configuration.&lt;/p&gt;

&lt;p&gt;Many Cisco switches, such as Catalyst 2960 and Catalyst 3650 Series, have DTP enabled by default, with their interfaces on dynamic auto mode. Though, it is important to highlight that as DTP is supported only by Cisco, we need to turn it off when connected to interfaces of other vendors' devices to avoid misconfiguration and problems on the network.&lt;/p&gt;

&lt;p&gt;If we want to enable trunking with a device that doesn't support DTP, we can run the following commands to have a trunking interface that doesn't generate DTP frames:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;S1(config-if)# switchport mode trunk&lt;br&gt;
S1(config-if)# switchport nonegotiate&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Interface Modes
&lt;/h2&gt;

&lt;p&gt;There are 4 options when configuring a switch interface:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Access:&lt;/strong&gt; the interface is put into permanent non-trunking mode. The neighboring interface will not affect its mode. It will always be non-trunking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic auto:&lt;/strong&gt; the interface is able to become a trunk link. The interface will convert to a trunk link if the neighboring interface is on the trunk or desirable mode. However, if both interfaces are on dynamic auto, the trunk is not able to be created. In summary, auto doesn't initiate but will form trunking if the other side initiates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic desirable:&lt;/strong&gt; the interface will actively attempt to convert the link into a trunk one. Also, it will be a trunk if the neighboring interface is set to trunk, desirable or auto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trunk:&lt;/strong&gt; the interface is permanently in trunking mode and negotiates to convert the neighboring interface into a trunk link. In fact, the neighboring interface doesn't affect its trunk mode.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In order to visualize this negotiation, check the picture below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sj6J578k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yg3mc7u7zq8ants8eiom.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sj6J578k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yg3mc7u7zq8ants8eiom.png" alt="Image description" width="402" height="230"&gt;&lt;/a&gt;&lt;br&gt;
Source: &lt;a href="https://networkjutsu.com/dynamic-trunking-protocol/"&gt;https://networkjutsu.com/dynamic-trunking-protocol/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If 2 switches are configured for dynamic desirable, a trunk will be formed between the 2 switches.&lt;/li&gt;
&lt;li&gt;If one side is set up with dynamic desirable and the other with dynamic auto, trunking will be formed.&lt;/li&gt;
&lt;li&gt;If both sides are in dynamic auto neither side initiates the trunking, so the port becomes an access port. Nevertheless, it is better practice to configure manually both sides for trunking or as access ports.&lt;/li&gt;
&lt;li&gt;If one port is configured as access and the other as a trunk, issues must arise. Therefore, both must be configured either as an access or as a trunk or use DTP. Yet the recommendation is to turn off DTP and manually configure both sides.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The commands used to configure a switch into the aforementioned modes are:&lt;br&gt;
&lt;code&gt;Switch(config)# switchport mode access&lt;br&gt;
Switch(config)# switchport mode dynamic auto&lt;br&gt;
Switch(config)# switchport mode dynamic desirable&lt;br&gt;
Switch(config)# switchport mode trunk&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In case we need an interface to stop generating DTP frames/DTP negotiation, we can run the  command. &lt;strong&gt;This command is only used with access and trunk ports.&lt;/strong&gt; On the other side, we must configure the neighboring interface manually as a trunk interface to establish a trunk link.&lt;br&gt;
&lt;code&gt;S1(config-if)# switchport nonegotiate&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Useful Commands
&lt;/h2&gt;

&lt;p&gt;1- &lt;strong&gt;To check the DTP settings&lt;/strong&gt; of a specific interface we can run the command below. In the example, we would like to verify interface g0/0.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;S1#show dtp interface g0/0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Output:&lt;br&gt;
S1# show dtp interface g0/0&lt;br&gt;
DTP information for GigabitEthernet0/0:&lt;br&gt;
TOS/TAS/TNS: ACCESS/AUTO/ACCESS&lt;br&gt;
TOT/TAT/TNT: NATIVE/NEGOTIATE/NATIVE&lt;br&gt;
Neighbor address 1: C80084AEF101&lt;br&gt;
Neighbor address 2: 000000000000&lt;br&gt;
Hello timer expiration (sec/state): 11/RUNNING&lt;br&gt;
Access timer expiration (sec/state): never/STOPPED&lt;br&gt;
Negotiation timer expiration (sec/state): never/STOPPED&lt;br&gt;
Multidrop timer expiration (sec/state): never/STOPPED&lt;br&gt;
FSM state: S2:ACCESS&lt;br&gt;
times multi &amp;amp; trunk 0&lt;br&gt;
Enabled: yes&lt;br&gt;
In STP: no&lt;/p&gt;

&lt;p&gt;2- &lt;strong&gt;For more details about an interface&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;S1#show interface g0/1 switchport&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OIYhsMGT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0j8m1bq87gghyy7mgy90.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OIYhsMGT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0j8m1bq87gghyy7mgy90.png" alt="Image description" width="718" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Administrative Mode&lt;/strong&gt; indicates what is actually configured on that particular port.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operational Mode&lt;/strong&gt; is the actual status and the way the port behaves in response to the configuration and negotiation (if any) with the other side of the link.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3- &lt;strong&gt;To show what interfaces are on trunking mode&lt;/strong&gt;, both commands run the same result:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;S1#show interfaces trunk &lt;br&gt;
S1#show int trunk&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CLLoTLO9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hrvxgkl7vm3kn590r3t8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CLLoTLO9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hrvxgkl7vm3kn590r3t8.png" alt="Image description" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

</description>
      <category>cisco</category>
      <category>ccna</category>
      <category>computernetworking</category>
      <category>systemadministrator</category>
    </item>
  </channel>
</rss>
