<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Network | Breek Een Been</title>
    <link>https://blog.breekeenbeen.nl/tag/network/</link>
      <atom:link href="https://blog.breekeenbeen.nl/tag/network/index.xml" rel="self" type="application/rss+xml" />
    <description>Network</description>
    <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><copyright>Rob Maas</copyright><lastBuildDate>Mon, 29 Dec 2014 09:37:17 +0200</lastBuildDate>
    <image>
      <url>https://blog.breekeenbeen.nl/images/icon_hue0c3a5851739ca8a2afc787728ee763e_182872_512x512_fill_lanczos_center_3.png</url>
      <title>Network</title>
      <link>https://blog.breekeenbeen.nl/tag/network/</link>
    </image>
    
    <item>
      <title>Nested Nsx Vmware Nsx on Intel Nuc Lab Setup Part 3</title>
      <link>https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/</link>
      <pubDate>Mon, 29 Dec 2014 09:37:17 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/</guid>
      <description>&lt;p&gt;In the previous two posts I described 
&lt;a href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/&#34;&gt;how to set-up a nested ESXi environment&lt;/a&gt; on the Intel NUC and 
&lt;a href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/&#34;&gt;how to install and configure it for NSX&lt;/a&gt;. So in this post I assume everything is installed and configured and we can actually start deploying a network.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/featured_hue4671c3508747d903fa12afbdfb0381e_5685_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/featured_hue4671c3508747d903fa12afbdfb0381e_5685_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;340&#34; height=&#34;232&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h2 id=&#34;logical-switch&#34;&gt;Logical Switch&lt;/h2&gt;
&lt;p&gt;If not already, go to &amp;ldquo;Network &amp;amp; Security&amp;rdquo; and click on &amp;ldquo;Logical Switches&amp;rdquo;, click the green plus sign, to add a Logical Switch. I used the following settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: App-Tier&lt;/li&gt;
&lt;li&gt;Description: Application Tier&lt;/li&gt;
&lt;li&gt;Zone: LAB-Zone&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_1_hu1630ef3a1be41d25a1ce86c27c0ec094_17288_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_1_hu1630ef3a1be41d25a1ce86c27c0ec094_17288_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;627&#34; height=&#34;422&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;This is it, we have created a working logical switch, however to see if it actually can switch, we need to put some workload on it. To show that the communication within the Logical Switch is completely independent of the underlying network, I put the two VMs on this switch, within a completely different subnet than already used.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IP1: 172.20.20.2/24&lt;/li&gt;
&lt;li&gt;IP2: 172.20.20.3/24&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We are going to deploy two VMs I used Debian for this, but you are free to use whatever you want, as long as it can do IP. This is what I configured:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: App-VM1 / App-VM2&lt;/li&gt;
&lt;li&gt;OS: Debian 7 - 64bit&lt;/li&gt;
&lt;li&gt;vCPU: 1&lt;/li&gt;
&lt;li&gt;MEM: 512MB Ram&lt;/li&gt;
&lt;li&gt;IP: 172.20.20.2 / 172.20.20.3&lt;/li&gt;
&lt;li&gt;Subnet: 255.255.255.0&lt;/li&gt;
&lt;li&gt;GW: 172.20.20.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Make sure you deploy a VM on ESX01 and one on ESX02, also connect them for now to the pgCompute1 and pgManagement port-group.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_5_hu20bf97a820a87f851abaa0eb44156622_13616_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_5_hu20bf97a820a87f851abaa0eb44156622_13616_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;232&#34; height=&#34;289&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;When both VMs are deployed, go to &amp;ldquo;Logical Switches&amp;rdquo; and click on &amp;ldquo;Add VM&amp;rdquo;, select the two VMs, select both the NICs and finish the task.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_3_hu9410ff66cddb015933e05707ea8aac43_23674_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_3_hu9410ff66cddb015933e05707ea8aac43_23674_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;965&#34; height=&#34;567&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Configure the VMs with the appropriate network settings and do a ping test to each other. If everything went well, you should get a reply.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_ping_success_hu05c0bee34feccd081e9d69a7c10c0dad_164047_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_ping_success_hu05c0bee34feccd081e9d69a7c10c0dad_164047_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1920&#34; height=&#34;570&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Before we continue it is nice to take a look at the controller, to see what information is stored here and get an idea how the actual traffic flow is working. You can log-in to the controller with SSH and username &amp;ldquo;admin&amp;rdquo; and the password specified earlier. With the following two commands you can list the VTEP interfaces and the MAC-addresses. The number 5000 is the segment ID (VNI = Virtual Network Identifier) assigned to the logical switch. Which can be found in the webinterface under Logical Switches.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_6_hu281fe02ac719fddbd91ec90eb791a100_11445_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_6_hu281fe02ac719fddbd91ec90eb791a100_11445_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1026&#34; height=&#34;132&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;nvp-controller # show control-cluster logical-switches vtep-table 5000
VNI      IP              Segment         MAC               Connection-ID
5000     192.168.5.11    192.168.5.0     00:50:56:62:a3:86 2
5000     192.168.5.10    192.168.5.0     00:50:56:66:dd:df 7

nvp-controller # show control-cluster logical-switches mac-table 5000
VNI      MAC               VTEP-IP         Connection-ID
5000     00:50:56:99:d0:77 192.168.5.11    2
5000     00:50:56:99:6b:d9 192.168.5.10    7
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In my case the MAC addresses of the VM&amp;rsquo;s are.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;App-VM1: 00:50:56:99:6B:D9&lt;/li&gt;
&lt;li&gt;App-VM2: 00:50:56:99:D0:77&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You could also use the following command, to see the ARP table, remember this like normal switches has a time-out, so when it is empty initiate a ping or some other traffic.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;nvp-controller # show control-cluster logical-switches arp-table 5000
VNI      IP              MAC               Connection-ID
5000     172.20.20.3     00:50:56:99:d0:77 2
5000     172.20.20.2     00:50:56:99:6b:d9 7
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As you can see in the mac-table, there is a relationship between the MAC address and the VTEP-IP. What it actually says is that if App-VM1 sends something to App-VM2, the traffic will be encapsulated (VXLAN-header), with the destination IP (192.168.5.11) of the VTEP connected to the host running the VM. After the host received the traffic, it is being decapsulated and sent to the VM, so the VM&amp;rsquo;s don&amp;rsquo;t know anything about how the traffic is handled and won&amp;rsquo;t see any difference between a virtualized or a traditional network.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/Logical_Switch_hu55d868290159ca4a7399c7f02fb3b24a_7162_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/Logical_Switch_hu55d868290159ca4a7399c7f02fb3b24a_7162_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;455&#34; height=&#34;239&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h2 id=&#34;distributed-router&#34;&gt;Distributed Router&lt;/h2&gt;
&lt;p&gt;Another neat feature of NSX is the distributed router, this not only means you can route traffic, but the neat thing about it is, that this can be done on &amp;ldquo;host&amp;rdquo;-level. This means that when two VMs are running on the same host, but in different subnets, the distributed router (remember installed VIB) will route the traffic in the kernel, so the traffic won&amp;rsquo;t have to leave the host! To create a distributed router, go to &amp;ldquo;Network &amp;amp; Security&amp;rdquo; and click on &amp;ldquo;NSX Edges&amp;rdquo;. &lt;em&gt;(If you ask me, they should make two categories, &amp;ldquo;NSX Edges&amp;rdquo; &amp;amp; &amp;ldquo;Logical Routing&amp;rdquo;, this would make a in my opinion lot more sense)&lt;/em&gt; Click the green plus sign and select logical distributed router.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router1_hu50bfaec0da1a50acd2be1cae3a2f2402_24052_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router1_hu50bfaec0da1a50acd2be1cae3a2f2402_24052_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;707&#34; height=&#34;583&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Next specify a password and Enable SSH acces.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router2_hu438f7263ed6241cd1f70131701e9997c_18658_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router2_hu438f7263ed6241cd1f70131701e9997c_18658_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;708&#34; height=&#34;583&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Specify the &amp;ldquo;Management_and_Edge&amp;rdquo; cluster.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router3_hu0dab368550a583ba3205ed5dc48a377e_29192_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router3_hu0dab368550a583ba3205ed5dc48a377e_29192_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;707&#34; height=&#34;583&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Connect the management interface to the &amp;ldquo;pgManagement&amp;rdquo; port-group and specify an IP, in my case 10.10.11.126.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router4-MGMT_hubf2426e439b87e7aeceb65d2ee656c47_28430_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router4-MGMT_hubf2426e439b87e7aeceb65d2ee656c47_28430_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;707&#34; height=&#34;584&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Add an interface and connect it to the &amp;ldquo;Logical Switch&amp;rdquo; - &amp;ldquo;App-Tier&amp;rdquo; and specify an interface, in this case 172.20.20.1 [!&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router4-INT_huda1ec67bb023900456f360f1f23446e6_25565_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router4-INT_huda1ec67bb023900456f360f1f23446e6_25565_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;708&#34; height=&#34;585&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;When done with step 4 it should look as follow.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router4-Overview_hu7318da0d856cac447595b3e32c1da163_27418_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router4-Overview_hu7318da0d856cac447595b3e32c1da163_27418_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;708&#34; height=&#34;584&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;We can skip the HA configuration and continue, when satisfied with the settings, click Finish.&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;nsx_dis_router-Overviw.png&#34; &gt;


  &lt;img src=&#34;nsx_dis_router-Overviw.png&#34; alt=&#34;&#34;  &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;The first thing we want to do is enable routing between two logical switches. Therefore go to Logical Switches and create a second one, named: &amp;ldquo;Web-Tier&amp;rdquo;.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_web-tier_hu5e6d37ba83c8d2102bf4b87684b5b610_14463_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_log_switch_web-tier_hu5e6d37ba83c8d2102bf4b87684b5b610_14463_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1027&#34; height=&#34;155&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Deploy (or clone) a new VM and connect it to this &amp;ldquo;Logical Switch&amp;rdquo;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: Web-VM1&lt;/li&gt;
&lt;li&gt;OS: Debian 7 - 64bit&lt;/li&gt;
&lt;li&gt;vCPU: 1&lt;/li&gt;
&lt;li&gt;MEM: 512MB Ram&lt;/li&gt;
&lt;li&gt;IP: 172.20.10.2&lt;/li&gt;
&lt;li&gt;Subnet: 255.255.255.0&lt;/li&gt;
&lt;li&gt;GW: 172.20.10.1&lt;/li&gt;
&lt;li&gt;Cluster: Compute&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since we didn&amp;rsquo;t connect the distributed router to the Web-Tier Logical Switch, there is no gateway and no communication possible between the App- &amp;amp; the Web-Tier. &lt;em&gt;The App-Tier is connected and you can try ping the gateway 172.20.20.1 from one of the App-VMs, this should work.&lt;/em&gt; Go back to NSX Edges en open the distributed router we created, select the Manage tab, click on Settings and select interfaces. Now click the green plus sign and add the Web-Tier and create an interface with IP 172.20.10.1.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router-web-tier_hua266b26de9b426c2223c9cad9ad7263c_14360_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router-web-tier_hua266b26de9b426c2223c9cad9ad7263c_14360_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;591&#34; height=&#34;407&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Before you click OK, open the console of the Web-VM1 and start a ping to one of the App-VMs, now click OK. Immediately after the configuration, you should get a response on the pings.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router_ping_hu339064010b3821d64b0bbdeb0a68d840_83536_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router_ping_hu339064010b3821d64b0bbdeb0a68d840_83536_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;543&#34; height=&#34;259&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;It is important to know that the logical router instance (VM) is in this example purely for configuration of the distributed router and that traffic won&amp;rsquo;t go through it. When sending traffic to App-VM1 which is on the same host, the traffic won&amp;rsquo;t leave the host, but is routed at the kernel. If traffic is send to App-VM2, the traffic is routed on the host of the Web-VM1 and send (on the App-Tier Logical Switch) to the other host, like it was L2 switching. The last part of this post is bringing data outside the virtual world, there are two ways of accomplish this. The first one is bridging and the second one is routing. I won&amp;rsquo;t go further into bridging, but what it simply said does is, connecting a VXLAN to a VLAN.&lt;/p&gt;
&lt;h2 id=&#34;edge-services-gateway&#34;&gt;Edge Services Gateway&lt;/h2&gt;
&lt;p&gt;Best practice is that we use an Edge Services Gateway (ESG) for connection with the outside world. This means that the Logical Router will forward the traffic to the ESG and the ESG will route the traffic to the physical world. This is just one of the many functions the ESG can do, it can also NAT, Loadbalancing, basic firewalling, etc. VMware likes to call it a &amp;ldquo;swiss army knife&amp;rdquo; due the roles it can fulfill. Between the Logical Router and the ESG we will have a so called transit network, for this create a new Logical Switch and name it Transit.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router-transit_hu84033c31efb796e99cad0171dd303d44_16740_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router-transit_hu84033c31efb796e99cad0171dd303d44_16740_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;623&#34; height=&#34;417&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;My uplink is in a different VLAN, so I created a new portgroup pgUplink, but if your network is flat or you want to (mis)use the management port-group, this is no problem. Make sure, when you create an additional port-group, do this at the Management and Edge (cluster) Distributed Switch.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router-uplink_hu657b64880293350f90d98b4cf9e1ea8c_18685_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router-uplink_hu657b64880293350f90d98b4cf9e1ea8c_18685_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;966&#34; height=&#34;567&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Go back to the NSX Edges and click the green plus sign, similar to the deployment of a Logical Router, however now we choose Edge Services Gateway.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge1_hub2f70cc1c85d58ef9056c93e91ca6d4e_24784_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge1_hub2f70cc1c85d58ef9056c93e91ca6d4e_24784_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;707&#34; height=&#34;582&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Fill in the credentials and select the Management and Edge Cluster for deployment. A Compact deployment for this LAB is sufficient.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge3_huf541e4c00eab1db6c825f1006a0077cb_27114_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge3_huf541e4c00eab1db6c825f1006a0077cb_27114_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;706&#34; height=&#34;581&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now the most important part, create the interfaces. Chooste &amp;ldquo;internally&amp;rdquo; for the Transit. I will use 172.16.10.0/24 as transit subnet and the Edge will get .1 and the Logical Router (later on) .2. In the Uplink subnet I have 10.0.0.0/24 and will use 10.0.0.1 for the Edge. My physical router has 10.0.0.254, so this will become my default gateway.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge4-uplink_hud027b81e7d3a39d2cbcf520e2501425e_31191_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge4-uplink_hud027b81e7d3a39d2cbcf520e2501425e_31191_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;729&#34; height=&#34;647&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge4-transit_hud516847e249d431810e7811e7f49f7c0_30917_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge4-transit_hud516847e249d431810e7811e7f49f7c0_30917_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;718&#34; height=&#34;655&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge4_hu4c1d707344c9da8fdc5fe6766f1fb2d6_23486_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge4_hu4c1d707344c9da8fdc5fe6766f1fb2d6_23486_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;707&#34; height=&#34;584&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge5_hu9dfe2514437aa8eb7d93d947d12beece_18983_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge5_hu9dfe2514437aa8eb7d93d947d12beece_18983_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;708&#34; height=&#34;584&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Leave all the further settings default and finish the wizard.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_final_hue25025a988abc85c547be948db296360_27759_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_final_hue25025a988abc85c547be948db296360_27759_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;707&#34; height=&#34;584&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now open the just deployed ESG and go Manage, Routing, (for now) we will create static routes to the Logical Router we created earlier. Add the following two routes for the App and Web tier, by clicking on the green plus sign.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;172.20.10.0/24 - 172.16.10.2&lt;/li&gt;
&lt;li&gt;172.20.20.0/24 - 172.16.10.2&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_route11_hu59c888ab5641e5038c4ffcb4c92f0d16_22937_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_route11_hu59c888ab5641e5038c4ffcb4c92f0d16_22937_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;613&#34; height=&#34;511&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;If you added both routes, click on Publish Changes.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_route2_hub92c81281468b5aadd427c2187765d63_11334_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_route2_hub92c81281468b5aadd427c2187765d63_11334_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1085&#34; height=&#34;176&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;The next step is to add the 172.16.10.2 interface to the Logical Router, and set the default gateway for the Logical Router to the ESG. Open up the settings page for the Logical Router and add the interface.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router_edge1_hud3170d21fd711f80abf1370f717b0952_28788_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router_edge1_hud3170d21fd711f80abf1370f717b0952_28788_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;803&#34; height=&#34;644&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Go to routing and set the default gateway under Global Configuration to the ESG, make sure to Publish Changes when you are done.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router_edge2_hua03027880d5108e883cb767bb848da57_18815_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_dis_router_edge2_hua03027880d5108e883cb767bb848da57_18815_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1429&#34; height=&#34;345&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now almost everything is set, however when you will test to communicate with the outside world, you will see that it will fail, there are two more (small) steps to take. First, make sure the outside world, your router or cliënt has a route to the new Web and App subnets. I first tested it of my desktop client, which has an IP in 10.0.0.0/24. I added a specific route to the WebVM.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;172.20.10.2/32 - 10.0.0.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now the very last step is to check the firewall of the ESG, by default it only has a rule which accept traffic, which has a source VSE (I assume this stands for vShield Edge). For this lab we will add a rule, which allows any traffic. Go to the ESG and click on firewalling and click the green plus sign. It will by default create a rule which accepts any, any, any :). Don&amp;rsquo;t forget to publish the new rule.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_fw_hu2fb22b9cce0c0505d8c4e140b6da3240_20692_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-3/nsx_edge_fw_hu2fb22b9cce0c0505d8c4e140b6da3240_20692_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1430&#34; height=&#34;256&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now you can test and everything should work! Now we have set-up a very basic and simple lab environment which runs NSX pretty well. Even despite the limited resources, the Intel NUC has proven itself to be capable of handling the load and give a decent lab experience. I think this lab is a very good starting point for further testing and learning with NSX and probably some more posts will follow concerning NSX configuration, for me it will hopefully help to eventually get my VCIX-NV. I hope you had fun and please let me know if you have any further questions, ideas or suggestions.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Nested Nsx Vmware Nsx on Intel Nuc Lab Setup Part 2</title>
      <link>https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/</link>
      <pubDate>Sat, 27 Dec 2014 09:20:49 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/</guid>
      <description>&lt;p&gt;In my 
