<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    
    <title>Commit Confirm</title>
    <description>Technical documentation blog by Jimmy Taylor</description>
    <link>https://commitconfirm.com/</link>
    
    <language>en</language>
    <copyright>Copyright 2026, Calvin Tran</copyright>
    <lastBuildDate>Tue, 15 Apr 2025 00:00:00 +0000</lastBuildDate>
    <generator>Hugo - gohugo.io</generator>
    <docs>http://cyber.harvard.edu/rss/rss.html</docs>
    <atom:link href="https://commitconfirm.com//atom.xml" rel="self" type="application/atom+xml"/>
    
    
    <item>
      <title>Juniper Champions Summit Test Post</title>
      <link>https://commitconfirm.com/posts/test-post/</link>
      <description>&lt;p&gt;This is a test post. I need a test post, so this is what I&amp;rsquo;m writing.&lt;/p&gt;
&lt;p&gt;I have no idea why I look bad in this photo. Probably because I asked a random stranger to take the photo.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://commitconfirm.com/posts/test-post/juniperChampionsTestPost.jpeg&#34;&gt;
&lt;img
  src=&#39;https://commitconfirm.com/posts/test-post/juniperChampionsTestPost.jpeg&#39;
  alt=&#34;Test post&#34;
  loading=&#34;lazy&#34;
  decoding=&#34;async&#34;
  class=&#34;full-width&#34;
/&gt;
&lt;/a&gt;

&lt;/p&gt;
&lt;p&gt;Glad to finally get this domain and running.&lt;/p&gt;
</description>
      <author>Jimmy Taylor</author>
      <guid>https://commitconfirm.com/posts/test-post/</guid>
      <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
    </item>
    
    <item>
      <title>Juniper Mist Dot1x User Authentication Issue</title>
      <link>https://commitconfirm.com/posts/dot1x-juniper-ise-issue/</link>
      <description>&lt;p&gt;It was a December holiday break, and I was working away, preparing for a coming project, but something stirred in the air; something was wrong.&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/lotrBeaconsLit.gif&#34; alt=&#34;lotrBeaconsLit.gif&#34; style=&#34;width:70%;&#34; /&gt;
    
      &lt;figcaption&gt;&lt;span style=&#34;font-size: .80em;font-style: italic;&#34;&gt;The beacons are lit!&lt;/span&gt;&lt;/figcaption&gt;
    
&lt;/figure&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250319_1332.48.gif&#34; alt=&#34;We need help with Juniper switching&#34; style=&#34;width:70%;&#34; /&gt;
    
      &lt;figcaption&gt;&lt;span style=&#34;font-size: .80em;font-style: italic;&#34;&gt;$customer calls for aid!&lt;/span&gt;&lt;/figcaption&gt;
    
&lt;/figure&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250319_1336.47.gif&#34; alt=&#34;Jimmy will answer&#34; style=&#34;width:70%;&#34; /&gt;
    
      &lt;figcaption&gt;&lt;span style=&#34;font-size: .80em;font-style: italic;&#34;&gt;And Jimmy will answer.&lt;/span&gt;&lt;/figcaption&gt;
    
&lt;/figure&gt;
&lt;p&gt;It appears that $customer is having a problem with &lt;em&gt;dot1x-hotdesking&lt;/em&gt; (same device, multiple users) on Juniper switching with &lt;em&gt;new&lt;/em&gt; users. Cisco switching is working fine, but something is up on the Juniper side. If a user&amp;rsquo;s profile has been provisioned already, it works fine; AD-joined Windows devices are working fine as well.&lt;/p&gt;
&lt;p&gt;The cause and solution to this dot1x-hotdesking issue were both fascinating to discover, and the research that I had to perform for this problem really helped me understand what the heck is going on between network switch supplicants, authenticators, and network access control systems. Below is a compilation of my research and what I figured out.&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/benderGetToThePoint.gif&#34; alt=&#34;Bender yelling shut up and get to the point&#34; style=&#34;width:70%;&#34; /&gt;
    
&lt;/figure&gt;
&lt;div class=&#34;toc&#34;&gt;
    &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#tldr&#34;&gt;tl;dr&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#problem&#34;&gt;Problem&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#normal-8021x-authentication&#34;&gt;Normal 802.1x Authentication&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#8021x---user-cert-missing&#34;&gt;802.1x - User Cert Missing&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#solution&#34;&gt;Solution&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#juniper-mist-switch-configuration&#34;&gt;Juniper Mist Switch Configuration&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#nac-configuration&#34;&gt;NAC Configuration&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#in-the-weeds&#34;&gt;In the Weeds&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#breakdown-of-the-problem-and-how-windows-8021x-works&#34;&gt;Breakdown of the Problem and How Windows 802.1x Works&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#example-user-certificate-missing-authentication-rejected&#34;&gt;Example: User Certificate Missing, Authentication Rejected&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#switch-configurations&#34;&gt;Switch Configurations&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#cisco-ios-config&#34;&gt;Cisco IOS Config&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#juniper-configuration&#34;&gt;Juniper Configuration&lt;/a&gt;
              &lt;ul&gt;
                &lt;li&gt;&lt;a href=&#34;#juniper-mist&#34;&gt;Juniper Mist&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href=&#34;#junos-cli&#34;&gt;Junos CLI&lt;/a&gt;&lt;/li&gt;
              &lt;/ul&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#how-does-it-work-successful-machine-to-user-authentication&#34;&gt;How does it work? Successful Machine-to-User Authentication&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#nac-mab-group&#34;&gt;NAC MAB Group&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#final-thoughts-on-process&#34;&gt;Final Thoughts on Process&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#simplicity-vs-complexity&#34;&gt;Simplicity vs. Complexity&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#improving-network-security-of-mab-solution&#34;&gt;Improving Network Security of MAB Solution&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#bonus-information&#34;&gt;Bonus Information&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#windows-details&#34;&gt;Windows Details&lt;/a&gt;
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&#34;#windows-event-viewer-ids-in-the-wired-autoconfig-log&#34;&gt;Windows Event Viewer IDs in the Wired-AutoConfig Log&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&#34;#event-id-reference-table&#34;&gt;Event ID Reference Table&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#windows-juniper-ex-ise-authentication-process&#34;&gt;Windows-Juniper EX-ISE Authentication Process&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#links-for-further-reading&#34;&gt;Links for Further Reading&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;h1 id=&#34;tldr&#34;&gt;tl;dr&lt;/h1&gt;
&lt;h2 id=&#34;problem&#34;&gt;Problem&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Network connectivity fails for new Windows users in hot-desking scenarios (multiple users sharing same system) due to dot1x authentication failure.&lt;/li&gt;
&lt;li&gt;User profile is missing certificate from internal PKI due to network disconnecting after authentication, and therefore fails dot1x authentication.&lt;/li&gt;
&lt;li&gt;Machine and user certificate authentication, on their own, are working normally.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Below is a brief demonstration of normal authentication and the problem this customer had on Juniper switches.&lt;/p&gt;
&lt;h3 id=&#34;normal-8021x-authentication&#34;&gt;Normal 802.1x Authentication&lt;/h3&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/dot1x_general_normal_cx.png&#34; alt=&#34;Normal dot1x for user authentication&#34; style=&#34;width:100%;&#34; /&gt;
    
      &lt;figcaption&gt;&lt;span style=&#34;font-size: .80em;font-style: italic;&#34;&gt;Right-click and open image in new tab for full size&lt;/span&gt;&lt;/figcaption&gt;
    