&lt;a href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/&#34;&gt;previous post&lt;/a&gt; I described how to create a nested ESXi environment, connected to a vCenter, this as a preparation to run eventually NSX. In this post we will build further on the basic set-up we created in part 1 of this series. At the end of this post we will have the NSX installed and the network prepared for all the cool things NSX can do.&lt;/p&gt;
&lt;h2 id=&#34;distributed-switch&#34;&gt;Distributed Switch&lt;/h2&gt;
&lt;p&gt;Since the NSX vSwitch is based on the &amp;ldquo;distributed switch&amp;rdquo;, this is what we are going to create first on the two clusters. We will make two distributed switches, named;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dsMgmtEdge&lt;/li&gt;
&lt;li&gt;dsCompute1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Go to your (LAB) vCenter and go to the networking tab, right click on the Datacenter and click on &amp;ldquo;New Ditributed Switch&amp;rdquo;, for now the following options are sufficient.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Number of uplinks: 1&lt;/li&gt;
&lt;li&gt;Network I/O control: Enabled&lt;/li&gt;
&lt;li&gt;Default port group: Create a default port group&lt;/li&gt;
&lt;li&gt;Port group name: pgManagement / pgCompute1&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch11_hub6648800092cd312953770f32ff4f3da_24604_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch11_hub6648800092cd312953770f32ff4f3da_24604_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;966&#34; height=&#34;570&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Before we can actually add hosts to the distributed switches we created, we need to add the VLAN tag to the newly created port-groups. Therefore select the distributed switch, choose the manage tab and make sure settings is selected. Select the port-group and click edit settings. Under the VLAN settings, choose VLAN and enter the appropriate VLAN ID. (if you don&amp;rsquo;t work with VLANs you can skip this step)&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch4_hu2dd51732b4ca1cadec198a5f391c2312_23439_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch4_hu2dd51732b4ca1cadec198a5f391c2312_23439_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;973&#34; height=&#34;648&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now we have created the distributed switch and configured the port-group, we need to add the hosts to it. Right click on the distributed switch and click on &amp;ldquo;Add and Manage Hosts&amp;rdquo;, we want to add the host, select the appropriate host.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch2_hu91a372fbd0aef128d7a52246a4ea7cfd_40219_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch2_hu91a372fbd0aef128d7a52246a4ea7cfd_40219_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1257&#34; height=&#34;667&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Make sure both the &amp;ldquo;Manage physical adapters&amp;rdquo; and &amp;ldquo;Manage VMkernel adapters&amp;rdquo; are both checked. We will move the vmnic0 to the uplink of the distributed switch.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch3_hu0c80633778042a9b325bcb241b251125_33576_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch3_hu0c80633778042a9b325bcb241b251125_33576_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;990&#34; height=&#34;614&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Also move the VMkernel adater (vmk0) to the new port group.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch5_hu43ca9cef4e5d6d77a7ed8f6f0011c9d0_39129_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_dswitch5_hu43ca9cef4e5d6d77a7ed8f6f0011c9d0_39129_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;989&#34; height=&#34;613&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;If you screw this up, it is pretty easy to start over by accessing the console of the ESXi and in the settings, choose &amp;ldquo;Network Restore Options&amp;rdquo;.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;nsx-manager&#34;&gt;NSX Manager&lt;/h2&gt;
&lt;p&gt;Finally we can start with some real NSX stuff. The first step is the installation of the NSX Manager. Go to hosts and clusters, right click the &amp;ldquo;Management &amp;amp; Edge&amp;rdquo; cluster  and choose deploy OVF. Point to the NSX Manager OVA. Select Accept extra configuration options.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_deploy0_hu8af5f1c9fd8cb7727a3ff5cac417ea2e_38920_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_deploy0_hu8af5f1c9fd8cb7727a3ff5cac417ea2e_38920_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;965&#34; height=&#34;568&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Read &amp;amp; accept the EULA, pick a name (i.e. LAB NSX Manager). At the Network setup make sure you choose the new &amp;ldquo;pgManagement&amp;rdquo; port-group. At the &amp;ldquo;Customize template&amp;rdquo;, set some passwords and make the network configuration.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VSMgmt: pgManagement&lt;/li&gt;
&lt;li&gt;Hostname: LABNSXManager&lt;/li&gt;
&lt;li&gt;Network 1 IPv4: 10.10.11.111&lt;/li&gt;
&lt;li&gt;Network 1 Netmask: 255.255.255.0&lt;/li&gt;
&lt;li&gt;Default IPv4 Gateway: 10.10.11.1&lt;/li&gt;
&lt;li&gt;DNS server list: 10.10.11.3, 8.8.8.8&lt;/li&gt;
&lt;li&gt;Enable SSH: checked&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The settings I didn&amp;rsquo;t mentioned I left blank.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_deploy2_hu1bc5690ed6391f8d0df6870d58641182_37973_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_deploy2_hu1bc5690ed6391f8d0df6870d58641182_37973_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;970&#34; height=&#34;624&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Click finish and have a bit of patience. Before we can power up the NSX manager we need to do something about the resources which are by default quite heavy and we simply have not that many resources available on our LAB set-up. Edit the VM hardware settings with the following values.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU: 2 (instead of 4)&lt;/li&gt;
&lt;li&gt;Memory: 4GB (instead of 12)&lt;/li&gt;
&lt;li&gt;Memory reservation: 0 (instead of 3GB)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Power up the NSX manager and if everything went well, you will be able to visit the NSX page with a few minutes, https://IPAddress and you can log in with the username &amp;ldquo;admin&amp;rdquo; and the password specified during the deployment.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/featured_hucb009a8b679035f7d6263e18ddbbda1b_51366_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/featured_hucb009a8b679035f7d6263e18ddbbda1b_51366_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1004&#34; height=&#34;685&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;Before we continue, I noticed that the resources are a bit short, cause after 17 minutes, the NSX Mangement Services wasn&amp;rsquo;t started and it would eventually turn out to take 19 minutes. As you can see the Memory is in full use and also on the ESXi host we can see this, this is an indication that we need to increase the memory of the ESX02 (the host of the Management &amp;amp; Edge) cluster. Cause it is also going to run the NSX Controller(s). Luckily this is a virtual ESX host, so extending the memory is quite easy, I doubled it at this moment to 8GB. I didn&amp;rsquo;t increase the memory of the NSX Manager, since this is a LAB, I don&amp;rsquo;t care if the start-up takes a while, as long it will run fluent enough to do some testing.&lt;/em&gt;&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_resources_hu29c1712367dcff43b0d868e57774a6de_68850_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_resources_hu29c1712367dcff43b0d868e57774a6de_68850_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;967&#34; height=&#34;774&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h2 id=&#34;vcenter-integration&#34;&gt;vCenter integration&lt;/h2&gt;
&lt;p&gt;NSX has a tight integration with vCenter, at this moment it is an 1 on 1 relationship, which means for every vCenter, you need one NSX Manager. Log in to your just deployed NSX Manager and click on &amp;ldquo;Manage vCenter registration&amp;rdquo;, click on edit and enter your vCenter information.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_integration_hu42e9839bd84c133ca46f01bd5ef4d18b_19466_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_integration_hu42e9839bd84c133ca46f01bd5ef4d18b_19466_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;568&#34; height=&#34;384&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;After clicking ok, trust the certificate and within a few seconds it should say that is is successfully connected.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_integration2_hu4419e9ea2d512ba203aea028269dee69_4500_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_integration2_hu4419e9ea2d512ba203aea028269dee69_4500_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;539&#34; height=&#34;89&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now we are going back to our vCenter, if you are already logged in, log out and log in again. The first time it can take a few minutes, cause it will configure itself for NSX. If everything went fine you should see a new option in the menu on the left, named &amp;ldquo;Networking &amp;amp; Security&amp;rdquo;.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_integration3_hu320d2c3cf996485cfd9c92471f77007f_13905_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_manager_integration3_hu320d2c3cf996485cfd9c92471f77007f_13905_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;270&#34; height=&#34;216&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h2 id=&#34;prepare-the-hosts&#34;&gt;Prepare the hosts&lt;/h2&gt;
&lt;p&gt;The next step is to prepare the host, NSX will install a couple of VIB&amp;rsquo;s into the hosts, knowing;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Logical Routing&lt;/li&gt;
&lt;li&gt;Distributed Firewall&lt;/li&gt;
&lt;li&gt;VXLAN&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Click on the new &amp;ldquo;Networking &amp;amp; Security&amp;rdquo; option and go to &amp;ldquo;installation&amp;rdquo;, click the &amp;ldquo;host preparation&amp;rdquo; tab. It will show the clusters available within the vCenter.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_host_preparation1_hu0f16ddc311e683230e5413905cbe5078_22105_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_host_preparation1_hu0f16ddc311e683230e5413905cbe5078_22105_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1385&#34; height=&#34;210&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Click the install link in the column &amp;ldquo;Installation Status&amp;rdquo;, do this for both clusters. After the installation it should say &amp;ldquo;ready&amp;rdquo; on the particular host and the version for the cluster.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_host_preparation2_hu538cd9af2dcea61eec75ac743b0ffa99_28427_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_host_preparation2_hu538cd9af2dcea61eec75ac743b0ffa99_28427_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1388&#34; height=&#34;256&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h2 id=&#34;controller&#34;&gt;Controller&lt;/h2&gt;
&lt;p&gt;Now that the hosts are ready we can start deploying the controller(s), normally you would deploy at least 3 controllers, but in this LAB we will start with just one, mainly due resource restrictions. The controller is the control plane of the environment and will keep three primary tables.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ARP table&lt;/li&gt;
&lt;li&gt;MAC table&lt;/li&gt;
&lt;li&gt;VTEP table&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Go back to the &amp;ldquo;Management&amp;rdquo; tab of the &amp;ldquo;Installation&amp;rdquo; settings and click on the green plus sign, below NSX Controller Nodes. Fill in the following.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;NSX Manager: 10.10.11.111&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Datacenter: Datacenter&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cluster: Management_and_Edge&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Datastore: NAS&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Host: 10.10.11.102&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Connected to: pgManagement &lt;em&gt;(select distributed switch)&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;IP Pool: ClusterIPPool - Create one&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: ClusterIPPool&lt;/li&gt;
&lt;li&gt;Gateway: 10.10.11.1&lt;/li&gt;
&lt;li&gt;Prefix Length: 24&lt;/li&gt;
&lt;li&gt;Primary DNS: 10.10.11.3 -&amp;gt; Your own DNS server&lt;/li&gt;
&lt;li&gt;Secondary DNS: 8.8.8.8&lt;/li&gt;
&lt;li&gt;Static IP Pool: 10.10.11.120 - 10.10.11.125&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_controller_ippool_hu5a3f9806fadac950313bf68cd33ef579_14293_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_controller_ippool_hu5a3f9806fadac950313bf68cd33ef579_14293_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;431&#34; height=&#34;412&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;ul&gt;
&lt;li&gt;Password: Pick Something&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_controller_add1_hu8b9267143ff7bcd2ec71476a688ff16f_14379_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_controller_add1_hu8b9267143ff7bcd2ec71476a688ff16f_14379_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;431&#34; height=&#34;317&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Click OK, it will start deploying a controller and this can take a while.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_controller_deployed_hu659538c04659655bdce692296cda3992_6535_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_controller_deployed_hu659538c04659655bdce692296cda3992_6535_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1118&#34; height=&#34;64&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h2 id=&#34;vxlan&#34;&gt;VXLAN&lt;/h2&gt;
&lt;p&gt;The last step in the preparation of the NSX environment is the VXLAN preparation, VXLAN is the tunnel protocol which makes sure every host participating in the NSX environment is able to communicate with each other. First we going to create an IP pool, with the IP adresses for the VMKernel adapters serving the VTEP (VXLan Tunnel End Point). Therefore click in the left bar on NSX Managers and select &amp;ldquo;10.10.11.111&amp;rdquo;, make sure the &amp;ldquo;Manage&amp;rdquo; tab is selected and click on &amp;ldquo;Grouping Objects&amp;rdquo;, select IP-Pools and click on the green plus sign. To show that communication between the hosts is really independent of the underlying network, I created a separate subnet without a default gateway (although specified).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: VXLAN-VTEP&lt;/li&gt;
&lt;li&gt;Gateway: 192.168.5.1&lt;/li&gt;
&lt;li&gt;Prefix Length: 24&lt;/li&gt;
&lt;li&gt;Static IP Pool: 192.168.5.10-192.168.5.20&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_ippool_huf5899d023671710093ed8221b9fb47cb_47815_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_ippool_huf5899d023671710093ed8221b9fb47cb_47815_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1183&#34; height=&#34;682&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now go back to the installation, &amp;ldquo;Host Preparation&amp;rdquo; tab and in the column VXLAN click &amp;ldquo;configure&amp;rdquo;.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_hostprep_huc0b8fc2323799c2161747c6025ef8bc3_62950_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_hostprep_huc0b8fc2323799c2161747c6025ef8bc3_62950_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1522&#34; height=&#34;646&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Leave everything default except:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VLAN: 5&lt;/li&gt;
&lt;li&gt;IP Addressing: Use IP Pool&lt;/li&gt;
&lt;li&gt;IP Pool: VXLAN-VTEP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Click ok and wait a few seconds, although it could give an error (didn&amp;rsquo;t find out why yet), the error will dissappear after a refresh.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_hostprep_error_hud973d25d8d802ebe466dc6594ceaca7f_4767_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_hostprep_error_hud973d25d8d802ebe466dc6594ceaca7f_4767_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1223&#34; height=&#34;48&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;If you go to the distributed switch of one of the cluster you should see something as follows:&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_dswitch_hu6890fa3210f07e0d1dae1da2ab675479_17287_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_dswitch_hu6890fa3210f07e0d1dae1da2ab675479_17287_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;550&#34; height=&#34;255&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now we need to specify the VXLAN segment ID&amp;rsquo;s, therefore go to the &amp;ldquo;Logical Network Preparation&amp;rdquo; tab in the installation settings, select &amp;ldquo;Segment ID&amp;rdquo; and click edit. Fill in the following segment ID pool, which should be more than enough for this lab environment.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Segment ID Pool: 5000 - 5999&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We don&amp;rsquo;t have to enable multicast, since we are running on ESXi 5.5 hosts.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_step1_huddfbed41c9828614ceb3096bbd0bb8e5_29589_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_step1_huddfbed41c9828614ceb3096bbd0bb8e5_29589_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1439&#34; height=&#34;564&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;The last part is to create a &amp;ldquo;Transport Zone&amp;rdquo;, this will tell NSX which clusters are able to communicate with each other. Click on &amp;ldquo;Transport Zones&amp;rdquo; and click the green plus sign.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: LAB-Zone&lt;/li&gt;
&lt;li&gt;Control Plane Mode: Unicast&lt;/li&gt;
&lt;li&gt;Clusters: Select both&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_transport_huef873f6b5be9210e03e92a9677e28ab0_34974_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-2/nsx_vxlan_transport_huef873f6b5be9210e03e92a9677e28ab0_34974_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;991&#34; height=&#34;763&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now we have everything prepared to do some actual networking with NSX. This is what we will be doing in my next blog post.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Nested Nsx Vmware Nsx on Intel Nuc Lab Setup Part 1</title>
      <link>https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/</link>
      <pubDate>Wed, 17 Dec 2014 08:52:50 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/</guid>
      <description>&lt;p&gt;While the 
&lt;a href=&#34;http://labs.hol.vmware.com/&#34; title=&#34;VMware Hands-on Labs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;VMware Hands-on Labs&lt;/a&gt; are extremely cool and useful, I found it always very learning-full and nonetheless fun to build my own labs. To keep it fun and keep down the noise and powering costs I decided 
&lt;a href=&#34;https://blog.breekeenbeen.nl/post/new-home-lab-intel-nuc-vsphere-5-5u1/&#34;&gt;to buy some Intel NUCs&lt;/a&gt;, which have a good price tag and are very low on energy. Last couple of months I&amp;rsquo;m very interested in 
&lt;a href=&#34;http://www.vmware.com/nl/products/nsx&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;VMware NSX&lt;/a&gt; and it is time to try-out running this in my own Lab and on one Intel NUC, which means not much resources but I&amp;rsquo;m wondering if it can be done and hopefully work well enough to play around. In the next coming posts I will show you the steps I take to get things working, so you can follow me on this journey. This first part will concentrate on how to get the nested environment up &amp;amp; running. One of the biggest downsides of the Intel NUC is that it only has one NIC, which makes it difficult to run all needed parts and another caveat is that chances are that you will lock-out yourself. Luckily ESXi can run itself, we call this a nested environment. Below you see a very abstract picture about the set-up we are going to create. As you can see I choose to let the nested ESXi servers interact directly with my NAS (Synology), mainly to save resources and time. If you want a complete nested and virtualized environment including storage you are of course free to do so.&lt;/p&gt;





  
  











&lt;figure id=&#34;figure-nested-nsx-abstract&#34;&gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/featured_hu70459906523241e5041f6889b4358327_3890_2000x2000_fit_lanczos_3.png&#34; data-caption=&#34;Nested NSX abstract&#34;&gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/featured_hu70459906523241e5041f6889b4358327_3890_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;340&#34; height=&#34;188&#34;&gt;
&lt;/a&gt;


  
  
  &lt;figcaption&gt;
    Nested NSX abstract
  &lt;/figcaption&gt;


&lt;/figure&gt;

&lt;p&gt;The blue components are the more physical parts of this environment and the actual lab is more located at the green components. I assume you have already running ESXi on your Intel NUC (or other system), if not below two good links to get you started.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;http://www.virten.net/2013/12/vmware-vsphere-homeserver-homelab-esxi-on-4th-gen-intel-nuc/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www.virten.net/2013/12/vmware-vsphere-homeserver-homelab-esxi-on-4th-gen-intel-nuc/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;http://www.tekhead.org/blog/2013/01/nanolab-running-vmware-vsphere-on-intel-nuc-part-1/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www.tekhead.org/blog/2013/01/nanolab-running-vmware-vsphere-on-intel-nuc-part-1/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When you have ESXi running on your NUC, we can create a nested environment on it. I will start small, cause I have no idea, how the NUC will handle the load and it will be easy to add another node in the feature (also a good test case). How to create nested ESXi servers isn&amp;rsquo;t new, but I will cover shortly how I&amp;rsquo;ve done it. A small note lots of older blogpost write about the vhv.enable feature, this isn&amp;rsquo;t necessary in ESXi 5.5 cause it will be set to true by default.&lt;/p&gt;
&lt;h2 id=&#34;network&#34;&gt;Network&lt;/h2&gt;
&lt;p&gt;This has nothing to do with NSX yet, but it will enable our nested hosts to communicate with the outside world. We are going to create a TRUNK port-group, so that we can use in the future different VLANs to segment the traffic, this however requieres that the connected physical switch also supports VLANs. Don&amp;rsquo;t worry if not, than this all will probably still work, however I didn&amp;rsquo;t tested it. Go to the host, networking configuration and add a port-group, with the following settings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VLAN ID: ALL (4095)&lt;/li&gt;
&lt;li&gt;Security - Promiscuous mode: Override Accept&lt;/li&gt;
&lt;li&gt;Security - MAC address changes: Override Accept (optional)&lt;/li&gt;
&lt;li&gt;Security - Forged transmits: Override Accept&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;




  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx7_hu0c175a0fe832aa2abc353d24e7177a7e_16093_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx7_hu0c175a0fe832aa2abc353d24e7177a7e_16093_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;968&#34; height=&#34;567&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx8_hu7759fd32faa0c55cd0453a1b1abb1a32_21273_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx8_hu7759fd32faa0c55cd0453a1b1abb1a32_21273_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;967&#34; height=&#34;566&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx9_hu8ef0a5a582cb6532e0f883e7717a05ca_24351_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx9_hu8ef0a5a582cb6532e0f883e7717a05ca_24351_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;545&#34; height=&#34;391&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id=&#34;nested-esxi-servers&#34;&gt;Nested ESXi servers&lt;/h2&gt;
&lt;p&gt;Deploy a new VM, I have my ESXi connected to a vCenter environment, this is not the vCenter we will discuss later and is running on another NUC. So I will use the web interface. The steps taken can also be done on the traditional GUI, the only difference will be the HW version, 10 for the WUI and 8 for the GUI. Use the following settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pick a VM name, for the sake of simplicity I use &amp;ldquo;ESX01&amp;rdquo; and &amp;ldquo;ESX02&amp;rdquo;&lt;/li&gt;
&lt;li&gt;OS Family: Other&lt;/li&gt;
&lt;li&gt;OS Version: Other (64 bit)&lt;/li&gt;
&lt;li&gt;CPU: 4 &lt;em&gt;(I started of with 2, but quickly changed to 4, needed for some componentens (i.e. Controllers))&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;CPU - Harware virtualization: Enable&lt;/li&gt;
&lt;li&gt;MEM: 4 GB (enough to get started) &lt;em&gt;(In part 2 I increased the memory of the ESX02 to 8GB)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;HD: 1GB&lt;/li&gt;
&lt;li&gt;Network: Trunk port-group (1 nic is enough to get started)&lt;/li&gt;
&lt;li&gt;CD: Mount the ESXi installer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;




  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx1_hu96edfdf3083925ba625ba01d9d295a1a_37038_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx1_hu96edfdf3083925ba625ba01d9d295a1a_37038_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;966&#34; height=&#34;569&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx2_hud841ef10b845f9d05af96be3fcda2a21_35380_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx2_hud841ef10b845f9d05af96be3fcda2a21_35380_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;966&#34; height=&#34;568&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx3_hu651944ec3937080fa247626363afd6e6_53958_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx3_hu651944ec3937080fa247626363afd6e6_53958_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;966&#34; height=&#34;568&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx4_hu2cc7d9d758995f8e31e4a50d83903a57_53132_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx4_hu2cc7d9d758995f8e31e4a50d83903a57_53132_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;967&#34; height=&#34;569&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Now we created the VM, we can boot it up and start the installation, which is really a next, next finish job. When the installation is done, this can take a several minutes we start configuring the host. Open the console and press F2 and after entering your password go to &amp;ldquo;Configuring Management Network&amp;rdquo;. If you have a trunk port, don&amp;rsquo;t forget to enter the VLAN ID. Give the host an IP address, subnet, gateway and optionally for now some DNS settings. For me the IP&amp;rsquo;s are.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ESX01 IP: 10.10.11.101/24&lt;/li&gt;
&lt;li&gt;ESX02 IP: 10.10.11.102/24&lt;/li&gt;
&lt;li&gt;Gateway: 10.10.11.1&lt;/li&gt;
&lt;/ul&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx5_hu6a6a13ba3f1c506eeacdd9ee4fb3b576_92523_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx5_hu6a6a13ba3f1c506eeacdd9ee4fb3b576_92523_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1032&#34; height=&#34;776&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Since this is a lab environment I will enable the SSH console, you can do this under &amp;ldquo;Troubleshooting Options&amp;rdquo;.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx6_hu01de0a715f20a4cb06800429aa01280b_51514_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx6_hu01de0a715f20a4cb06800429aa01280b_51514_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;1032&#34; height=&#34;777&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Before you exit the console test if you can reach the host, a simple ping test would be sufficient. The last thing we will need to do for now on the new hosts is adding the storage. For me this is a simple NFS share on mine Synology. Go to the host, storage configuration and add the NFS storage.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx91_hu0d53a46088e0f56bfa3c2432c9e9120c_20605_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx91_hu0d53a46088e0f56bfa3c2432c9e9120c_20605_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;752&#34; height=&#34;588&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Before continuing, make sure both hosts are deployed, have storage and are reachable.&lt;/p&gt;
&lt;h2 id=&#34;vcenter&#34;&gt;vCenter&lt;/h2&gt;
&lt;p&gt;The last part of this post is about deploying the vCenter appliance, which is sufficient, for running NSX. Deploy the vCenter 5.5 OVF, I used the following settings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: LAB-vCenter&lt;/li&gt;
&lt;li&gt;IP: 10.10.11.110/24&lt;/li&gt;
&lt;li&gt;GW: 10.10.11.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;(Since the last Chrome update, the vCenter plugin is broken, didn&amp;rsquo;t fixed it yet)&lt;/em&gt;&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx10_hub9d647cbf82358d77e4e3de971544430_22206_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx10_hub9d647cbf82358d77e4e3de971544430_22206_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;728&#34; height=&#34;692&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/vcenter_ovf_Settings_hu073f5495ff41fe437e3b34aef156a0ae_23188_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/vcenter_ovf_Settings_hu073f5495ff41fe437e3b34aef156a0ae_23188_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;728&#34; height=&#34;692&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;After the OVF is deployed I decreased the memory to 4GB, which is in my experience enough for a fluent experience in a LAB environment. Start the vCenter VM, as you can see on the console, you should be able to access the initial configuration on https://IPAddress:5480 and login with the default username &amp;ldquo;root&amp;rdquo; and password &amp;ldquo;vmware&amp;rdquo;.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx12_hu668f81ca8a72e5a34497876e62d381fa_211032_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx12_hu668f81ca8a72e5a34497876e62d381fa_211032_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;726&#34; height=&#34;405&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;






  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx13_hu8110fce5f20295660bdd9c4d42d96029_14546_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx13_hu8110fce5f20295660bdd9c4d42d96029_14546_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;528&#34; height=&#34;246&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;After logging in, accept the license (of course first read it). I choose for &amp;ldquo;configure with default settings&amp;rdquo;, after clicking next and start, it will configure itself, but this will take a while. When the configuration is done, the last change I make on the configuration is that the password of the admin will not expire.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx14_hud4072981a07265895546179290b716c3_32275_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx14_hud4072981a07265895546179290b716c3_32275_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;564&#34; height=&#34;516&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now we are done we can actuale access the vCenter interface by going to https://IPaddress:9443/vsphere-client&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx15_hua53048e903e148831cb10ef8bd978f38_47111_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx15_hua53048e903e148831cb10ef8bd978f38_47111_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;581&#34; height=&#34;351&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;We don&amp;rsquo;t worry about license keys for now, so you can simply ignore this message or close it by clicking the cross sign on the right. Go to vCenter and click on hosts and clusters. Now we  start by creating a new Datacenter. Click on &amp;ldquo;Create datacenter&amp;rdquo; and if you want give it a name, you can also leave it default &amp;ldquo;Datacenter &amp;quot; and click ok. Now we are going to create two clusters, called;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Management_and_Edge&lt;/li&gt;