&lt;/figure&gt;
&lt;h3 id=&#34;8021x---user-cert-missing&#34;&gt;802.1x - User Cert Missing&lt;/h3&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/dot1x_general_user-cert-missing.png&#34; alt=&#34;User certificate missing in dot1x&#34; style=&#34;width:100%;&#34; /&gt;
    
      &lt;figcaption&gt;&lt;span style=&#34;font-size: .80em;font-style: italic;&#34;&gt;Right-click and open image in new tab for full size&lt;/span&gt;&lt;/figcaption&gt;
    
&lt;/figure&gt;
&lt;h2 id=&#34;solution&#34;&gt;Solution&lt;/h2&gt;
&lt;p&gt;There are actually a few different solutions to this problem, and some of those are in the links at the bottom.&lt;/p&gt;
&lt;p&gt;This particular solution works by adjusting switch port dot1x timers to fail quickly and move on to MAC authentication. This works by leveraging the machine&amp;rsquo;s previous successful authentication and registration within the NAC (within an endpoint identity group in ISE, for this case), which authorizes the port before the Windows timer resets and tries dot1x authentication again.&lt;/p&gt;
&lt;p&gt;Below are the configurations for this.&lt;/p&gt;
&lt;h3 id=&#34;juniper-mist-switch-configuration&#34;&gt;Juniper Mist Switch Configuration&lt;/h3&gt;
&lt;p&gt;Juniper switch needs the following dot1x configurations.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Allow multiple supplicants&lt;/li&gt;
&lt;li&gt;MAC authentication&lt;/li&gt;
&lt;li&gt;Adjust RADIUS timers and retries to fail to MAC authentication before 60 seconds.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In Juniper Mist:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Port profile, enable the following:
&lt;ul&gt;
&lt;li&gt;✅ Allow multiple supplicants&lt;/li&gt;
&lt;li&gt;✅ Mac authentication&lt;/li&gt;
&lt;li&gt;✅ Port Network (Untagged/Native VLAN) needs to be a network that the user&amp;rsquo;s account can communicate with PKI and obtain a certificate (or you receive a dynamic VLAN from the NAC that accomplishes the same thing)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/juniperMist_portProfile_20250406.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;RADIUS server profile:
&lt;ul&gt;
&lt;li&gt;✅ Enhanced Timers&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/juniperMist_radius_enhancedTimers.png&#34; alt=&#34;Juniper Mist RADIUS server enhanced timers&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
&lt;p&gt;The end effect here is that you are causing the dot1x process on the Juniper switch port to fail quickly and move to MAC authentication.&lt;/p&gt;
&lt;h3 id=&#34;nac-configuration&#34;&gt;NAC Configuration&lt;/h3&gt;
&lt;p&gt;In addition, the NAC solution needs to be configured to allow the MAC address of the endpoint device to authenticate on the port, optionally also sending a tunnel-group-id/VLAN that is within a network that allows the user&amp;rsquo;s account to communicate with the PKI in order to obtain a user certificate.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s it.&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_1517.55%202.png&#34; alt=&#34;GET IN LOSER - WE&amp;#39;RE GETTING NERDY&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
&lt;h1 id=&#34;in-the-weeds&#34;&gt;In the Weeds&lt;/h1&gt;
&lt;p&gt;Alright nerds and AI bots, it&amp;rsquo;s our time. Here&amp;rsquo;s the basic structure of how I put this together.&lt;/p&gt;
&lt;p&gt;First off, let me remind you that this is just one solution of many for the Windows dot1x-hotdesking issue, but going through this problem and solution really helps understand the process that happens all the time across vendors.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s how this is broken down:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Discuss the whole hotdesking problem and briefly show how dot1x works on Windows devices. Or link to someone who already has.&lt;/li&gt;
&lt;li&gt;Go through a sequence diagram of the problem itself, explaining where the missing user certificate appears during the process and how all the components in the system are part of the process.&lt;/li&gt;
&lt;li&gt;Go through the switch configurations for both Cisco and Juniper, because it worked on Cisco, so why not Juniper?&lt;/li&gt;
&lt;li&gt;Another sequence diagram, but this one explaining and showing how &lt;em&gt;successful&lt;/em&gt; machine-to-user-login dot1x authentication works.&lt;/li&gt;
&lt;li&gt;Explain how the network access control (NAC) server (ISE, in this case) acts as part of the whole process, and how group membership works with MAB to assist the Windows machine in getting a server.&lt;/li&gt;
&lt;li&gt;Give my final thoughts on how to improve the security posture, but at the cost of adding more complexity.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;breakdown-of-the-problem-and-how-windows-8021x-works&#34;&gt;Breakdown of the Problem and How Windows 802.1x Works&lt;/h2&gt;
&lt;p&gt;The essential problem of 802.1x authentication in hot desk scenarios on Windows machines is that typically the user profile hasn&amp;rsquo;t been provisioned, let alone the profile provisioned/enrolled with a user certificate.&lt;/p&gt;
&lt;p&gt;To see why, we need to see how the process works. Here&amp;rsquo;s a high-level diagram explaining the process by Jacob Fredriksson. &lt;a href=&#34;https://www.wiresandwi.fi/blog/windows-network-authentication-sequence&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Fredriksson breaks it down in detail on their website
&lt;/a&gt; .&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/windowsNetworkAuthBreakdown.png&#34; alt=&#34;Diagram of Windows Network Authentication&#34; style=&#34;width:100%;&#34; /&gt;
    
      &lt;figcaption&gt;&lt;span style=&#34;font-size: .80em;font-style: italic;&#34;&gt;Right-click and open image in new tab for full size&lt;/span&gt;&lt;/figcaption&gt;
    