&lt;li&gt;Compute&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Click on create cluster and give it the desired name, we can leave HA and DRS off. You can create the second cluster by right clicking on the Datacenter. When both clusters are created we need to add the ESX hosts to the appropriate cluster. We add ESX02 to the Managment &amp;amp; Edge cluster and the ESX01 to the Compute cluster.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx16_hu221f3070abf71ca790ca99eeae4508db_13603_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx16_hu221f3070abf71ca790ca99eeae4508db_13603_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;653&#34; height=&#34;265&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Right click on the cluster and select &amp;ldquo;Add Host&amp;rdquo;. Fill in the IP of the host, on the next page the username and password of that specific Host, leave the other settings default.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx17_huc448840d5cb160079b0b613e674b58b5_16671_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx17_huc448840d5cb160079b0b613e674b58b5_16671_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;547&#34; height=&#34;208&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Do this for both hosts, when you have done this, your environment should look as follow.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx18_hu97345615e8a3be6d7980b6315effed6e_13876_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nested-nsx-vmware-nsx-on-intel-nuc-lab-setup-part-1/new_nested_esx18_hu97345615e8a3be6d7980b6315effed6e_13876_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;228&#34; height=&#34;221&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;For now we are done, we have setup a basic nested environment on which we will go install and configure NSX. When you are bored and can&amp;rsquo;t wait for the next post or just want to optimize your environment, consider the following actions, these are all optional and not necessary to install NSX, also these steps can be taken on a later time.&lt;/p&gt;
&lt;h2 id=&#34;optional-but-nice&#34;&gt;Optional but nice!&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://labs.vmware.com/flings/vmware-tools-for-nested-esxi&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;VMtools for nested ESXi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://labs.vmware.com/flings/esxi-mac-learning-dvfilter&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ESXi Mac Learning dvFilter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://blog.breekeenbeen.nl/post/enable-nfs-vaai-on-a-synology-x10/&#34;&gt;Enable NFS VAAI on a Synology x10&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Mikrotik VLAN Switching Without Bridging</title>
      <link>https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/</link>
      <pubDate>Thu, 11 Dec 2014 19:41:18 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/</guid>
      <description>&lt;p&gt;One of the greatest networking vendors for homelabs is in my opinion Mikrotik, they offer great (often enterprise) features for a very compelling price. On the other hand it can be a bit daunting to configure and the firmware releases aren&amp;rsquo;t always equally stable. Last week I upgraded in my homelab one of two 
&lt;a href=&#34;http://routerboard.com/RB2011UiAS-2HnD-IN&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RB2011UiAS&amp;rsquo;s&lt;/a&gt;, which are I think the most popular Routerboards, for a 
&lt;a href=&#34;http://routerboard.com/CRS125-24G-1S-2HnD-IN&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CRS125&lt;/a&gt;, cause I was in need of more 1 gigabit ports. Previously I did all my VLAN configuring using bridging, which works, but there is a faster way, by using the internal switch chip, instead of the CPU. So this upgrade was the perfect case for me, to change this. Because this can be a bit hard in understanding and most 
&lt;a href=&#34;http://wiki.mikrotik.com/wiki/Vlans_on_Mikrotik_environment&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tutorials&lt;/a&gt; on the web are about bridging. I decided to do a little write-up, about how this can be done without bridging. I will take it even a bit further and making sure we have a management address configured on the switch and we can use the wireless network. Before we actually start, a bit of understanding how the internals work, it is based on this 
&lt;a href=&#34;http://wiki.mikrotik.com/wiki/Manual:CRS_features&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;site&lt;/a&gt;, but I will try to clarify it even a bit more.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A small disclaimer; the workings are described as far as my understanding goes, if you find any mistakes, please let me know!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the below picture you find a simple logic representation of the inner workings.&lt;/p&gt;





  
  











&lt;figure id=&#34;figure-mikrotik-inner-workings&#34;&gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA2_hu1af22e357dea4373aeacd35325c44490_1497_2000x2000_fit_lanczos_3.png&#34; data-caption=&#34;Mikrotik inner workings&#34;&gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA2_hu1af22e357dea4373aeacd35325c44490_1497_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;309&#34; height=&#34;207&#34;&gt;
&lt;/a&gt;


  
  
  &lt;figcaption&gt;
    Mikrotik inner workings
  &lt;/figcaption&gt;


&lt;/figure&gt;

&lt;p&gt;The physical switch ports are connected to the switch chip and the switch chip has also a connection to the CPU. The CPU is where all the clever things happen, think about, routing, bridging, nat(-ting?), etc. So when we created simple interfaces for bridging the flow will go like the picture below.&lt;/p&gt;





  
  











&lt;figure id=&#34;figure-mikrotik-bridging&#34;&gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA3_hub0f17a86417826294fa346da9f545a62_2607_2000x2000_fit_lanczos_3.png&#34; data-caption=&#34;Mikrotik bridging&#34;&gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA3_hub0f17a86417826294fa346da9f545a62_2607_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;459&#34; height=&#34;234&#34;&gt;
&lt;/a&gt;


  
  
  &lt;figcaption&gt;
    Mikrotik bridging
  &lt;/figcaption&gt;


&lt;/figure&gt;

&lt;p&gt;There is nothing wrong with this and gives us great flexibility, but when you only need layer 2 switching this generates a lot of unnecessary pressure on the CPU. So this can be done more efficient by connecting the right interfaces on the switch chip, this way the traffic won&amp;rsquo;t need to pass the CPU, which is far more efficient. We can talk about &amp;ldquo;wire speed&amp;rdquo; here.&lt;/p&gt;





  
  











&lt;figure id=&#34;figure-mikrotik-hardware-switching&#34;&gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA4_hubfb8507a857553d7161328b2c5987ff0_2217_2000x2000_fit_lanczos_3.png&#34; data-caption=&#34;Mikrotik hardware switching&#34;&gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA4_hubfb8507a857553d7161328b2c5987ff0_2217_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;459&#34; height=&#34;220&#34;&gt;
&lt;/a&gt;


  
  
  &lt;figcaption&gt;
    Mikrotik hardware switching
  &lt;/figcaption&gt;


&lt;/figure&gt;

&lt;p&gt;In the picture above interface ether01, ether02 and ether03 are connected with each other and ether01 is a trunk (=multi-vlan port), probably an uplink and ether02 and 03 could be access ports which go to a vlan unaware device a PC or printer for example. This is the basic idea what we are going to set-up, although we make it a bit more complex. We want a management interface which must also be routable (i.e. for NTP and updates) and we want to connect the wireless. So let&amp;rsquo;s say for example we have 4 vlans.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Servers – vlan 10&lt;/li&gt;
&lt;li&gt;Clients – vlan 20&lt;/li&gt;
&lt;li&gt;Wireless – vlan 30&lt;/li&gt;
&lt;li&gt;Management – vlan 40&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interfaced are used as follow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ether01 – Uplink / trunk&lt;/li&gt;
&lt;li&gt;ether02 – trunk (vlan 40, vlan 10) (i.e. ESX)&lt;/li&gt;
&lt;li&gt;ether03 – access port vlan 10 (i.e. NAS)&lt;/li&gt;
&lt;li&gt;ether04 – access port vlan 20 (i.e. desktop)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What we would like to accomplish would look like this, assuming that we only need layer 2 switching for the vlans and that only the management vlan is routable.&lt;/p&gt;





  
  











&lt;figure id=&#34;figure-mikrotik-mixed-setup&#34;&gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA5_hu22eb18c76fc311afff5b24653a046a24_3105_2000x2000_fit_lanczos_3.png&#34; data-caption=&#34;Mikrotik mixed setup&#34;&gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/mikrotik-vlan-switching-without-bridging/121114_2022_MikrotikVLA5_hu22eb18c76fc311afff5b24653a046a24_3105_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;459&#34; height=&#34;222&#34;&gt;
&lt;/a&gt;


  
  
  &lt;figcaption&gt;
    Mikrotik mixed setup
  &lt;/figcaption&gt;


&lt;/figure&gt;

&lt;blockquote&gt;
&lt;p&gt;Be aware that in this set-up devices in different vlans aren&amp;rsquo;t able to communicate with each other! Therefore you need a router or make a routable interface, like the management one.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The first step is to connect the interfaces to each other, this can be done by choosing a master-port and make the other interfaces slaves of it, in this example we choose to make &amp;ldquo;ether01&amp;rdquo; the master port.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; interface ethernet
[admin@MikroTik] /interface ethernet&amp;gt;set numbers=1,2,3 master-port=ether01

[admin@MikroTik] &amp;gt; interface ethernet print
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;Flags: X - disabled, R - running, S - slave
 #    NAME    MTU  MAC-ADDRESS       ARP        MASTER-PORT       SWITCH
 0 R  ether01 1500 D4:CA:6D:CE:3C:20 enabled    none              switch1
 1  S ether02 1500 D4:CA:6D:CE:3C:21 enabled    ether01           switch1
 2 RS ether03 1500 D4:CA:6D:CE:3C:22 enabled    ether01           switch1
 3  S ether04 1500 D4:CA:6D:CE:3C:23 enabled    ether01           switch1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After this we can start with the vlan configuration, which also consists of a few steps and is done differently than you see at more regular switch vendors (i.e. Cisco, HP). We start deciding which vlans are needed on which port, important to see here is that switch1-cpu is actually a port and will forward the traffic to the CPU. So the management and the wireless vlan are needed on the switch1-cpu port.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; interface ethernet switch vlan
[admin@MikroTik] /interface ethernet switch vlan&amp;gt; add ports=ether01,ether02,ether03 vlan-id=10
[admin@MikroTik] /interface ethernet switch vlan&amp;gt; add ports=ether01,ether04 vlan-id=20
[admin@MikroTik] /interface ethernet switch vlan&amp;gt; add ports=ether01,switch1-cpu vlan-id=30
[admin@MikroTik] /interface ethernet switch vlan&amp;gt; add ports=ether01,ether03,switch1-cpu vlan-id=40
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now we need to decide which ports are carrying &amp;ldquo;tagged&amp;rdquo; vlan traffic and which ports are receiving &amp;ldquo;untagged&amp;rdquo; traffic. In this example &amp;ldquo;ether03&amp;rdquo; and &amp;ldquo;ether04&amp;rdquo; will receive untagged traffic. To make this traffic go to the right ports we need to &amp;ldquo;tag&amp;rdquo; this traffic when we receive (ingress) it.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; interface ethernet switch ingress-vlan-translation
[admin@MikroTik] /interface ethernet switch ingress-vlan-translation&amp;gt; add ports=ether03 new-customer-vid=10
[admin@MikroTik] /interface ethernet switch ingress-vlan-translation&amp;gt; add ports=ether04 new-customer-vid=20
[admin@MikroTik] /interface ethernet switch ingress-vlan-translation&amp;gt; print
 0   ports=ether03 service-vlan-format=any customer-vlan-format=any new-customer-vid=10 pcp-propagation=no sa-learning=no
 1   ports=ether04 service-vlan-format=any customer-vlan-format=any new-customer-vid=20 pcp-propagation=no sa-learning=no
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now all the traffic that is coming in the switch is &amp;ldquo;tagged&amp;rdquo; correctly, we can decide where the &amp;ldquo;tagged&amp;rdquo; traffic may go (egress). We also need to specify the &amp;ldquo;switch1-cpu&amp;rdquo; port here, cause for the &amp;ldquo;switch chip&amp;rdquo; it is just a port, where traffic can go.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; interface ethernet switch egress-vlan-tag
[admin@MikroTik] /interface ethernet switch egress-vlan-tag&amp;gt; add vlan-id=10 tagged-ports=ether01,ether02
[admin@MikroTik] /interface ethernet switch egress-vlan-tag&amp;gt; add vlan-id=20 tagged-ports=ether01
[admin@MikroTik] /interface ethernet switch egress-vlan-tag&amp;gt; add vlan-id=30 tagged-ports=ether01,switch1-cpu
[admin@MikroTik] /interface ethernet switch egress-vlan-tag&amp;gt; add vlan-id=40 tagged-ports=ether01,ether02,switch1-cpu