&lt;/figure&gt;
&lt;p&gt;As they explain, the user certificate enrollment process begins &lt;em&gt;after&lt;/em&gt; a user logs-in for the first time on a machine, which results in an authentication failure because the supplicant has no certificate to send to the NAC, so it sends a null/blank certificate, and of course the NAC will reject the authentication attempt.&lt;/p&gt;
&lt;h2 id=&#34;example-user-certificate-missing-authentication-rejected&#34;&gt;Example: User Certificate Missing, Authentication Rejected&lt;/h2&gt;

            &lt;link rel=&#34;stylesheet&#34; href=&#34;https://commitconfirm.com/css/vendors/admonitions.a5128328e65b14e9af1bfc5d96ffbcc40978b6d81dbeecb7f70959b501ee715c.css&#34; integrity=&#34;sha256-pRKDKOZbFOmvG/xdlv&amp;#43;8xAl4ttgdvuy39wlZtQHucVw=&#34; crossorigin=&#34;anonymous&#34;&gt;
    &lt;div class=&#34;admonition note&#34;&gt;
      &lt;div class=&#34;admonition-header&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 576 512&#34;&gt;&lt;path d=&#34;M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z&#34;/&gt;&lt;/svg&gt;
        &lt;span&gt;Note&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;admonition-content&#34;&gt;
        &lt;p&gt;For all images below, image sizes have been reduced for appearance. Right-click on images and open in new tab for full size.&lt;/p&gt;