[admin@MikroTik] /interface ethernet switch egress-vlan-tag&amp;gt; print
Flags: X - disabled, I - invalid, D - dynamic
 #   VLAN-ID TAGGED-PORTS
 0        10 ether01
             ether02
 1        20 ether01
 2        30 ether01
             switch1-cpu
 3        40 ether01
             ether02
             switch1-cpu
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;vlan 10 and 20 should be working by now. So now we only need to do something clever with the management and the wireless. Let&amp;rsquo;s start with the management. We create a vlan interface, which can be handled by CPU.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; interface vlan
[admin@MikroTik] /interface vlan&amp;gt; add name=vlan40 interface=ether01 vlan-id=40
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Connect the management IP to this interface.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; ip address
[admin@MikroTik] /ip address&amp;gt; add address=10.10.10.10 netmask=255.255.255.0 interface=vlan40
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To make sure this interface can be used for updating ntp or download updates we need to make it routable. (assuming the router address is 10.10.10.1)&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik\] &amp;gt; ip route
[admin@MikroTik\] /ip route&amp;gt; add dst-address=0.0.0.0/0 gateway=10.10.10.1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;From now on this IP could be used for management. The last step is the wireless, for this we also need to make a vlan interface, which we will bridge to the wireless interface. (for as far as I know this is the only way).&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik\] &amp;gt; interface vlan
[admin@MikroTik\] /interface vlan&amp;gt; add name=vlan30 interface=ether01 vlan-id=30
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Create a bridge&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; interface bridge
[admin@MikroTik] /interface bridge&amp;gt; add name=br-wireleass
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The last step is to actually bridge the wireless with the vlan interface&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-mikrotik&#34;&gt;[admin@MikroTik] &amp;gt; interface bridge port
[admin@MikroTik] /interface bridge port&amp;gt; add bridge=br-wireless interface=vlan30
[admin@MikroTik] /interface bridge port&amp;gt; add bridge=br-wireless interface=wlan1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&amp;rsquo;s all! Hopefully it was any helpfull and will give you a clear understanding how things work.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update 2015-07-15: Check this awesome Youtube explanation by David Gonzalez&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/aHrziihf8NE&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>Bind DNS Server in Homelab With Split View</title>
      <link>https://blog.breekeenbeen.nl/post/bind-dns-server-in-homelab-with-split-view/</link>
      <pubDate>Tue, 23 Sep 2014 19:54:11 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/bind-dns-server-in-homelab-with-split-view/</guid>
      <description>&lt;p&gt;One of the most undervalued infrastructure components in my opinion is DNS. A lot of services / components rely upon DNS and if DNS is mis-configured, not available, slow function or somehting else doing that shouldn&amp;rsquo;t be happening, it can lead to performance and other strange problems. In my homelab I&amp;rsquo;m running BIND DNS. One of the main reasons I choose BIND is the option to use Views. Views are making sure if I&amp;rsquo;m internally connected (e.g. WiFi @  Home) I get an internel IP as a response and if I&amp;rsquo;m externally connected, I get my public IP as response. My installation is based upon Debian 7, I won&amp;rsquo;t go into much details about this installation, since it is pretty straight forward. Make sure you use an static IP, don&amp;rsquo;t set your DNS to the server IP yet :) and I prefer to only install SSH, so I can start with a nice clean machine. First let&amp;rsquo;s install the BIND packages.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;aptitude install bind9
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Al the configuration files are stored in /etc/bind, so let&amp;rsquo;s go to this directory and start with creating a forwarder, so all DNS request can go through this DNS server. We will protect this forwarder by an ACL, so only internal cliënts can use this DNS server for relaying.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;cd /etc/bind
nano named.conf.options
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;At the top of this file, before options, create the ACL, I use RFC1918, cause my subnets will vary a lot in my lab.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;acl &amp;quot;trusted&amp;quot; {
        192.168.0.0/16;
        172.16.0.0/12;
        10.0.0.0/8;
        localhost;
        localnets;
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In this example localnets, isn&amp;rsquo;t necessary assuming the server is already part of one the above listed subnets. Next we will add the lines, which enables the forwarding, these should be placed within the options placeholder.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;forwarders {
       8.8.8.8;
       8.8.4.4;
};

allow-query { any; };
allow-recursion { trusted; };
allow-query-cache { trusted; };
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&amp;rsquo;s it for the forwarding. Now let&amp;rsquo;s create our own domain. First let&amp;rsquo;s disable the default configuration.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;nano named.conf
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and comment the line include &amp;ldquo;/etc/bind/named.conf.default-zones&amp;rdquo;;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;//include &amp;quot;/etc/bind/named.conf.default-zones&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Open up named.conf.local&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;nano named.conf.local
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and add the following lines.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;view &amp;quot;local&amp;quot; {
        match-clients {10/8; 172.16/12; 192.168/16;};
        zone &amp;quot;lab.breekeenbeen.nl&amp;quot; {
                type master;
                file &amp;quot;/etc/bind/zones/lab.breekeenbeen.nl.local&amp;quot;;
        };

        zone &amp;quot;11.10.10.in-addr.arpa&amp;quot; {
                type master;
                file &amp;quot;/etc/bind/zones/rev.11.10.10.in-addr.arpa&amp;quot;;
        };

};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Here we declare a view, which will only listen to RFC1918 (local) addresses, we than create two different zones, one for forward look-ups and second for reverse look-ups. In his case the domain/zone is &amp;ldquo;lab.breekeenbeen.nl&amp;rdquo; and the IP range for the reverse look-up is 10.10.11.*. As you can see, we are pointing to two different files, these files will actually contain the hostnames. So let&amp;rsquo;s create and edit them. I added the .local for recognitizion that it will contain local addresses.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;mkdir zones
touch zones/lab.breekeenbeen.nl.local
touch zones/rev.11.10.10.in-addr.arpa
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Let&amp;rsquo;s start with the forward look-up table.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;nano zones/lab.breekeenbeen.nl.local
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$TTL 3D
@       IN      SOA     ns1.lab.breekeenbeen.nl. root.localhost(
        2014092201      ; serial number
        28800           ; refresh (i.e. 3h)
        3600            ; retry (i.e. 15M)
        604800          ; expire (i.e. 3W12h)
        38400           ; minimum (i.e. 2h20M)
);

@                       IN      NS      ns1.lab.breekeenbeen.nl.

dnsserver               IN      A       10.10.11.3;
ns1                     IN      A       10.10.11.3;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The above sample is pretty basic, remember everytime you make changes and commit them, you need to change the serial number, I use year-month-date-follow-up as a serialnumber. Every host can be added on a new line, here is one host &amp;ldquo;dnsserver&amp;rdquo; which will result in IP 10.10.11.3, the FQDN of this host is dnsserver.lab.breekeenbeen.nl. Restart the DNS server and check if it works with nslookup.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;root@dnsserver:/etc/bind# nslookup
&amp;gt; server 10.10.11.3
Default server: 10.10.11.3
Address: 10.10.11.3#53
&amp;gt; dnsserver
Server:         10.10.11.3
Address:        10.10.11.3#53

Name:   dnsserver.lab.breekeenbeen.nl
Address: 10.10.11.3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If it doesn&amp;rsquo;t work, you can check on errors in the syslog.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;tail /var/log/syslog
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&amp;rsquo;s it, now the last thing to configure is the reverse look-up.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;nano zones/rev.11.10.10.in-addr.arpa
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;$TTL 3D
@       IN      SOA     ns1.lab.breekeenbeen.nl. root.localhost(
        2014092201      ; serial number
        28800           ; refresh (i.e. 3h)
        3600            ; retry (i.e. 15M)
        604800          ; expire (i.e. 3W12h)
        38400           ; minimum (i.e. 2h20M)
);

                        IN      NS      ns1.lab.breekeenbeen.nl.

3                       IN      PTR     dnsserver.lab.breekeenbeen.nl.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Restart the DNS server and check if the reverse look-up works.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;root@dnsserver:/etc/bind# nslookup
&amp;gt; server 10.10.11.3
Default server: 10.10.11.3
Address: 10.10.11.3#53
&amp;gt; set type=PTR
&amp;gt; 10.10.11.3
Server:         10.10.11.3
Address:        10.10.11.3#53

3.11.10.10.in-addr.arpa name = dnsserver.lab.breekeenbeen.nl.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now we can do exactly the same for the external look-ups. We just add another view for the external requests.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;nano named.conf.local

view &amp;quot;external&amp;quot; {
        match-clients { any; };

        zone &amp;quot;lab.breekeenbeen.nl&amp;quot; {
                type master;
                file &amp;quot;/etc/bind/zones/lab.breekeenbeen.nl.external&amp;quot;;
        };
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It depends on your configuration if you need/want a reverse lookup for external requests. If you run an e-mail server for example it would be wise to set-up a reverse lookup zone. For now I leave the reverse look-up out of it, but it is exactly the same as described above. Like we did for internal, we create the external look-up file and fill it with the appropriate configuration. To speed things up, we just copy the
file.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;cp zones/lab.breekeenbeen.nl.local zones/lab.breekeenbeen.nl.external
nano zones/lab.breekeenbeen.nl.external

$TTL 3D
@       IN      SOA     ns1.lab.breekeenbeen.nl. root.localhost(
        2014092201      ; serial number
        28800           ; refresh (i.e. 3h)
        3600            ; retry (i.e. 15M)
        604800          ; expire (i.e. 3W12h)
        38400           ; minimum (i.e. 2h20M)
);

@                       IN      NS      ns1.lab.breekeenbeen.nl.

*                       IN      A       8.8.8.8

dnsserver               IN      A       8.8.8.8
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As you can see, you can also add an asterisk (*) to answer the public IP on all public requests ending on .lab.breekeenbeen.nl. Before we can test the external request, you have to make a firewall rule which NAT all the UDP/53 request, to this server. Make sure if you&amp;rsquo;re going to test the configuration, that you do this from an external client and your DNS server set to your public IP. If you also want other requests for your domain coming to you through other DNS servers, you have to make a so called glue record at your domain hosting provider.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Nac Getting in Control of Your Mab Enabled Clients</title>
      <link>https://blog.breekeenbeen.nl/post/nac-getting-in-control-of-your-mab-enabled-clients/</link>
      <pubDate>Fri, 25 Mar 2011 19:11:08 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/nac-getting-in-control-of-your-mab-enabled-clients/</guid>
      <description>&lt;p&gt;It has been a while since I wrote a paper about the implementation of NAC. Now almost a year later it is finally in progress of implementation. One of the most time consuming processes and error sensitive ones is the adding of MAC addresses to the Active Directory of devices which doesn’t support Dot1X. Unfortunately there are a lot of devices which don’t speak Dot1X or having troubles with it. So if you want to do it right (IMO) you put these devices in different categories (and subnets) so you can put ACL’s on it (MAC spoofing can be easily done). At this moment we have three different categories within MAB authentication, which may grow in the near future; Thin clients, Printers and temporarily devices. To keep an clean view of all these MAC addresses in the AD I categories these MAC address in different OU’s, so I have three different OU’s which represent the different devices. We use Microsoft NPS server as Radius server and unfortunately you can’t (at least I didn’t find it) use the OU as a hit for a rule. So you also need to make three groups in which you place the MAC addresses (these are user objects in the AD). You also want to delete the “Domain User” group from the MAC address. Otherwise people would be able to login with MAC address on you domain members. So there you have already three different steps to just add one MAC address.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Add the MAC address to the right OU.&lt;/li&gt;
&lt;li&gt;Add the MAC address to the right group.&lt;/li&gt;
&lt;li&gt;Delete the group Domain Users (to accomplish this, set the other group as primary.)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This isn’t a problem, but if you have to add MAC addresses regularly, this is quiet annoying and you easily forget one of those steps. Another thing you might consider is that most of the time MAC addresses are added by other persons, it would be nice if you give them a tool which makes it easier for them and less faulty. To accomplish this I wrote a Powershell script (actual my first one, so be nice :-) ). This scripts draws a simple menu where a user simply can add or delete a MAC address. Since we in the same project move the printers to DHCP (reservations) I also added this option.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/nac-getting-in-control-of-your-mab-enabled-clients/featured_huf5f5d64bde187248f53e9689e6e5531f_63190_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/nac-getting-in-control-of-your-mab-enabled-clients/featured_huf5f5d64bde187248f53e9689e6e5531f_63190_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;492&#34; height=&#34;236&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Below you find the powershell script, make sure the users have rights to the right OU in the AD, in the example it is “Network Access” and also give them rights on the User folder in the AD, otherwise the “Domain Users” group can’t be deleted (Took me almost an hour). If you also want to use the DHCP functionality, make sure they have rights there too. The script makes use of Quest &amp;ldquo;
&lt;a href=&#34;http://www.quest.com/powershell/activeroles-server.aspx&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ActiveRoles Management Shelf&lt;/a&gt;&amp;rdquo;, so this one needs to be installed. I tried to translate all the Dutch comment, to English and I also filled the variables with fictional values. If you have any comments or improvements, please let me know. Since it is my first powershell script, I’m sure there are.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-powershell&#34;&gt;# =============================================================
#	 NAAM: nac_menu.ps1
#  AUTEUR: Rob Maas
#   DATUM: 21-03-2011
# COMMENT: Adding/deleting MAC addresses to the AD for MAB.
# =============================================================

#[ GENERAL ]
# DHCP Settings
$dhcpServer 		= &amp;quot;DHCPSERVER1&amp;quot;
$dhcpScopePrinters 	= &amp;quot;192.168.1.0&amp;quot;

# Apparaat specifieke eigenschappen
$printer 	= @{&amp;quot;Name&amp;quot; = &amp;quot;Printer&amp;quot;; `
		       &amp;quot;OU&amp;quot; = &amp;quot;ou=Printers,ou=MAC,ou=Network Access,ou=corporation,dc=domain,dc=com&amp;quot;; `
		       &amp;quot;GRP&amp;quot; = &amp;quot;NA_Printers&amp;quot;}
$thinclient	= @{&amp;quot;Name&amp;quot; = &amp;quot;Thin Client&amp;quot;; `
		       &amp;quot;OU&amp;quot; = &amp;quot;ou=Thin Client,ou=MAC,ou=Network Access,ou=corporation,dc=domain,dc=com&amp;quot;; `
		       &amp;quot;GRP&amp;quot; = &amp;quot;NA_Thinclient&amp;quot;}
$temporary = @{&amp;quot;Name&amp;quot; = &amp;quot;Temporarily device&amp;quot;; `
		       &amp;quot;OU&amp;quot; = &amp;quot;ou=Temporarily,ou=MAC,ou=Network Access,ou=corporation,dc=domain,dc=com&amp;quot;; `
		       &amp;quot;GRP&amp;quot; = &amp;quot;NA_Temporarily&amp;quot;}

#[ MENU Declaration ]
# MAINMENU
$mnuMainTitle = &amp;quot;NAC Menu&amp;quot;	#Title
# Name
$mnuMainItems = @((0..4),(0..4))	#Dummy values
$mnuMainItems[0][0] = &amp;quot;Add MAC address&amp;quot;
$mnuMainItems[0][1] = &amp;quot;Delete MAC address&amp;quot;
$mnuMainItems[0][2] = &amp;quot;Add printer to DHCP &amp;quot;
$mnuMainItems[0][3] = &amp;quot;Delete printer from DHCP&amp;quot;
$mnuMainItems[0][4] = &amp;quot;Exit&amp;quot;
# Corresponding functions
$mnuMainItems[1][0] = {ShowAddMacMenu}
$mnuMainItems[1][1] = {DelMAC}
$mnuMainItems[1][2] = {AddPrinterToDHCP}
$mnuMainItems[1][3] = {DelPrinterFromDHCP}
$mnuMainItems[1][4] = {Exit}

#ADDMAC MENU
$mnuAddMacTitle = &amp;quot;Add MAC address&amp;quot;
$mnuAddMAC = @((0..3),(0..3))
#Name
$mnuAddMac[0][0] = &amp;quot;Add Thinclient&amp;quot;
$mnuAddMac[0][1] = &amp;quot;Add printer&amp;quot;
$mnuAddMac[0][2] = &amp;quot;Add temporarily device&amp;quot;
$mnuAddMac[0][3] = &amp;quot;Main menu&amp;quot;
#Corresponding
$mnuAddMac[1][0] = {AddMac $thinclient}
$mnuAddMac[1][1] = {AddMac $printer}
$mnuAddMac[1][2] = {AddMac $temporarily}
$mnuAddMac[1][3] = {ShowMainMenu}

#[ -- SCRIPT -- ]
#Methods in alphabeticall order

function AddMac{
	param($device)
	$address = GetMac;
	#New device
	Write-Host &amp;quot;Give in the&amp;quot; $device[&amp;quot;Name&amp;quot;] &amp;quot;name: &amp;quot; -NoNewline
	$name = $Host.UI.ReadLine()
	New-QADUser -Name $address -UserPassword $address `
		-DisplayName $address `
		-LastName $address `
		-FirstName $address `
		-UserPrincipalName $address `
		-Description $name `
		-SamAccountName $address `
		-ParentContainer $device[&amp;quot;OU&amp;quot;]
	#Unable to change password
	Set-QADUser -Identity $address -PasswordNeverExpires $true | Out-Null
	#Add to right group and delete &amp;quot;domain users&amp;quot; group
	Add-QADGroupMember -Identity $device[&amp;quot;GRP&amp;quot;] -Member $address | Out-Null
	Set-QADUser -Identity $address -ObjectAttributes @{PrimaryGroupID=(Get-QADGroup -Identity $device[&amp;quot;GRP&amp;quot;]).PrimaryGroupToken } #| Out-Null
	Remove-QADGroupMember -Identity &amp;quot;Domain Users&amp;quot; -Member $address #| Out-Null
	Write-Host &amp;quot;Account is created !!!&amp;quot; -ForegroundColor Yellow
	#If it is a printer, add to DHCP?
	if ($device -eq $printer){
		$dhcp = Read-Host &amp;quot;Add the printer to DHCP? (Y|N) ?&amp;quot;
		if ($dhcp -eq &amp;quot;y&amp;quot;) {AddPrinterToDHCP $name $address}
	}
	if (Again) {AddMac $device} else {ShowMainMenu}
}

function Again{
	$again = Read-Host &amp;quot;Again (Y|N) ? &amp;quot;
	switch ($again){
		&amp;quot;Y&amp;quot; {return $true}
		default {return $false}
	}
}

#Add printer to DHCP
function AddPrinterToDHCP{
	param($name, $address)
	if (($address -eq $null) -or ($name -eq $null)){
		$name = Read-Host &amp;quot;Printer name: &amp;quot;
		$address = GetMac $false
	}
	$ip = Read-Host &amp;quot;The IP address of the printer (192.168.1.0)?&amp;quot;
	Write-Host &amp;quot;Printer: `t $name&amp;quot;
	Write-Host &amp;quot;IP: `t`t $ip&amp;quot;
	Write-Host &amp;quot;MAC: `t`t $address&amp;quot;
	$ok = Read-Host &amp;quot;Are the above details correct (Y|N|X = Menu) ?&amp;quot;
	switch ($ok){
		&amp;quot;y&amp;quot; {
			 Invoke-Expression -Command &amp;quot;netsh dhcp server $dhcpServer scope $dhcpScopePrinters add reservedip $ip $address $name&amp;quot; | Out-Null
			 Invoke-Expression -Command &amp;quot;netsh dhcp server $dhcpserver scope $dhcpScopePrinters set reservedoptionvalue $ip 012 STRING $name&amp;quot;
			 if (Again) {AddPrinterToDHCP} else {ShowMainMenu}
			 break}
		&amp;quot;n&amp;quot; {$name = $null
			 $address = $null
			 AddPrinterToDHCP
			 break}
		&amp;quot;x&amp;quot; {ShowMainMenu
			 break}
	}
	$name = $null
	$address = $null
	if (Again) {AddPrinterToDHCP} else {ShowMainMenu}
}

function DelMaC{
	$address = GetMac $false $true
	$delete = Read-Host &amp;quot;Are you sure, you want to delete $address (Y|N) ? &amp;quot;
	switch ($delete){
		&amp;quot;y&amp;quot; {Remove-QADObject -Force -Identity $address | Out-Null
			 Write-Host &amp;quot;$address verwijderd!&amp;quot; -ForegroundColor Yellow
			 if (Again) {DelMac} else {ShowMainMenu}
			 break}
		default {ShowMainMenu
				 break}
	}
}

function DelPrinterFromDHCP{
	$address = GetMac $false $true
	$ip = Read-Host &amp;quot;The IP address of the printer (192.168.1.0)?&amp;quot;
	Write-Host &amp;quot;MAC Adres: `t $address&amp;quot;
	Write-Host &amp;quot;IP Adres: `t $ip&amp;quot;
	$ok = Read-Host &amp;quot;Are the above details correc (Y|N|X = Menu) ?&amp;quot;
	switch ($ok){
		&amp;quot;y&amp;quot; {
			 Invoke-Expression -Command &amp;quot;netsh dhcp server $dhcpServer scope $dhcpScopePrinters delete reservedip $ip $address&amp;quot;
			 if (Again) {DelPrinterFromDHCP} else {ShowMainMenu}
			 ShowMainMenu
			 break}
		&amp;quot;n&amp;quot; {$address = $Null
			 DelPrinterFromDHCP
			 break}
		&amp;quot;x&amp;quot; {ShowMainMenu
			 break}
	}
}

function DrawMenu{
	param($menuItems, $menuTitle, $menuPosition)
	$fgColor = $Host.UI.RawUI.ForegroundColor
	$bgColor = $Host.UI.RawUI.BackgroundColor
	cls
	$l = $menuItems[0].Length - 1;
	$menuWidth = $menuTitle.Length + 8
	Write-Host &amp;quot;`t&amp;quot; -NoNewline
	Write-Host (&amp;quot;*&amp;quot; * $menuWidth) -ForegroundColor $fgColor -BackgroundColor $bgColor
	Write-Host &amp;quot;`t&amp;quot; -NoNewline
	Write-Host &amp;quot;*   $menuTitle   *&amp;quot; -ForegroundColor $fgColor -BackgroundColor $bgColor
	Write-Host &amp;quot;`t&amp;quot; -NoNewline
	Write-Host (&amp;quot;*&amp;quot; * $menuWidth) -ForegroundColor $fgColor -BackgroundColor $bgColor
	Write-Host &amp;quot;&amp;quot;
	Write-Debug &amp;quot;L: $l MenuItems: $menuItems MenuPosition: $menuPosition&amp;quot;
	for ($i = 0; $i -le $l; $i++){
		Write-Host &amp;quot;`t&amp;quot; -NoNewline
		if ($i -eq $menuPosition){
			Write-Host &amp;quot; $($menuItems[0][$i])&amp;quot; -ForegroundColor $bgcolor -BackgroundColor $fgColor
		} else {
			Write-Host &amp;quot; $($menuItems[0][$i])&amp;quot; -ForegroundColor $fgcolor -BackgroundColor $bgColor
		}
	}
	Write-Host
}

function Exit{
	Invoke-Expression -Command &amp;quot;exit&amp;quot;

}

#Check if the given MAC address is valid.
function GetMAC{
	param([bool]$new = $true,		#Has to be new in the AD
		  [bool]$exist = $false)	#Must exist in the AD
	$mac = Read-Host &amp;quot;Give in the MAC address in lowercase and withouth punctuations: &amp;quot;
	#Check if the address has a length of 12
	If ($mac.length -ne 12){
		Write-Host &amp;quot;Invalid address!&amp;quot; -ForegroundColor Red
		if (Again) {GetMac $new $exist; return} else {ShowMainMenu; return}
	}
	If (($new) -and (Get-QADUser -Name $mac)){
		# Already exist
		Write-Host &amp;quot;Address already exist!&amp;quot; -ForegroundColor Red
		if (Again) {GetMAC $new $exist; return} else {ShowMainMenu; return}
	}
	if ((-not $new) -and ($exist) -and (-not (Get-QADUser -Name $mac))){
		#Address not found
		Write-Host &amp;quot;Address not found! &amp;quot; -ForegroundColor Red
		if (Again) {GetMAC $new $exist; return} else {ShowMainMenu; return}
	}
	return $mac
}

function Menu{
	param($menuItems, $menuTitle)
	$vkeyCode = 0
	$menuPosition = 0
	DrawMenu $menuItems $menuTitle $menuPosition
	While ($vkeycode -ne 13){
		$press = $Host.UI.RawUI.ReadKey(&amp;quot;NoEcho,IncludeKeyDown&amp;quot;)
		$vkeyCode = $press.virtualkeycode
		Write-Host &amp;quot;$($press.character)&amp;quot; -NoNewLine
		If ($vkeyCode -eq 38) {$menuPosition--}	#Down
		If ($vkeyCode -eq 40) {$menuPosition++}	#Up
		If ($menuPosition -lt 0) {$menuPosition = $menuItems[0].Length - 1}
		If ($menuPosition -ge $menuItems[0].Length) {$menuPosition = 0}
		DrawMenu $menuItems $menuTitle $menuPosition
	}
	$($menuItems[1][$menuPosition]).Invoke()
}

function ShowAddMACMenu{
	Menu $mnuAddMac $mnuAddMacTitle
}

function ShowMainMenu{
	Menu $mnuMainItems $mnuMainTitle
}

ShowMainMenu
&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>Configuring Vlans on a Draytek Vigor 2130 N</title>
      <link>https://blog.breekeenbeen.nl/post/configuring-vlans-on-a-draytek-vigor-2130-n/</link>
      <pubDate>Tue, 15 Mar 2011 15:35:10 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/configuring-vlans-on-a-draytek-vigor-2130-n/</guid>
      <description>&lt;p&gt;&lt;em&gt;Before I begin, I really need to thank the guy from the&lt;/em&gt; 