&lt;p&gt;Yes, I haven&amp;rsquo;t configured any CSS-javascript magic to do it for you when you click on it.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;p&gt;Below is an example of this failure scenario that encountered with the following setup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 11 Desktop&lt;/li&gt;
&lt;li&gt;Juniper EX 4100 Switch&lt;/li&gt;
&lt;li&gt;Cisco ISE 3.1&amp;hellip; 0. We assume machine authentication has succeeded (see above) and/or machine network connectivity is functioning normally.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;A new user to the machine logs into Windows device and begins user authentication processes.&lt;/li&gt;
&lt;li&gt;Wired-AutoConfig restarts the authentication process and ends the EAP session due to the user logging into the device.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userCertMissing01.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;The NDIS authorization state changes from &amp;lsquo;Authorized&amp;rsquo; to &amp;lsquo;Unauthorized&amp;rsquo;.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userCertMissing02.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Wired-AutoConfig starts, but because the user does not have a client certificate yet, the Wired-AutoConfig service sends a null/blank certificate list to the NAC.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userCertMissing03.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Switch forwards the EAP authentication message to the NAC.&lt;/li&gt;
&lt;li&gt;NAC immediately denies the authentication session due to a blank certificate and sends an &amp;lsquo;Access-Reject&amp;rsquo; to the switch because of blank certificate.&lt;/li&gt;
&lt;li&gt;Switch receives &amp;lsquo;Access-Reject&amp;rsquo; and puts port in unauthorized state, forwarding response to machine.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userCertMissing04.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Wired-AutoConfig receives EAP failure and immediately suspends any authentication services for 60 seconds.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userCertMissing05.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Wired-AutoConfig goes to unresponsive state due to timeout. Switch has failure of response from device and waits 30 seconds (by default) before trying again.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userCertMissing06.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Before switch can retry authentication, the Wired-AutoConfig service timeout expires and Wired-AutoConfig tries authentication again with blank certificate.&lt;/li&gt;
&lt;li&gt;Steps 5-8 is performed again, and Wired-AutoConfig service re-enters 60 timeout. Steps 9-10 are then performed again, and entire process repeats itself indefinitely until user logs out or receives a certificate.&lt;br&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userCertMissing07.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Full version of this here:
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/dot1x_detailed_user-cert-missing.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/p&gt;
&lt;h2 id=&#34;switch-configurations&#34;&gt;Switch Configurations&lt;/h2&gt;
&lt;p&gt;The customer notified me that dot1x authentication was working on Cisco switches when users had not yet logged onto the machine. Of course that seems crazy to me because the process is the same on Windows or Juniper, so what&amp;rsquo;s different?&lt;/p&gt;
&lt;h3 id=&#34;cisco-ios-config&#34;&gt;Cisco IOS Config&lt;/h3&gt;
&lt;p&gt;On the Cisco switch side of things, these are the crucial configurations that made authentication work.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-Cisco-IOS&#34; data-lang=&#34;Cisco-IOS&#34;&gt;interface GigabitEthernet0/0/1

 ! This line tells the switch to try the next auth method,
 ! MAB in this case, if the first one fails
 authentication event fail action next-method
 
 ! Allows multiple supplicants to auth from the same port
 authentication host-mode multi-auth
 
 ! This sets the authentication order, and is crucial in
 ! for this hot desk scenario
 authentication order dot1x mab
 
 ! This allows the user certificate auth to override the MAB
 ! auth once authentication happens
 authentication priority dot1x mab
 
 ! Gotta enable MAB
 mab
 
 ! Gotta enable dot1x
 dot1x pae authenticator
 
 ! This is secret sauce, because it gives a maximum reauth
 ! attempt at 10 seconds, and IOS will try, by default, 3 times
 ! before moving on to the next auth method
 dot1x timeout tx-period 10
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;juniper-configuration&#34;&gt;Juniper Configuration&lt;/h3&gt;
&lt;p&gt;There are two places to see the Juniper configuration. I&amp;rsquo;ll show both places: Juniper Mist Wired Assurance, and in Junos CLI.&lt;/p&gt;
&lt;h4 id=&#34;juniper-mist&#34;&gt;Juniper Mist&lt;/h4&gt;
&lt;p&gt;Junos breaks down configurations into different protocol components, so unlike Cisco, the configuration is made in a few different locations. In Mist, this configuration happens in both the &amp;lsquo;Authentication Servers&amp;rsquo; configuration, and the &amp;lsquo;Port Profile&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Authentication servers configuration is here:&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/authenticationServersEnhancedTimers.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
&lt;p&gt;The &amp;lsquo;Enhanced Timers&amp;rsquo; configuration makes the following changes:&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/enhancedTimersMist.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;

    &lt;div class=&#34;admonition note&#34;&gt;
      &lt;div class=&#34;admonition-header&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 576 512&#34;&gt;&lt;path d=&#34;M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z&#34;/&gt;&lt;/svg&gt;
        &lt;span&gt;Note&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;admonition-content&#34;&gt;
        &lt;p&gt;Juniper Mist changed how you can see the configuration changes for items like &amp;lsquo;Enhanced Timers&amp;rsquo;, and I think it&amp;rsquo;s for the worse. Above is the delta/change output back in November 2024. As of April 2025, it now looks like this:&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/newEnhancedTimersPreviewChanges2025.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;p&gt;The port profile equivalent in Juniper Mist Wired Assurance is below:
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/mistWiredAssurancePortProfileDot1x.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/p&gt;
&lt;h4 id=&#34;junos-cli&#34;&gt;Junos CLI&lt;/h4&gt;
&lt;p&gt;Dot1x settings are centrally located in Junos configurations under Protocols &amp;gt; dot1x. The process involves creating a profile with dot1x settings and adding interfaces to that profile. In this case, the logical interface-range interface &lt;em&gt;dot1x-testing&lt;/em&gt; is added to the profile &amp;lsquo;dot1x&amp;rsquo;.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-Junos-Config&#34; data-lang=&#34;Junos-Config&#34;&gt;authenticator {
    authentication-profile-name dot1x;
    interface {
        dot1x-testing {
            supplicant multiple;
            retries 3;
            quiet-period 2;
            transmit-period 2;
            mac-radius {
                authentication-protocol {
                    eap-md5;
                }
            }
            reauthentication 65000;
            supplicant-timeout 10;
            maximum-requests 3;
            server-fail use-cache;
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Junos set commands showing the same thing:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-Junos-Set-Commands&#34; data-lang=&#34;Junos-Set-Commands&#34;&gt;set protocols dot1x authenticator authentication-profile-name dot1x
set protocols dot1x authenticator interface dot1x-testing supplicant multiple
set protocols dot1x authenticator interface dot1x-testing retries 3
set protocols dot1x authenticator interface dot1x-testing quiet-period 2
set protocols dot1x authenticator interface dot1x-testing transmit-period 2
set protocols dot1x authenticator interface dot1x-testing mac-radius authentication-protocol eap-md5
set protocols dot1x authenticator interface dot1x-testing reauthentication 65000
set protocols dot1x authenticator interface dot1x-testing supplicant-timeout 10
set protocols dot1x authenticator interface dot1x-testing maximum-requests 3
set protocols dot1x authenticator interface dot1x-testing server-fail use-cache
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;how-does-it-work-successful-machine-to-user-authentication&#34;&gt;How does it work? Successful Machine-to-User Authentication&lt;/h2&gt;
&lt;p&gt;Ok, so we&amp;rsquo;ve got this hack on the switch side of things to leverage the 60 second timer on the Windows side of things and quickly fail dot1x over to MAB. But how does it actually work?
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/howDoesItActuallyWork.gif&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&amp;hellip; I&amp;rsquo;m no &lt;strong&gt;&lt;a href=&#34;attachments/https://www.youtube.com/@veritasium&#34;
   
   &gt;
   Veritasium
&lt;/a&gt;&lt;/strong&gt;, but here&amp;rsquo;s the breakdown of how this whole thing works. Prepare your eyes for this eye chart.&lt;/p&gt;
&lt;ol start=&#34;0&#34;&gt;
&lt;li&gt;We assume machine authentication has succeeded (see above) and/or machine network connectivity is functioning normally.&lt;/li&gt;
&lt;li&gt;A new user to the machine logs into Windows device and begins user authentication processes.&lt;/li&gt;
&lt;li&gt;Wired-AutoConfig restarts the authentication process and ends the EAP session due to the user logging into the device.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess01.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;The NDIS authorization state changes from &amp;lsquo;Authorized&amp;rsquo; to &amp;lsquo;Unauthorized&amp;rsquo;.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess02.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Wired-AutoConfig starts, but because the user does not have a client certificate yet, the Wired-AutoConfig service sends a null/blank certificate list to the NAC.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess03.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Switch forwards the EAP authentication message to the NAC.&lt;/li&gt;
&lt;li&gt;NAC immediately denies the authentication session due to a blank certificate and sends an &amp;lsquo;Access-Reject&amp;rsquo; to the switch because of blank certificate.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess04.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Wired-AutoConfig receives EAP failure and immediately suspends any authentication services for 60 seconds.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess05.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Note: NDIS is not dependent on an 802.1x success to be operational and will maintain a DHCP lease if it has one.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess06.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Because Juniper switch is configured with 3 retries and a supplicant timeout of 10 seconds, the switch will fail the dot1x process due to having 3 failures and will move to MAC authentication.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess07.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;The switch forwards the Windows machine MAC address to the NAC for MAC authentication.&lt;/li&gt;
&lt;li&gt;The NAC will search its endpoint identity groups. In this instance, it looks up &amp;lsquo;internal endpoints&amp;rsquo; for membership, authenticates and authorizes the endpoint based on policies and sends an &amp;lsquo;Access-Accept&amp;rsquo;.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess08.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Switch marks the port as authorized and maintains the device&amp;rsquo;s active network state.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess09.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Because the network connectivity is functional the machine can communicate with the internal PKI, the user enrolls and obtains a client certificate.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess10.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;The Wired-AutoConfig 60 second timer expires and the service tries to authenticate the user with a client certificate from the user. The user has a certificate at this point and so the Wired-AutoConfig service sends the certificate to the NAC.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess11.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Switch receives dot1x authentication for the port and forwards this to the NAC.&lt;/li&gt;
&lt;li&gt;NAC will check the certificate for authentication, and then will check for authorization of the device. At this point, ISE will either send an &amp;lsquo;Access-Accept&amp;rsquo; or &amp;lsquo;Access-Reject&amp;rsquo;. We&amp;rsquo;re assuming an accept here.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess12.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Switch restarts EAP session with an authorization and forwards the EAP success to the machine.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess13.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;The user&amp;rsquo;s session enters an authenticated and authorized state, and the NDIS Auth State transitions to &amp;lsquo;Authorized&amp;rsquo;.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess14.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Windows machine then proceeds forward with DHCP discovery or normal network connectivity.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/userAuthSucess15.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The HUGE version of this can be found here:
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/dot1x_detailed_success_full.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/p&gt;
&lt;h2 id=&#34;nac-mab-group&#34;&gt;NAC MAB Group&lt;/h2&gt;
&lt;p&gt;The solution used in this post relies on the built-in Cisco ISE local endpoint identity group called &amp;lsquo;internal endpoints&amp;rsquo;. For this solution, when a machine authenticates to the network, the device gets identified and a general ISE profile is made of the device, which by default adds the device to the group &amp;lsquo;internal endpoints&amp;rsquo;, which is how MAB/MAC authentication works when RADIUS fails during the 60 second timeout by WiredAuthconfig on the Windows machine.&lt;/p&gt;
&lt;p&gt;Generally speaking, this works, but the issue with the &amp;lsquo;internal endpoints&amp;rsquo; group is that it includes &lt;em&gt;any&lt;/em&gt; device with a MAC address that connects &amp;ndash; all devices that connect are added to the group.&lt;/p&gt;
&lt;p&gt;If your risk tolerance is high, this solution may not work. I have not confirmed this, but I believe a solution for this is to create a specific endpoint identity group for these hotdesk devices. Doing this in an automated fashion on ISE would require the posture licensing, so that may be out of the mix&amp;hellip;. The other approach would be to just manually account for these hotdesk devices and statically assign the devices to this group. However, this adds to the already complex configuration that exists here.&lt;/p&gt;
&lt;p&gt;I believe the risk here is small, so I think internal endpoints works fine.&lt;/p&gt;
&lt;h2 id=&#34;final-thoughts-on-process&#34;&gt;Final Thoughts on Process&lt;/h2&gt;
&lt;h3 id=&#34;simplicity-vs-complexity&#34;&gt;Simplicity vs. Complexity&lt;/h3&gt;
&lt;p&gt;I think the solution identified here is pretty slick for the dot1x-hotdesking issue because it maintains an EAP-TLS configuration and doesn&amp;rsquo;t require extra configuration on the Windows devices, or require reboots on devices, etc.&lt;/p&gt;
&lt;p&gt;However, I think this solution comes at the cost of complexity. Some might consider this a bit of a &amp;lsquo;Mouse Trap&amp;rsquo; solution, but the problem itself is complicated. As a result, the entire solution needs to be properly documented and diagrammed to understand the interdependency that exists within the system, which is really no more complicated than any other zero trust security framework.&lt;/p&gt;
&lt;p&gt;If this or any other complex system with many interdependencies isn&amp;rsquo;t properly documented, it becomes too much of a snowflake, and the institutional knowledge that someone may have about how it all works becomes a huge risk (aka, the bus factor).&lt;/p&gt;
&lt;h3 id=&#34;improving-network-security-of-mab-solution&#34;&gt;Improving Network Security of MAB Solution&lt;/h3&gt;
&lt;p&gt;I think the security of this solution could be improved by assigning VLANs/Tunnel-Group-IDs and sending these in the Access-Accept to the switch so that the MAB device that has some kind of firewalling/access control list in-place to allow the Windows device to perform for just certificate enrollment and any other login services that may be needed.&lt;/p&gt;
&lt;h1 id=&#34;bonus-information&#34;&gt;Bonus Information&lt;/h1&gt;
&lt;h2 id=&#34;windows-details&#34;&gt;Windows Details&lt;/h2&gt;
&lt;p&gt;A lot of my time during the initial phase was breaking down the logs used in Windows. Below is some of those notes and research I did.&lt;/p&gt;
&lt;h3 id=&#34;windows-event-viewer-ids-in-the-wired-autoconfig-log&#34;&gt;Windows Event Viewer IDs in the Wired-AutoConfig Log&lt;/h3&gt;
&lt;p&gt;The &amp;lsquo;Wired-AutoConfig&amp;rsquo; log can be found in the following location:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Event Viewer &amp;gt; Applications and Services Logs &amp;gt; Microsoft &amp;gt; Windows &amp;gt; Wired-AutoConfig&lt;/strong&gt;&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2053.06.png&#34; alt=&#34;Wired-AutoConfig location in Event Viewer&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;

    &lt;div class=&#34;admonition note&#34;&gt;
      &lt;div class=&#34;admonition-header&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 576 512&#34;&gt;&lt;path d=&#34;M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z&#34;/&gt;&lt;/svg&gt;
        &lt;span&gt;Note&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;admonition-content&#34;&gt;
        &lt;p&gt;Windows has a &lt;em&gt;wireless&lt;/em&gt; version of this log called &amp;lsquo;WLAN-AutoConfig&amp;rsquo;, but the event IDs are completely different.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;p&gt;Below is a list of event IDs from the Wired-AutoConfig log.&lt;/p&gt;
&lt;h3 id=&#34;event-id-reference-table&#34;&gt;Event ID Reference Table&lt;/h3&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Event ID&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;14001&lt;/td&gt;
          &lt;td&gt;Logged when an existing wired group policy is applied to a computer&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;14002&lt;/td&gt;
          &lt;td&gt;Wired policy is removed from the computer&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15500&lt;/td&gt;
          &lt;td&gt;Logged when a network adapter has been unplugged&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15501&lt;/td&gt;
          &lt;td&gt;Logged when a network adapter has been connected&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15502&lt;/td&gt;
          &lt;td&gt;Logged when a profile is applied on a network adapter (contains details about profile type and content)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15504&lt;/td&gt;
          &lt;td&gt;Logged when Wired 802.1X Authentication was restarted (includes network adapter details, interface GUID, connection ID, and restart reason)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15505&lt;/td&gt;
          &lt;td&gt;Logged when Wired 802.1X Authentication succeeded (includes network adapter details, peer/local addresses, connection ID, identity, and authentication results)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15506&lt;/td&gt;
          &lt;td&gt;Logged when network authentication attempts have been temporarily suspended on a network adapter (includes reason code and length of block timer in seconds)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15508&lt;/td&gt;
          &lt;td&gt;Logged when there has been an NDIS port state change on a network adapter (shows control state and authorization state)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15511&lt;/td&gt;
          &lt;td&gt;Logged when the Wired AutoConfig service entered the running state&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15514&lt;/td&gt;
          &lt;td&gt;Logged when 802.1X authentication fails (includes failure reason, such as &amp;ldquo;internal authentication error&amp;rdquo; or &amp;ldquo;the authenticator is not present&amp;rdquo;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15515&lt;/td&gt;
          &lt;td&gt;Logged when the Wired AutoConfig service is starting&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Generally speaking, the event IDs can have mixed messages in them. For example, 15508 indicates an NDIS Port State change, but that can mean the port is &lt;em&gt;authorized&lt;/em&gt; or &lt;em&gt;unauthorized&lt;/em&gt;. For example, see below:&lt;/p&gt;
&lt;p&gt;&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2106.24.png&#34; alt=&#34;Event 15508 - NDIS Auth State UnAuthorized&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
Event 15508 - NDIS Auth State: Unauthorized&lt;/p&gt;
&lt;p&gt;&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2109.43.png&#34; alt=&#34;Event 15508 - NDIS Auth State - Authorized&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
Event 15508 - NDIS Auth State: Authorized&lt;/p&gt;

    &lt;div class=&#34;admonition warning&#34;&gt;
      &lt;div class=&#34;admonition-header&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;path d=&#34;M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z&#34;/&gt;&lt;/svg&gt;
        &lt;span&gt;Warning&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;admonition-content&#34;&gt;
        &lt;p&gt;The event IDs, to the best of my knowledge and searching, are not found in a single location from Microsoft. Working with Perplexity to search for these event IDs, they appear to be in various discontiguous locations.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;15506&lt;/strong&gt; can be found &lt;a href=&#34;attachments/https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc736026%28v=ws.10%29&#34;
   
   &gt;
   here
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;15500&lt;/strong&gt; can be found &lt;a href=&#34;attachments/https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc727808%28v=ws.10%29&#34;
   
   &gt;
   here
&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s a hot mess:&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2117.12.png&#34; alt=&#34;Link hierarchy from Microsoft for Windows Server 2008&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;h2 id=&#34;windows-juniper-ex-ise-authentication-process&#34;&gt;Windows-Juniper EX-ISE Authentication Process&lt;/h2&gt;
&lt;p&gt;Below is baseline to understand and see how the process works. Yes, some of the images are an eye chart, but I&amp;rsquo;m trying to compress a lot of data and detail from the whole 802.1x process.&lt;/p&gt;
&lt;p&gt;This is showing a successful machine authentication process, but it looks the same for users (more or less).&lt;/p&gt;
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2129.12%201.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;
&lt;ol&gt;
&lt;li&gt;Windows machine powers on and eventually the &amp;lsquo;Wired-AutoConfig&amp;rsquo; service and authentication process starts.&lt;/li&gt;
&lt;li&gt;Machine/user applies group policy objects and any other policies relating to 802.1x authentication. As a result of the policies for this machine, 802.1x is enabled, but not enforced on network interface (enforcement corresponds to NDIS control state).
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2131.03.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Machine/user starts dot1x authentication and begins EAP-TLS authentication, sending certificate to NAC through the switch.&lt;/li&gt;
&lt;li&gt;The switch (Juniper EX in this case), acts as the network access server and forwards certificate to NAC.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2132.23.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;NAC (ISE in this case) will check the certificate for authentication, and then will check for authorization of the device. At this point, ISE will either send an &amp;lsquo;Access-Accept&amp;rsquo; or &amp;lsquo;Access-Reject&amp;rsquo;. We&amp;rsquo;re assuming an accept here.&lt;/li&gt;
&lt;li&gt;The switch transitions the port to an authorized state and sends an EAP-Success to the Windows machine.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2133.02.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Machine enters an authenticated and authorized state, and the NDIS Auth State transitions to &amp;lsquo;Authorized&amp;rsquo;.
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Chronosphere-20250318_2133.21.png&#34; alt=&#34;&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;Windows machine then proceeds forward with DHCP discovery or normal network connectivity.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Full version of the diagram:
&lt;figure style=&#34;text-align: center;&#34;&gt;
    &lt;img src=&#34;attachments/Juniper-ISE%20Dot1x%20Machine-User%20Auth%20Issue%20-%20User%20Auth%20Success.png&#34; alt=&#34;Full version of the machine/user authentication&#34; style=&#34;width:100%;&#34; /&gt;
    
&lt;/figure&gt;&lt;/p&gt;
&lt;h1 id=&#34;links-for-further-reading&#34;&gt;Links for Further Reading&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Juniper&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/mist/mist-access/topics/topic-map/access-assurance-mac-auth-wired-devices.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Configure MAC-Based Authentication and MAC Authentication Bypass (MAB) | Mist | Juniper Networks
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/junos/user-access/topics/topic-map/802-1x-authentication-switching-devices.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   802.1X Authentication | Junos OS | Juniper Networks
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/mist/mist-wired/topics/reference/switch-config-options.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Switch Configuration Options | Mist | Juniper Networks
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Junos CLI
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/junos/cli-reference/topics/ref/statement/dot1x-802-1x.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   dot1x | Junos OS | Juniper Networks
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/junos/cli-reference/topics/ref/command/show-dot1x-802-1x-ex-series.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   show dot1x | Junos OS | Juniper Networks
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/junos/user-access/topics/topic-map/authentication-session-timeout.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Authentication Session Timeout | Junos OS | Juniper Networks
&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://integratingit.wordpress.com/2019/07/13/configuring-windows-gpo-for-802-1x-authentication/&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Configuring Windows Supplicant for 802.1x authentication – integrating IT
&lt;/a&gt; : How to configure the supplicant in Windows.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.wiresandwi.fi/blog/windows-network-authentication-sequence&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Windows Network Authentication Sequence — WIRES AND WI.FI
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh994696%28v=ws.11%29#ieee-8021x---settings&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Advanced Security Settings for Wired and Wireless Network Policies | Microsoft Learn
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh831813%28v=ws.11%29&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Managing the New Wired Network (IEEE 802.3) Policies Settings | Microsoft Learn
&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cisco&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://community.cisco.com/t5/network-access-control/eap-tls-device-vs-user-certificates/td-p/4707370&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Solved: EAP-TLS  - Device vs User certificates - Cisco Community
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/nce/nce-213_ex_and_cisco_ise/topics/topic-map/nce-213-ex-series-switch-cisco-ise.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Configure Cisco ISE and Juniper EX Switches for 802.1X-Based Authentication | Juniper Networks
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/214975-configure-eap-tls-authentication-with-is.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Configure EAP-TLS Authentication with ISE - Cisco
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://community.cisco.com/t5/security-knowledge-base/troubleshoot-dot1x-and-radius-in-ios-and-ios-xe/ta-p/4287439&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Troubleshoot Dot1x and Radius in IOS and IOS-XE - Cisco Community
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.cisco.com/c/en/us/support/docs/lan-switching/8021x/220919-troubleshoot-dot1x-on-catalyst-9000-seri.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Troubleshoot Dot1x on Catalyst 9000 Series Switches - Cisco
&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
      <author>Jimmy Taylor</author>
      <guid>https://commitconfirm.com/posts/dot1x-juniper-ise-issue/</guid>
      <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
    </item>
    
    <item>
      <title>Juniper Mist Teleworker Wired Port Tunneling and Dot1x</title>
      <link>https://commitconfirm.com/posts/mist-teleworker-dot1x/</link>
      <description>&lt;p&gt;In this post, I&amp;rsquo;m going to get straight to the point and answer three questions I had about the &lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/mist/mist-edge-guide/mist-edge/topics/topic-map/teleworker-configure.html&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Juniper teleworker solution
&lt;/a&gt; that I eventually solved through trial and error. This is focused on configuring the additional wired ports available—at the time of writing—on AP12, AP41, AP43, AP45, and AP47.&lt;/p&gt;
&lt;p&gt;The three questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How are tunnels established between the additional wired ports on APs that have eth1+ (i.e., eth1-4)?&lt;/li&gt;
&lt;li&gt;What are the differences between creating a device profile in the Mist UI and creating one via the API?&lt;/li&gt;
&lt;li&gt;How can an API call be made to create or modify a device profile that also configures RADIUS/802.1x on AP wired Ethernet ports?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Pasted%20image%2020250528174318.png&#34;&gt;
&lt;img
  src=&#39;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Pasted%20image%2020250528174318.png&#39;
  alt=&#34;Mist Teleworker Solution Amended with Wired Teleworker Connection&#34;
  loading=&#34;lazy&#34;
  decoding=&#34;async&#34;
  class=&#34;full-width&#34;
/&gt;
&lt;/a&gt;


&lt;em&gt;(Mist Teleworker Solution Amended with Wired Teleworker Connection (Click for larger version))&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;how-are-tunnels-established-between-the-additional-wired-ports-on-aps-that-have-eth1-ie-eth1-4&#34;&gt;How are tunnels established between the additional wired ports on APs that have eth1+ (i.e., eth1-4)?&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/mist/mist-edge-guide/mist-edge/topics/topic-map/teleworker-configure.html#id_tkq_cnk_wyb&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   official documentation on wired port configuration
&lt;/a&gt; is not entirely clear on this question. At best, it says:&lt;/p&gt;

            &lt;link rel=&#34;stylesheet&#34; href=&#34;https://commitconfirm.com/css/vendors/admonitions.a5128328e65b14e9af1bfc5d96ffbcc40978b6d81dbeecb7f70959b501ee715c.css&#34; integrity=&#34;sha256-pRKDKOZbFOmvG/xdlv&amp;#43;8xAl4ttgdvuy39wlZtQHucVw=&#34; crossorigin=&#34;anonymous&#34;&gt;
    &lt;div class=&#34;admonition note&#34;&gt;
      &lt;div class=&#34;admonition-header&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 576 512&#34;&gt;&lt;path d=&#34;M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z&#34;/&gt;&lt;/svg&gt;
        &lt;span&gt;Note&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;admonition-content&#34;&gt;
        &lt;p&gt;Use the additional wired ports to extend a tunneled VLAN to a wired port.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;p&gt;The problem with this is: I&amp;rsquo;m an idiot, so I need something a bit more clear and detailed that explains the &lt;em&gt;why&lt;/em&gt; of a configuration.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/idiot-elmo.gif&#34;&gt;
&lt;img
  src=&#39;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/idiot-elmo.gif&#39;
  alt=&#34;I&amp;rsquo;m an idiot - Elmo&#34;
  loading=&#34;lazy&#34;
  decoding=&#34;async&#34;
  class=&#34;full-width&#34;
/&gt;
&lt;/a&gt;

&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what I learned about device profiles and/or the configuration of these AP Ethernet ports in my own words:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On port eth0, this is your main uplink and it is a trunk (see item &lt;strong&gt;&amp;lsquo;A&amp;rsquo;&lt;/strong&gt; on the diagram). The default VLAN is &amp;lsquo;1&amp;rsquo; on this port, and this should pretty much be left alone on teleworker APs, so keep this port configured with VLAN 1.&lt;/li&gt;
&lt;li&gt;If you configure other VLANs on the eth0 trunk (item &lt;strong&gt;&amp;lsquo;A&amp;rsquo;&lt;/strong&gt;), ensure the VLANs on the trunk do not match the VLAN IDs on the other wired Ethernet ports (eth1-4, item &lt;strong&gt;&amp;lsquo;B&amp;rsquo;&lt;/strong&gt;) because the AP will then trunk those VLANs to port eth0.&lt;/li&gt;
&lt;li&gt;(&lt;strong&gt;Important&lt;/strong&gt;) If the VLAN IDs on ports eth1-4 (item &lt;strong&gt;&amp;lsquo;B&amp;rsquo;&lt;/strong&gt;) match the VLANs on a Mist tunnel configured on a Mist Edge (item &lt;strong&gt;&amp;lsquo;E&amp;rsquo;&lt;/strong&gt;), the Mist AP will establish a tunnel (item &lt;strong&gt;&amp;lsquo;C&amp;rsquo;&lt;/strong&gt;) for those ports.&lt;/li&gt;
&lt;li&gt;(&lt;strong&gt;Important&lt;/strong&gt;) The tunnel used will be the same tunnel configured for wireless SSID tunneling (aka, &amp;lsquo;wxtunnel&amp;rsquo; in the API, item &lt;strong&gt;&amp;lsquo;D&amp;rsquo;&lt;/strong&gt;). If you do not configure a tunnel for a wireless SSID (&amp;lsquo;Custom Forwarding&amp;rsquo; in the WLAN configuration), I can only infer—but have not validated—that you will need to use API calls because there are no configuration options in the Mist UI for tunnels to select. (I say this because dot1x configuration is not in the UI, and is also only configurable in the API, but more on that later.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See the following tunnel configuration from a Mist Edge configuration.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0009.44@2x.png&#34;&gt;
&lt;img
  src=&#39;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0009.44@2x.png&#39;
  alt=&#34;Mist Edge tunnel configuration with VLANs&#34;
  loading=&#34;lazy&#34;
  decoding=&#34;async&#34;
  class=&#34;full-width&#34;
/&gt;
&lt;/a&gt;

&lt;/p&gt;
&lt;p&gt;If VLANs 800 and 900 are on the tunnel (in my hypothetical) in the Mist Edge configuration, and if the VLANs are configured on the ports (see below), then tunnels will be established.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0013.47@2x.png&#34;&gt;
&lt;img
  src=&#39;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0013.47@2x.png&#39;
  alt=&#34;Device profiles properties for wired interface&#34;
  loading=&#34;lazy&#34;
  decoding=&#34;async&#34;
  class=&#34;full-width&#34;
/&gt;
&lt;/a&gt;

&lt;/p&gt;
&lt;p&gt;In summary, items &lt;strong&gt;&amp;lsquo;B&amp;rsquo;&lt;/strong&gt; on the main teleworker diagram need to exist on items &lt;strong&gt;&amp;lsquo;E&amp;rsquo;&lt;/strong&gt; in the Mist Edge tunnel configuration for the wired ports to tunnel back to the Mist Edge.&lt;/p&gt;
&lt;h2 id=&#34;what-are-the-differences-between-creating-a-device-profile-in-the-mist-ui-and-creating-one-via-the-api&#34;&gt;What are the differences between creating a device profile in the Mist UI and creating one via the API?&lt;/h2&gt;
&lt;h3 id=&#34;mist-ui&#34;&gt;Mist UI&lt;/h3&gt;
&lt;p&gt;For the APs, the Mist UI has device profile options that probably meet 90%+ of the use cases needed.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0013.47@2x.png&#34;&gt;
&lt;img
  src=&#39;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0013.47@2x.png&#39;
  alt=&#34;Device profiles properties for wired interface&#34;
  loading=&#34;lazy&#34;
  decoding=&#34;async&#34;
  class=&#34;full-width&#34;
/&gt;
&lt;/a&gt;

&lt;/p&gt;
&lt;p&gt;On the API side of things, the Mist UI configures the following:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;poe_passthrough&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;disable_eth1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;disable_eth2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;disable_eth3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;disable_module&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;radio_config&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;mesh&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;base&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;group&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;ip_config&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;dhcp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;mtu&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;ble_config&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;power_mode&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;beacon_enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;switch_config&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;eth0&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_ids&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#111&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;eth1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_ids&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#ae81ff&#34;&gt;800&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#111&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;eth2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_ids&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#111&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;eth3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_ids&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;module&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_ids&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;wds&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_ids&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#111&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;esl_config&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;imagotag&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;host&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;channel&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;aeroscout&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;locate_connected&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;host&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1144&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;uplink_port_config&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;dot1x&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;centrak&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vars&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;00000000-0000-0000-0000-000000000000&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;dummy-profile&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;org_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;00000000-0000-0000-0000-000000000000&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;created_time&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1748479960&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;modified_time&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1748479960&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;ap&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#111&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
    &lt;div class=&#34;admonition note&#34;&gt;
      &lt;div class=&#34;admonition-header&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 576 512&#34;&gt;&lt;path d=&#34;M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z&#34;/&gt;&lt;/svg&gt;
        &lt;span&gt;Note&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;admonition-content&#34;&gt;
        &lt;p&gt;I&amp;rsquo;m using the Mist API Extension to quickly gather this information:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Mist-Automation-Programmability/mist_browser_extension&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   GitHub - Mist-Automation-Programmability/mist_browser_extension
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a web browser extension for Mist Developers to provide quick access to Mist APIs. The application analyzes the URL of the current tab to provide the org_id, site_id (if any), object_id (if any), and quick access to the main API calls for this page. It can also be used to manage and generate User and Org API Tokens.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;p&gt;The Mist UI configures default device profile options using the &lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/mist/api/http/api/orgs/device-profiles/create-org-device-profile&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   &amp;lsquo;switch_config&amp;rsquo; property in the API.
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you look at the configuration, though, there are actually very few options:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0057.25@2x.png&#34;&gt;
&lt;img
  src=&#39;https://commitconfirm.com/posts/mist-teleworker-dot1x/attachments/Chronosphere-20250529_0057.25@2x.png&#39;
  alt=&#34;switch_config API options&#34;
  loading=&#34;lazy&#34;
  decoding=&#34;async&#34;
  class=&#34;full-width&#34;
/&gt;
&lt;/a&gt;

&lt;/p&gt;
&lt;p&gt;If you use the API, though, there are far more options. See below.&lt;/p&gt;
&lt;h3 id=&#34;mist-api&#34;&gt;Mist API&lt;/h3&gt;
&lt;p&gt;The Mist API has a property option not available in the UI: &lt;em&gt;port_config&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.juniper.net/documentation/us/en/software/mist/api/http/models/structures/ap-port-config&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Ap Port Config - Mist API Reference
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This property contains options for dot1x, MAC auth, Mist NAC, and more, providing much more versatility than the &lt;em&gt;switch_config&lt;/em&gt; property. In fact, in the &lt;a href=&#34;https://api.ac2.mist.com/api/v1/docs/Site#device-config&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   older Mist API documentation*
&lt;/a&gt;, it makes the following note:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// eth0 is not allowed here
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// if specified, this takes precedence over switch_config (deprecated)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Which, as it turns out, means &lt;code&gt;port_config&lt;/code&gt; takes precedence over &lt;code&gt;switch_config&lt;/code&gt;. However, &lt;code&gt;port_config&lt;/code&gt; options are not available in the Mist UI, only in the API.&lt;/p&gt;

    &lt;div class=&#34;admonition note&#34;&gt;
      &lt;div class=&#34;admonition-header&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 576 512&#34;&gt;&lt;path d=&#34;M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z&#34;/&gt;&lt;/svg&gt;
        &lt;span&gt;Note&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&#34;admonition-content&#34;&gt;
        &lt;p&gt;For the older Mist documentation, the link they state doesn&amp;rsquo;t appear to work.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://api.mist.com/api/v1/docs/home&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   https://api.mist.com/api/v1/docs/home
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll need to append the URL with your instance; e.g., my demo lab is in Global 3, so my old API link is:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://api.ac2.mist.com/api/v1/docs/home&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   https://api.ac2.mist.com/api/v1/docs/home
&lt;/a&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;h2 id=&#34;how-can-an-api-call-be-made-to-create-or-modify-a-device-profile-that-also-configures-radius8021x-on-ap-wired-ethernet-ports&#34;&gt;How can an API call be made to create or modify a device profile that also configures RADIUS/802.1x on AP wired Ethernet ports?&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m doing this the easy way: Postman.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.postman.com/juniper-mist/mist-systems-s-public-workspace/documentation/sbkq1fm/mist-cloud-apis-2505-1-1&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   Mist Cloud APIs 2505.1.1 Documentation
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve made the following API call:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.postman.com/juniper-mist/mist-systems-s-public-workspace/request/ohvx2f1/createorgdeviceprofiles?action=share&amp;amp;source=copy-link&amp;amp;creator=38029947&amp;amp;ctx=documentation&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   createOrgDeviceProfiles
&lt;/a&gt; or &lt;a href=&#34;https://www.postman.com/juniper-mist/mist-systems-s-public-workspace/request/k5qb5al/updateorgdeviceprofiles?action=share&amp;amp;source=copy-link&amp;amp;creator=38029947&#34;
   
    target=&#34;_blank&#34; rel=&#34;noreferrer noopener&#34;&gt;
   updateOrgDeviceProfiles
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using &lt;code&gt;port_config&lt;/code&gt;, we have options to configure MAC-based authentication, dot1x-based authentication, and other options. For the problem I was trying to solve, I used the following body statement to configure dot1x ports with Mist Access Assurance.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#272822;background-color:#fafafa;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;led&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;brightness&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;255&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;Teleworker-AP&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;ap&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_config&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;eth1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;disabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enable_mac_auth&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;mac_auth_protocol&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;eap-md5&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;forwarding&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;mxtunnel&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;mxtunnel_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;00000000-0000-0000-0000-000000000000&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;mac_auth_preferred&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;mist_nac&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#00a8c8&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#111&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;port_auth&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d88200&#34;&gt;&amp;#34;dot1x&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;vlan_ids&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#111&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#111&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#111&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#111&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#111&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#111&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this configuration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;m configuring MAC-based authentication (&lt;code&gt;enable_mac_auth&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Configuring the tunnel to use, which is the same tunnel being used by the WLAN profile (&lt;code&gt;mxtunnel_id&lt;/code&gt;)
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Note&lt;/strong&gt;: You cannot use different tunnels on wired and wireless ports; i.e., you cannot have &lt;code&gt;wxtunnels&lt;/code&gt; and &lt;code&gt;mxtunnels&lt;/code&gt;j with different tunnel IDs. The AP establishes only one tunnel at a time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Using Access Assurance (&lt;code&gt;mist_nac&lt;/code&gt;, and be sure to also enable it with &lt;code&gt;&amp;quot;enabled&amp;quot;: true&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Doing dot1x port authentication on the wired ports (&lt;code&gt;port_auth&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&amp;rsquo;s the gist of it.&lt;/p&gt;
&lt;p&gt;Hope that helps.&lt;/p&gt;
</description>
      <author>Jimmy Taylor</author>
      <guid>https://commitconfirm.com/posts/mist-teleworker-dot1x/</guid>
      <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
    </item>
    
  </channel>
</rss>