&lt;a href=&#34;http://code.google.com/p/vigor2130/issues/detail?id=6&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;em&gt;Vigor 2130 Google Code page&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, I did not get his name, but without his help and patient it would never succeeded. So thank you!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When I bought the Draytek Vigor 2130n one of the requirements I had was VLAN support. I could imagine that in the near future I was willing to split up my home network in multiple networks (VLANs). So I was amazed when the time was finally there, that the VLAN support I was looking for wasn’t supported through the web interface. I even read the manual and there was just no way to configure VLANs the way I wanted. So as my last resort I went to the Google Code page and asked for help. Below you find a summary of how I configured my vlans. Before we actually begin, let me explain what I wanted to built. My idea was to get some experience with the 
&lt;a href=&#34;http://vyatta.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Vyatta&lt;/a&gt; firewall which has a free community edition and since I have a couple of services which are accessible through the Internet I planned to create a DMZ, a LAN and a Transit zone. If we place it in a logical view, it looks something like this.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/configuring-vlans-on-a-draytek-vigor-2130-n/featured_hu0c09c5445c409b1a38ea5b29c073b448_19939_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/configuring-vlans-on-a-draytek-vigor-2130-n/featured_hu0c09c5445c409b1a38ea5b29c073b448_19939_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;455&#34; height=&#34;353&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;As you can see, there are three different zones, so I needed to create at least 3 VLANs. Later on you’ll notice, that the Vigor handles the WAN zone (connection between de router and the modem/Internet) also as VLAN. To make everything just a little more complex the VLANs should be available on a smart switch (
&lt;a href=&#34;http://www.netgear.com/service-provider/products/switches/smart-switches/GS108T-200.aspx&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netgear GS108t v2&lt;/a&gt;) too. This smart switch is connected on the Vigor 2130 on LAN port 4, so I needed to make this port a trunk(multi-vlan port), the other three LAN ports, could be placed in the LAN network. Before we dive any deeper, here are the details for the VLANs, the VLAN ID and subnets. (I know that VLANs are a Layer 2 functionality, but to make the above situation work, we also need to make some Layer 3 changes, which I will explain later).&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;VLAN&lt;/th&gt;
&lt;th&gt;ID&lt;/th&gt;
&lt;th&gt;Subnet&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Transit&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;192.168.1.0/24&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LAN&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;10.0.0.0/24&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DMZ&lt;/td&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;172.16.0.0/24&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WAN&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Unfortunately for those of you who like the mouse, all the settings are made through the CLI. So login to the router with telnet or SSH, depending on your configuration. The VLAN settings are placed in the “vlan” and “vlan_port” files under “/etc/config/switch/”. The “vlan file”, contains the VLAN ID and which ports are member of this VLAN. The membership is a binary filter.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;128&lt;/th&gt;
&lt;th&gt;64&lt;/th&gt;
&lt;th&gt;32&lt;/th&gt;
&lt;th&gt;16&lt;/th&gt;
&lt;th&gt;8&lt;/th&gt;
&lt;th&gt;4&lt;/th&gt;
&lt;th&gt;2&lt;/th&gt;
&lt;th&gt;1&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;LAN4&lt;/td&gt;
&lt;td&gt;LAN3&lt;/td&gt;
&lt;td&gt;LAN2&lt;/td&gt;
&lt;td&gt;LAN1&lt;/td&gt;
&lt;td&gt;WAN&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;As I mentioned before, LAN Port 4 is becoming a trunk (multi-vlan) port for VLAN 20 and 30, the other LAN ports are becoming a member of VLAN 20 (LAN). After configuring the file, with “vi”, it look like this.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2/2 10/32 20/60 30/32&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For example in case you didn’t see where the numbers are coming from, VLAN 20 has LAN ports 1,2,3 and 4 in it. So if you fill in the table.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;128&lt;/th&gt;
&lt;th&gt;64&lt;/th&gt;
&lt;th&gt;32&lt;/th&gt;
&lt;th&gt;16&lt;/th&gt;
&lt;th&gt;8&lt;/th&gt;
&lt;th&gt;4&lt;/th&gt;
&lt;th&gt;2&lt;/th&gt;
&lt;th&gt;1&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;LAN4&lt;/td&gt;
&lt;td&gt;LAN3&lt;/td&gt;
&lt;td&gt;LAN2&lt;/td&gt;
&lt;td&gt;LAN1&lt;/td&gt;
&lt;td&gt;WAN&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Now count the fields that contain yes, with the above values and you will find out, where the number 60 is coming from. So far the “vlan file” configuration, now we need to set the specific port details for the vlans, which can be done in the “vlan_port file”. The vlan_port file, contains the following information.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Port (1 – WAN, 2-5 LAN)&lt;/li&gt;
&lt;li&gt;VLAN Aware (Bring VLAN tag out)&lt;/li&gt;
&lt;li&gt;Ingress filter (Only accept the VLAN belong to this port)&lt;/li&gt;
&lt;li&gt;Frame Type (0 – Accept all frames, 1 – Accept tagged frames only, 2 – Accept untagged frames only)&lt;/li&gt;
&lt;li&gt;VLAN ID&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are only two options which need our attention for the above set-up. The VLAN Aware option, which we need for LAN port 4, cause this port is becoming a trunk (multu-vlan) port. The last port, sets the native VLAN of the Port, which is in our case 20. So after changing the file, it will look like this.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;1/0/0/0/2
2/0/0/0/20
3/0/0/0/20
4/0/0/0/20
5/1/0/0/20
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The most important thing is the last “1” just after the “5”, this makes port 5 (LAN Port 4) a trunk (multi-vlan) port. Now that that the VLANs are created, we can put devices in it. The only problem left is that the devices, cannot communicate with devices in other VLANs, let alone the Internet. So we need to create some gateways. The Vyatta firewall will take care of the routing between the different VLANs, to make sure the routing is working probably, I created rules which allow everything. (So I don’t go blind on a firewall deny rule). This is the picture, with the subnets and specific gateways in it. 
&lt;a href=&#34;http://www.breekeenbeen.nl/wp-content/uploads/2011/03/image1.png&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img src=&#34;http://www.breekeenbeen.nl/wp-content/uploads/2011/03/image_thumb1.png&#34; alt=&#34;image&#34; title=&#34;image&#34;&gt;&lt;/a&gt; On the Vyatta firewall, I created a default routing to the Vigor. So every package which isn’t directly connected (DMZ/LAN/Transit), goes to 192.168.1.254. Before we actually can reach this address on the Vigor, we need to add it. This can be done in the “network file”, which is placed in /etc/config. We need to change the IP-address and the interface name, the number after the period tells to which VLAN this interface belongs to.  So ifname ‘eht0.10’ belongs to VLAN 10. The corresponding part after changing the file.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;config interface lan option ifname &amp;rsquo;eth0.10&amp;rsquo; option proto static option ipaddr    &amp;lsquo;192.168.1.254&amp;rsquo; option netmask   &amp;lsquo;255.255.255.0&amp;rsquo; option detect    0 option type      &amp;lsquo;bridge&amp;rsquo; option pppoe_pass 0&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For the Vigor we need to do the same thing, cause every packet which is for the DMZ or LAN cannot be delivered directly. So we create two routing rules, to make sure the packets are delivered correctly. This can be done in the web interface or in the CLI. 
&lt;a href=&#34;http://www.breekeenbeen.nl/wp-content/uploads/2011/03/image2.png&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img src=&#34;http://www.breekeenbeen.nl/wp-content/uploads/2011/03/image_thumb2.png&#34; alt=&#34;image&#34; title=&#34;image&#34;&gt;&lt;/a&gt; In the CLI, it can be done by editing the “s_route file” which is also placed in the /etc/config directory.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;config static-route sr0 option enable   &amp;lsquo;1&amp;rsquo; option net      &amp;lsquo;172.16.0.0&amp;rsquo; option mask     &amp;lsquo;255.255.255.0&amp;rsquo; option gateway  &amp;lsquo;172.16.1.253&amp;rsquo; config static-route sr1 option enable   &amp;lsquo;1&amp;rsquo; option net      &amp;lsquo;10.0.0.0&amp;rsquo; option mask     &amp;lsquo;255.255.255.0&amp;rsquo; option gateway  &amp;lsquo;172.16.1.253&amp;rsquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Finally it is time to reboot the router and make the settings active! If everything worked out well, you can now send packages between the VLANs. There is only one thing left. You can’t send packages to the Internet. There are two reasons why sending packages to the Internet doesn’t work.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The IP-Tables firewall is blocking “unknown” subnets, in this case the DMZ and LAN.&lt;/li&gt;
&lt;li&gt;There is no natting done, so packages(responds) can never find there way back home.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;First we fix problem one. This can be done, by the following command.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;iptables -I FORWARD -s 172.16.0.0/24 -d 0.0.0.0 -p ALL -j ACCEPT iptables -I FORWARD -s 10.0.0.0/24 -d 0.0.0.0 -p ALL -j ACCEPT&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;With the following command, you can check if the entries appear in the FORWARD list.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;iptables -L FORWARD&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For the second problem, we add both subnets to the NAT list. With the following command you can see the current NAT list.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;iptables -t nat -L zone_wan_nat&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You will see that only the subnet which is known by the router is added to the list. So we need to add the DMZ and LAN zone manually.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;iptables -t nat -I zone_wan_nat -s 172.16.0.0/24 -d 0.0.0.0 -j MASQUERADE iptables -t nat -I zone_wan_nat -s 10.0.0.0/24 -d 0.0.0.0 -j MASQUERADE&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now the list, will look like.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Chain zone_wan_nat (1 references) target     prot opt source               destination MASQUERADE  all  &amp;ndash;  192.168.1.0/24        anywhere MASQUERADE  all  &amp;ndash;  172.16.0.0/24        anywhere MASQUERADE  all  &amp;ndash;  10.0.0.0/24          anywhere&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Unfortunately the iptable settings are gone after a reboot. These settings can probably be added in the following two files, but I haven’t tested it yet.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/etc/firewall.user&lt;/li&gt;
&lt;li&gt;/lib/firewall/uci_firewall.sh&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have modified these files, please let me know. Have fun with your VLAN enabled Draytek Vigor 2130&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Automatically Send Network Device Configurations to Your Support Partner</title>
      <link>https://blog.breekeenbeen.nl/post/automatically-send-network-device-configurations-to-your-support-partner/</link>
      <pubDate>Thu, 09 Sep 2010 20:00:58 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/automatically-send-network-device-configurations-to-your-support-partner/</guid>
      <description>&lt;p&gt;In the last part of the Rancid set-up I created a simple Bash scripts which e-mails the configurations of the network devices to myself and our support partner once a week. This because when your network is down, you always want access to your configurations. Further for our “sub” locations, we have a support partner which fixes the issues on these locations and it would be nice if they always have the up-to-date configuration files. Since there is not much changing in these configurations sending them once a week is more then enough, but this is of course up to you. The script, works fairly simple, it is important that you have set-up the right SMTP server!&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;#!/bin/bash 

# Script for mailing the network device configurations 

# Make a directory where we can temporarily place the configurations 
mkdir -p /tmp/backup/switch 

# Looking for files starting with “sw” and that are greater then 0 bytes. Copy them to # the just created temporarily folder.
find /usr/local/rancid/var/ -name &amp;quot;sw*&amp;quot; -not -name &amp;quot;\*svn\*&amp;quot; -prune  -size +0 -exec cp &#39;{}&#39; /tmp/backup/switch/;

# Put the files together in one tar file.
cd /tmp/backup/switch tar -cf /tmp/backup/switch/bck\_switch\_cfg\_week$(date +%U).tar *

#Mailing the just created tar file 
echo &amp;quot;Backup netwerkdevices week $(date +%U)&amp;quot; | mailx -s &amp;quot;Switch backup week $(date +%U)&amp;quot; -a bck\_switch\_cfg\_week$(date +%U).tar -r backup@\_nospam\_robmaas.eu  rob@\_nospam\_robmaas.eu support@partner_xx.com

# Delete the just created folder and files
rm -Rf /tmp/backup/switch
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That’s all, keep in mind that the find and mailing (echo) commands are on one line, otherwise they will fail. Also you may want to change the –name parameter of the find command. No we have a working script we only have to schedule it to run regularly. This can easy be accomplished with cron. I created a cronjob in the /etc/cron.d/mailbackups with the following cronjob.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;@weekly /usr/local/bin/backup_switch_cfg.sh 2&amp;gt;&amp;amp;1&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We are done, now every week the configurations are mailed to the given mail addresses.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Backing Up Network Devices With Rancid Opensuse 11 2</title>
      <link>https://blog.breekeenbeen.nl/post/backing-up-network-devices-with-rancid-opensuse-11-2/</link>
      <pubDate>Wed, 25 Aug 2010 19:58:06 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/backing-up-network-devices-with-rancid-opensuse-11-2/</guid>
      <description>&lt;p&gt;One of the most forgotten backups is that of the network devices, while it can save you a lot of time (thus money) when things get broken. Luckily there is a tool, called Rancid. I’m using it for all our HP and Cisco devices for more then a year now. Officially it was running on a (Ubuntu) test-server which was placed under my desk :-). Not the best place for such a critical server. So now it is time to set-up a “real” management server, which takes care of the network devices backup. Since we already have some Suse servers running, I picked OpenSuse 11.2 as OS for this server. Let’s get started. Before we can install Rancid, we need to install “expect”, this is the language Rancid is written in. The most easy way to accomplish this is by using yast and search for “expect”. Now we have started yast, we also need to install &amp;ldquo;cvs”, which Rancid uses for file comparison.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/backing-up-network-devices-with-rancid-opensuse-11-2/image2_hu637473982bd47b71a5fe2f15581e47e4_91568_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/backing-up-network-devices-with-rancid-opensuse-11-2/image2_hu637473982bd47b71a5fe2f15581e47e4_91568_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;640&#34; height=&#34;384&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now download Rancid, it can be retrieved from this 
&lt;a href=&#34;http://www.shrubbery.net/rancid/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;website&lt;/a&gt;. I downloaded it in my home directory under downloads/rancid and unpack it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;wget 
&lt;a href=&#34;ftp://ftp.shrubbery.net/pub/rancid/rancid-2.3.4.tar.gz&#34;&gt;ftp://ftp.shrubbery.net/pub/rancid/rancid-2.3.4.tar.gz&lt;/a&gt; tar -xvf rancid-2.3.4.tar.gz&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Go to the unpacked directory and install Rancid.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cd rancid-2.3.4 ./configure make install&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If everything went ok, there is a directory created /usr/local/rancid. Since we don’t want to use a root account for Rancid to work, we create a user called rancid and set his home directory to the installation directory /usr/local/rancid. After we created the user, we make him the owner and give right permissions.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;useradd -d /usr/local/rancid rancid chown -R rancid /usr/local/rancid/ chmod -R 770 /usr/local/rancid/&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now we can start configuring Rancid. If you’re a real 1337 person, you use vi, but I like nano more, so the next command is.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;nano /usr/local/rancid/etc/rancid.conf&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What I usually do is create a group for every location, for this go to the line&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#LIST_OF_GROUPS=”sl joebobbisp”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and change it to.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;LIST_OF_GROUPS=”Headquarters” LIST_OF_GROUPS=”$LIST_OF_GROUPS Location1” LIST_OF_GROUPS=”$LIST_OF_GROUPS Location2” …&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now let’s run Rancid CVS to create the directories and configuration files for the locations. We do this with the Rancid user.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;su – rancid ./bin/rancid-cvs&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you now look in the /usr/local/rancid/var/ directory, you should see the directories which Rancid created by following the rancid.conf file. Additional there are two directories created, “CVS” and “logs”. Within the location directory there is a file, called router.db, this file contains all the routers off that location, which we like to back-up. Since Rancid has no idea by itself, what we like to back-up we need to add these devices ourselves.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cd location nano router.db&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Type the following lines, replace the “core” and “distr” with your own names or IP address. My advice is to take DNS names, cause it is more clear then IP addresses, also the name or IP is used to create filenames which contains the actual configuration.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#Devicename or IP : Devicetype : Up CORE:HP:UP DISTR:CISCO:UP&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As you probably already guessed, the # is used for comments. Now there is only one thing left. Rancid needs credentials to get access to the device. We create a file in the home directory of the rancid user and since we’re running the command as the user rancid, the command is very simple.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;nano ~/.cloginrc&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let’s add the following lines for general access and one specially for the core.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#Specific location/device add password   core     verydifficultandlongpassword #General add password     *       asimplepassword add method        *       telnet add autoenable  *       1&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Unfortunately Linux thinks that this file may be read by everyone, we definitely don’t want this and rancid will even give an error on this, so we need to make sure this file is only readable by the rancid user and the group root.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;chmod 770 ~/.cloginrc&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now we can test Rancid by running it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;~/bin/rancid-run&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When it is done, check the config directory in the ./var/location directory and see if there is a file placed, use cat to check if the configuration is actually in i.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cd ~/var/location1/config ls cat core&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Congratulations! If everything went ok, you now should see the configuration of the switch you backed upped with Rancid. &lt;em&gt;If you don’t see the configuration, go to the var/logs directory and see if you can find out what went wrong in the log.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cd ~/var/logs ls less location1.20100825.160011&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But we ain’t there yet, of course we like to automate this process. This is fairly simple, cause we have created a user, this user has his own cron.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;crontab –e&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In my case it is enough to make a daily back-up, but this is of course your own decision.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;@daily /usr/local/rancid/bin/rancid-run @daily /usr/bin/find /usr/local/rancid/var/logs -type f -mtime +1 -exec rm {} ;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The second line deletes log files, older the 2 days. Now we’re done with Rancid. The next step is create a nice web interface for configuration comparison and something we do is mail all the configurations to our support partner weekly. So when there is trouble they also have the latest configurations. I’ll cover these steps later on.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Mac Authentication Bypass Mab on Hp Procurve 2600</title>
      <link>https://blog.breekeenbeen.nl/post/mac-authentication-bypass-mab-on-hp-procurve-2600/</link>
      <pubDate>Wed, 23 Jun 2010 19:36:52 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/mac-authentication-bypass-mab-on-hp-procurve-2600/</guid>
      <description>&lt;p&gt;For my thesis I did a little research on Network Access Control and the possibilities. This research was focused on the environment of the company I work for, this means I included both Cisco and HP switches in my research. After this research I build a test environment to test the authentication mechanisms 802.1x, MAB and web authentication. With Cisco everything was working flawless, but I also wanted a sort of MAB authentication on the HP switches, unfortunately HP doesn’t speak MAB. So after some puzzling I found a work around which is close enough to MAB. Normally you can only use 802.1x &lt;strong&gt;or&lt;/strong&gt; MAC Authentication on a HP Procurve switch (2600). To work around this problem HP included a feature, so called Client Based Network Authentication. This feature is initially created to make it possible to authenticate devices which are connected to a HUB on the switchport. It is possible that devices connected to the HUB require different authentication mechanisms, so this gives the opportunity to allow MAC &lt;strong&gt;and&lt;/strong&gt; 802.1x authentication on the same port. When we switch to Client Based Network Authentication and we set the allowed clients to 1, it is possible to let the client choose which authentication is going to be used.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/mac-authentication-bypass-mab-on-hp-procurve-2600/image_hudcfb87fef4c6074ff621e75f25b6c0ce_8452_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/mac-authentication-bypass-mab-on-hp-procurve-2600/image_hudcfb87fef4c6074ff621e75f25b6c0ce_8452_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;322&#34; height=&#34;249&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;The figure above shows how it schematically works, the HUB is just virtual and used as example. To let this work you only need to configure the client limit.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;aaa port-access authenticator 1-48 aaa port-access authenticator 1 client-limit 1 aaa port-access authenticator 2 client-limit 1 aaa port-access authenticator 3 client-limit 1 … aaa port-access authenticator active aaa port-access mac-based 1-48 aaa port-access 1-48 vlan 31 name &amp;ldquo;MACAuth_Vlan&amp;rdquo; tagged 49,50 exit&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Dynamic Acl on Cisco With Ms Nps</title>
      <link>https://blog.breekeenbeen.nl/post/dynamic-acl-on-cisco-with-ms-nps/</link>
      <pubDate>Wed, 28 Apr 2010 13:45:57 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/dynamic-acl-on-cisco-with-ms-nps/</guid>
      <description>&lt;p&gt;As some of you might know, I&amp;rsquo;m busy setting up a test environment for Port Based Network Access Control. With Cisco switches this is plain simple, cause when 802.1x fails you can switch to MAB. A bit less secure, but better then nothing. When MAB fails you have the option to switch to Web authentication, a so called Captive Portal. This web authentication is also easy to setup, but the last step was a bit tricky. Very short summary, when the switch, switches to web-authentication, it creates an access control list (ACL) to block all the traffic, but still give the user IP connectivity to open a browser and be able to fill in the credentials and post this form. When the credentials are validated by the RADIUS server, it has to say what the new ACL is, cause otherwise the user has very limited access. Most tutorials on the web (the ones I found), explain this very well, but uses a CiscoSecure ACS. In my situation I don&amp;rsquo;t have an ACS, but I uses the Microsoft Network Policy Server (NPS) as RADIUS instead. This works fine, but it was a bit hard to find how to define the ACL. (as always afterwards it is quite easy :-)) 
&lt;a href=&#34;https://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6586/ps6638/app_note_c27-577494.html&#34; title=&#34;Cisco Web Authentication With Cisco ACS&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;This tutorial&lt;/a&gt;, explains very well how to configure the switch for web authentication with an Cisco ACS, I&amp;rsquo;m not going to try to do this better, so for the switch settings, please follow that tutorial. When the switch is configured, you have to configure NPS. I assume you already added your device, to the device list including a shared key. So we can go on with the policy, for authentication I still use the default policy (all users), but for authorization we create a new one. In my test environment I putted all the users which may authenticate on the web to a group called GG_WEBAUTH, so it easy to define the matching criteria. By default there is no encryption, so we use PAP for authentication (don&amp;rsquo;t know yet, if you can change this). After creating the matching criteria, we have to set the vendor specific attributes, for Cisco this is the &amp;ldquo;Cisco-AV-Pair&amp;rdquo; attribute. I added 2 parameters to this attribute&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;priv-lvl=15 ip:inacl#100=permit ip any any&lt;/p&gt;
&lt;/blockquote&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/dynamic-acl-on-cisco-with-ms-nps/featured_hu436a07148ccb1d4ec06545c130decb45_11160_2000x2000_fit_lanczos_3.png&#34; &gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/dynamic-acl-on-cisco-with-ms-nps/featured_hu436a07148ccb1d4ec06545c130decb45_11160_2000x2000_fit_lanczos_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;697&#34; height=&#34;481&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Of course you can change the number, you can even add more numbers to create longer ACL&amp;rsquo;s. With this two parameters your web-auth profile should work. There should also be a way with the ACL defined on the switch and make use of the filter-id attribute, but I was unable to get this to work.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ldap Authentication for Ipplan Apache Linux</title>
      <link>https://blog.breekeenbeen.nl/post/ldap-authentication-for-ipplan-apache-linux/</link>
      <pubDate>Mon, 21 Dec 2009 19:46:45 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/ldap-authentication-for-ipplan-apache-linux/</guid>
      <description>&lt;p&gt;As you may have read, I’m testing with an IP management tool, called IPPlan. Since I’m not the only one at our company, that need access to IPPlan and I wasn’t planning in doing a lot of user management, I did a try to connect IPPlan to our Active Directory (LDAP) environment. It took me a while to figure it out, maybe cause the lack of “good” documentation or my experience. It doesn’t matter, because it is working now. This is what I did to get it working. Go to the subdirectory “user” in the “ipplan” directory, the full path (here) is: “/var/www/ipplan/user” and create a file with the name “.htacces”. Edit the file with the following information.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AuthType basic AuthName &amp;ldquo;IP Plan LDAP Authentication&amp;rdquo; AuthBasicProvider ldap AuthLDAPURL ldap://ldapserver:389/ou=accounts,dc=robmaas,dc=eu?cn AuthLDAPRemoteUserIsDN off require valid-user&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The “ldapserver” is just the IP or DNS name of your LDAP(AD) server. After the URL you can use a standard LDAP query (don’t forget to replace the domain name). If your LDAP server needs authentication like mine does, you need to add the following two variables.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AuthLDAPBindDN &amp;ldquo;
&lt;a href=&#34;mailto:ldap@robmaas.eu&#34;&gt;ldap@robmaas.eu&lt;/a&gt;&amp;rdquo; AuthLDAPBindPassword &amp;ldquo;secret&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Make sure, your Apache configuration does support the including of “.htaccess” files. This can be done by setting the “AllowOverride” to All, like this.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AllowOverride All&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Don’t forget this; it took me about 2 hours, before I got it. Also don’t forget to include the LDAP module in to Apache.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a2enmod authnz_ldap&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After this we need to edit “config.php”, find the following line:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;define(&amp;ldquo;AUTH_INTERNAL&amp;rdquo;, TRUE);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and change it to:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;define(&amp;ldquo;AUTH_INTERNAL&amp;rdquo;, FALSE);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The last change I had to make, was changing this line:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;define(“AUTH_VAR”), ‘PHP_AUTH_USER’);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;into&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;define(“AUTH_VAR”), ‘REMOTE_USER’);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That’s it, after restarting the Apache (httpd) service, it should all work. Don’t forget, the authentication is done through LDAP, but you still have to create the users in IPPlan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sidenote:&lt;/strong&gt; &lt;em&gt;If the webpage is running on HTTP the username(s) and password(s) are sent in plain text to the webserver. In this case you should think about migrate it to HTTPS.&lt;/em&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Ipplan Export to Import for Poller</title>
      <link>https://blog.breekeenbeen.nl/post/ipplan-export-to-import-for-poller/</link>
      <pubDate>Wed, 16 Dec 2009 19:55:04 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/ipplan-export-to-import-for-poller/</guid>
      <description>&lt;p&gt;Like many others, I also hate administrative tasks. One of these tasks that comes back again and again is IP documentation. To make my life easier and probably that of others :-), I decided to go testing with IP management software. After some googling I found IPPlan, this tool which looks very promising, can do everything I need. It manages my IP addresses and gives me a quick overview of the status, it also gives me the possibility to &amp;ldquo;poll&amp;rdquo; addresses and automatically find used ones. This feature is great, except for one little thing, you have to create a new file with all the subnets you like to poll. If you are a greedy bastard like me, you like to have all subnets polled. We have over 500 subnets and after adding them to IPPlan I wasn&amp;rsquo;t very pleased with the idea of adding them manually to the list. Luckily for me, it is very easy to make a export from IPPlan with all the subnets, unfortunately this export is not well formatted for the polling list. The exported list will look like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;10.10.4.0             Client-Vlan4       255.255.255.0 10.10.5.0             Client-Vlan5       255.255.255.0 10.10.6.0             Client-Vlan6       255.255.255.0&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The import list should look like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;10.10.4.0/24 10.10.5.0/24 10.10.6.0/24&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What I did is created a very small and simple vbscript, which will make this transition for me. You can start the vbscript as follow.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cscript ipplantopoller.vbs exportfromipplan.txt importtopoller.txt&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As you maybe have already guessed the exportfromipplan.txt is the exported list and the importtopoller.txt is created by the script. You can download the script below and if you have any comments or questions please let me know, &lt;a href=&#34;https://blog.breekeenbeen.nl/files/ipplantopoller.vbs&#34; target=&#34;_blank&#34;&gt; IPPlanToPoller.vbs &lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Connection Pool vs Firewall</title>
      <link>https://blog.breekeenbeen.nl/post/connection-pool-vs-firewall/</link>
      <pubDate>Tue, 13 Oct 2009 15:32:47 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/connection-pool-vs-firewall/</guid>
      <description>&lt;p&gt;As some of you might have noticed, I&amp;rsquo;m busy at work to create a new reverse proxy environment to publish our websites. The whole set-up is very simple and commonly used in the world, so I wasn&amp;rsquo;t expecting a lot of problems. A short summary:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We have a ISA array set-up as reverse proxy and behind the ISA there are the webservers. The webservers get there data from a database server. In our test environment all these three machines are in a different subnet. The database was placed in an &amp;ldquo;old&amp;rdquo; subnet which is deprecated after the completion of the project.So we would not harm the production environment and the webservers connect to that subnet. The ISA runs a Form Based Authentication (FBA) against an Active Directory in the same subnet as the webservers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;About a week ago, we got into a beta setup, to let some well choosen customers test the environment. And since the first day we got some tips that a customer has to push twice the logon button to get actually logged in. The biggest problem for us, that this &amp;ldquo;twice&amp;rdquo; login problem just occured a few times a day, which makes it hard to find the actual problem. First we thought this problem was caused by the ISA&amp;rsquo;s, so we checked every option of the publish rule, but without any luck.  The next thing we started to do was to capture all the packets on all the interfaces, which took a lot of time, cause we needed a capture of the moment that the problem occured. Just to get a good capture took us at least a day. After searching a lot through the capture files, we finally find out, that there went something wrong between the webserver and the database communication. This is a part of the communication between the webserver and databaserver, this capture is made on the webserver. ]&lt;/p&gt;





  
  











&lt;figure id=&#34;figure-no_syn_synack&#34;&gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://blog.breekeenbeen.nl/post/connection-pool-vs-firewall/no_syn_synack1_hude5cfab2072d674d82002f44812458c1_56752_2000x2000_fit_q90_lanczos.jpg&#34; data-caption=&#34;no_syn_synack&#34;&gt;


  &lt;img data-src=&#34;https://blog.breekeenbeen.nl/post/connection-pool-vs-firewall/no_syn_synack1_hude5cfab2072d674d82002f44812458c1_56752_2000x2000_fit_q90_lanczos.jpg&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;647&#34; height=&#34;167&#34;&gt;
&lt;/a&gt;


  
  
  &lt;figcaption&gt;
    no_syn_synack
  &lt;/figcaption&gt;


&lt;/figure&gt;

&lt;p&gt;As you can see the webserver started immediately with PSH, ACK instead of building up a connection with SYN, etc. The big question for us was why and this was a bit of puzzling, but it tuns out that the firewall between these subnets was terminating the connections. So when the webserver was in need to contact the DB server, it takes a look in its connection pool and picked an connection which was (by his thoughts) open, so no SYN was sent. You can guess what happened, the firewall has closed that particular connection and denied the connection, cause no SYN packet was sent. So whenever you want to set-up a connection pool, make sure there is no Firewall between them or that the time-out for IDLE connections are properly configured on both sides. This can save you a lot of time :-)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Citrix Web Interface 5 X 5 1 2 Client Deployment</title>
      <link>https://blog.breekeenbeen.nl/post/citrix-web-interface-5-x-5-1-2-client-deployment/</link>
      <pubDate>Mon, 31 Aug 2009 15:45:00 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/citrix-web-interface-5-x-5-1-2-client-deployment/</guid>
      <description>&lt;p&gt;A few days ago I updated our Citrix Web Interface to version 5.1.2. After this update it seems that the Client Deployment process was broken. Users still got the download button, but after pressing this button it opens the Citrix website. The problem can be easily solved, but it took some time to figured it out. By default the web-interface is installed under &amp;ldquo;C:Program FilesCitrixWeb Interface5.1.2&amp;rdquo; and it contains a directory which is empty by default. In this directory you have to create a subfolder, called &amp;ldquo;ica32&amp;rdquo;. Now download the latest client(s) from the Citrix website and copy these to the new created folder. It is very important that the names are identical to the names below: XenAppHosted.msi XenAppWeb.msi XenAppWeb.exe Now the download button should work again. Note: If you still want to use the old plugins ica32**, you can do this by simplying renaming them.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Isa SP1 Intra Array Communications Outside Domain</title>
      <link>https://blog.breekeenbeen.nl/post/isa-sp1-intra-array-communications-outside-domain/</link>
      <pubDate>Fri, 21 Aug 2009 19:52:57 +0200</pubDate>
      <guid>https://blog.breekeenbeen.nl/post/isa-sp1-intra-array-communications-outside-domain/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m busy to create a nice reverse proxying environment, for this we choose the ISA 2006 server. Mainly because we have some experience with this and it should be really easy to create a High Availabilty solution. The biggest problem in our case is that the ISA servers are not member of a domain and that the ISA Configuration Storage Server is placed on a separate server in a whole different subnet. After some puzzling everything was working great, until we updated the environment to ISA 2006 SP1. The ISA server went complaining that the Intra-Array communication was broken (event id: 221225). The exact message:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For intra-array authentication when array members are in a workgroup, the intra-array account must be defined and enabled. Some features such as VPN, CARP, and reporting will not work unless the intra-array account is properly configured.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It took not really long to figure out what went wrong, but I find it worth mention it, in case someone else rans in the same situation. The problem was that the local accounts had different passwords and since SP1 wasn&amp;rsquo;t asking for the Array members password anymore it could not establish a connection. So setting the same password on the ISA CSS machine was all we had to do to fix the problem.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
