NSX-T 2.5 Getting Started, Part 1
Tags: bgp, datacenternetworkin, ebgp, homelab
Published: 2020-03-08 00:44:47

---
title: NSX-T 2.5 Getting Started, Part 1
published: true
date: 2019-09-29 18:46:00 UTC
tags: BGP,Datacenter Networkin,eBGP,Home Lab
canonical_url: 
---

Since NSX-T 2.5 just came out, it's about time to do a full rebuild and getting started guide. NSX-T differs greatly from NSX-V in that the initial setup is quite a bit more complicated and doesn't have many guardrails or direct paths to initial set-up.  
  
We'll be skipping the appliance deployment, because if you have troubles deploying an OVA this will probably be too difficult.  
  
First off, we'll be using our applied Clos fabric for this, and we won't be multihoming these devices as of yet, as this post will be pretty lengthy as it is. Diagram is [here](https://github.com/ngschmidt/labfabric-diagram/blob/master/clos-applied-fabric.yml):

[![](https://1.bp.blogspot.com/-H1-_I6bq81o/XZDSJo18n_I/AAAAAAAAAsU/LTzd1hSVYMYuTzRbldvNvCTlNQMKgwK-ACLcBGAsYHQ/s640/NSX-T%2Band%2BLayer%2B3%2BLeaf-Spine%2BApplied.png)](https://1.bp.blogspot.com/-H1-_I6bq81o/XZDSJo18n_I/AAAAAAAAAsU/LTzd1hSVYMYuTzRbldvNvCTlNQMKgwK-ACLcBGAsYHQ/s1600/NSX-T%2Band%2BLayer%2B3%2BLeaf-Spine%2BApplied.png)

  

With that in mind, the first step to configuring virtualized routing & switching for NSX-T is in the vCenter GUI. In this lab, I have two hosts in two separate clusters -  
  

- Payload: Virtual Tunnel Endpoints (VTEPs) exist primarily on the host, and are leveraged as port-groups for guest network connectivity
- Management/Edge: No host VTEPs currently exist, as they are not required for the management VMs, nor **for the Edge Appliances**  (Primary difference coming from NSX-V!)

Coming from the vCenter UI, it looks like this:

[![](https://1.bp.blogspot.com/-n-5p6V_SDus/XZDWcm_4A9I/AAAAAAAAAss/daeuA_jTX8sCnYY-weLeV9DT5MfUq2q1wCLcBGAsYHQ/s400/nsxt25-1.PNG)](https://1.bp.blogspot.com/-n-5p6V_SDus/XZDWcm_4A9I/AAAAAAAAAss/daeuA_jTX8sCnYY-weLeV9DT5MfUq2q1wCLcBGAsYHQ/s1600/nsxt25-1.PNG)

The NSX-T Edge Appliances need to ingest underlay networks via 802.1Q tags, instead of as individual port groups. Fortunately, vSphere has been able to do this for quite some time, so we use the lesser-known "VLAN trunking" 

[![](https://1.bp.blogspot.com/-5UQij0-Fdrs/XZDfNzcvrrI/AAAAAAAAAtE/VZm-aWFuuXoTAltZ3LkeDz0jpTlw9YCUQCLcBGAsYHQ/s640/nsxt25-2.PNG)](https://1.bp.blogspot.com/-5UQij0-Fdrs/XZDfNzcvrrI/AAAAAAAAAtE/VZm-aWFuuXoTAltZ3LkeDz0jpTlw9YCUQCLcBGAsYHQ/s1600/nsxt25-2.PNG)
  

[![](https://1.bp.blogspot.com/-c1UENukp98E/XZDfOylLK1I/AAAAAAAAAtI/-GvBrOA4oxw8_uh3KjxSmRupWlz55tarwCLcBGAsYHQ/s640/nsxt25-3.PNG)](https://1.bp.blogspot.com/-c1UENukp98E/XZDfOylLK1I/AAAAAAAAAtI/-GvBrOA4oxw8_uh3KjxSmRupWlz55tarwCLcBGAsYHQ/s1600/nsxt25-3.PNG)

From here, it's time to outline our Edge Design - **BEFORE** anything is built.

[![](https://1.bp.blogspot.com/-8YgKclYoPtU/XZDpOc6vtiI/AAAAAAAAAtk/Is7w1kuFIRwHvKPY7h74DYLjts4VtMArACLcBGAsYHQ/s640/NSX-T%2BSimple%2BEdge%2BDesigh.png)](https://1.bp.blogspot.com/-8YgKclYoPtU/XZDpOc6vtiI/AAAAAAAAAtk/Is7w1kuFIRwHvKPY7h74DYLjts4VtMArACLcBGAsYHQ/s1600/NSX-T%2BSimple%2BEdge%2BDesigh.png)

We'll use this as a guide throughout the configuration process., First, we set transport zones and device profiles:

| We create the underlay (VLAN) transport zone to ensure that virtualized traffic can exit to the "real network": | [![](https://1.bp.blogspot.com/-HlddilMYTHk/XZDqvMOju0I/AAAAAAAAAt8/y2DOgldV0fUfhfuRW_Oi9bbFRL7ha6uXACLcBGAsYHQ/s640/nsxt25-7.PNG)](https://1.bp.blogspot.com/-HlddilMYTHk/XZDqvMOju0I/AAAAAAAAAt8/y2DOgldV0fUfhfuRW_Oi9bbFRL7ha6uXACLcBGAsYHQ/s1600/nsxt25-7.PNG) |
| We create the overlay network where the GENEVE VN-Segments will live next: | [![](https://1.bp.blogspot.com/-P63B-TpvSyE/XZDqvZCnyYI/AAAAAAAAAuA/QsKa8FdyC8swlM6pstXvRFBDJiNnIYIOgCLcBGAsYHQ/s640/nsxt25-8.PNG)](https://1.bp.blogspot.com/-P63B-TpvSyE/XZDqvZCnyYI/AAAAAAAAAuA/QsKa8FdyC8swlM6pstXvRFBDJiNnIYIOgCLcBGAsYHQ/s1600/nsxt25-8.PNG) |
| Then we configure the Layer 2 uplink profiles. **Note: specifically configuring the Active uplink to FP-ETH0 is REQUIRED. The NSX Edges will not function without this, and NSX-T will never tell you why.** | [![](https://1.bp.blogspot.com/-TaHm5vsMjlw/XZDqudu_6dI/AAAAAAAAAt0/xS_GojGZwLk9LBzs_qRCcVtOY8UTtTXLQCLcBGAsYHQ/s640/nsxt25-4.PNG)](https://1.bp.blogspot.com/-TaHm5vsMjlw/XZDqudu_6dI/AAAAAAAAAt0/xS_GojGZwLk9LBzs_qRCcVtOY8UTtTXLQCLcBGAsYHQ/s1600/nsxt25-4.PNG) |
| And the VTEP profiles. Note that this portion uses the name allocated in the transport node profile. | [![](https://1.bp.blogspot.com/-vHkZNji4KBY/XZDquaMUEOI/AAAAAAAAAtw/RIZhEWMJHdol98j2wQ0_FyG7V4QQgTXfwCLcBGAsYHQ/s640/nsxt25-5.PNG)](https://1.bp.blogspot.com/-vHkZNji4KBY/XZDquaMUEOI/AAAAAAAAAtw/RIZhEWMJHdol98j2wQ0_FyG7V4QQgTXfwCLcBGAsYHQ/s1600/nsxt25-5.PNG) |
| Finally, the host transport profiles. Here we set a profile that will use a single uplink for the N-VDS, add transport zones, etc. Note that the physical NIC name on the left needs to **exactly**  match the physical NIC identifier in ESXi. | [![](https://1.bp.blogspot.com/-xzRXCRBiDXI/XZDqufUVdTI/AAAAAAAAAt4/UOHGYJDmfXsJcEjuQMLo1A2FJ1Q5LlpDQCLcBGAsYHQ/s640/nsxt25-6.PNG)](https://1.bp.blogspot.com/-xzRXCRBiDXI/XZDqufUVdTI/AAAAAAAAAt4/UOHGYJDmfXsJcEjuQMLo1A2FJ1Q5LlpDQCLcBGAsYHQ/s1600/nsxt25-6.PNG) |

Now, we can finally start configuring transport nodes. Note that since we deployed profiles prior to this, there's not a whole lot to do as far as roll-out is concerned.  

[![](https://1.bp.blogspot.com/-0zG5RKHqjUY/XZD0LrdPE_I/AAAAAAAAAuo/ET0_1og-0cgdQsHuHkX9ftgEa2q0gv7DgCLcBGAsYHQ/s640/nsxt25-9.PNG)](https://1.bp.blogspot.com/-0zG5RKHqjUY/XZD0LrdPE_I/AAAAAAAAAuo/ET0_1og-0cgdQsHuHkX9ftgEa2q0gv7DgCLcBGAsYHQ/s1600/nsxt25-9.PNG)
  

[![](https://1.bp.blogspot.com/--emPcrxz_TQ/XZD0LntxjOI/AAAAAAAAAus/jWu32Jo5BEQ2G4BuTq3Gbza-irfHMLTLgCLcBGAsYHQ/s400/nsxt25-10.PNG)](https://1.bp.blogspot.com/--emPcrxz_TQ/XZD0LntxjOI/AAAAAAAAAus/jWu32Jo5BEQ2G4BuTq3Gbza-irfHMLTLgCLcBGAsYHQ/s1600/nsxt25-10.PNG)

[![](https://1.bp.blogspot.com/-t0QY2pcrsnM/XZD2JYa5rjI/AAAAAAAAAu8/jjsoYS8g43IhvpFjL6aQdjt6Xr8B9uLVQCLcBGAsYHQ/s640/nsxt25-11.PNG)](https://1.bp.blogspot.com/-t0QY2pcrsnM/XZD2JYa5rjI/AAAAAAAAAu8/jjsoYS8g43IhvpFjL6aQdjt6Xr8B9uLVQCLcBGAsYHQ/s1600/nsxt25-11.PNG)

[![](https://1.bp.blogspot.com/-w103tczf8jg/XZD3qoB8KfI/AAAAAAAAAvQ/5y8k-0q0wa0mgQq9E2IONEAi5PSMNuX6wCLcBGAsYHQ/s640/nsxt25-12.PNG)](https://1.bp.blogspot.com/-w103tczf8jg/XZD3qoB8KfI/AAAAAAAAAvQ/5y8k-0q0wa0mgQq9E2IONEAi5PSMNuX6wCLcBGAsYHQ/s1600/nsxt25-12.PNG)
  

[![](https://1.bp.blogspot.com/-vF5lwWo4cRQ/XZD3qod8anI/AAAAAAAAAvM/wA3QHl2oMd4Rb910CkwssWQ1P9AyR6PIgCLcBGAsYHQ/s640/nsxt25-13.PNG)](https://1.bp.blogspot.com/-vF5lwWo4cRQ/XZD3qod8anI/AAAAAAAAAvM/wA3QHl2oMd4Rb910CkwssWQ1P9AyR6PIgCLcBGAsYHQ/s1600/nsxt25-13.PNG)
  

[![](https://1.bp.blogspot.com/-LcP56Y4llHk/XZD3qhwvAWI/AAAAAAAAAvI/MpBgpXJ-DyMqzvLCj8MgOtXjQcnrp8DDgCLcBGAsYHQ/s640/nsxt25-14.PNG)](https://1.bp.blogspot.com/-LcP56Y4llHk/XZD3qhwvAWI/AAAAAAAAAvI/MpBgpXJ-DyMqzvLCj8MgOtXjQcnrp8DDgCLcBGAsYHQ/s1600/nsxt25-14.PNG)
  

[![](https://1.bp.blogspot.com/-WY92UydkdeU/XZD3rEwwggI/AAAAAAAAAvU/Ux8wCVHHgug64_1kTNv_IDTNlKLHepCywCLcBGAsYHQ/s640/nsxt25-15.PNG)](https://1.bp.blogspot.com/-WY92UydkdeU/XZD3rEwwggI/AAAAAAAAAvU/Ux8wCVHHgug64_1kTNv_IDTNlKLHepCywCLcBGAsYHQ/s1600/nsxt25-15.PNG)
Ensure the edge appliance is ready:  

[![](https://1.bp.blogspot.com/-2nhbnU2-sMM/XZD6wfuABlI/AAAAAAAAAvo/r7zo2PKem_oRPpji0EACUC6h5LTjwzp3ACLcBGAsYHQ/s640/nsxt25-16.PNG)](https://1.bp.blogspot.com/-2nhbnU2-sMM/XZD6wfuABlI/AAAAAAAAAvo/r7zo2PKem_oRPpji0EACUC6h5LTjwzp3ACLcBGAsYHQ/s1600/nsxt25-16.PNG)
Configure the edge cluster:  

[![](https://1.bp.blogspot.com/-0T8pMQ7GXS0/XZD7NwlKrGI/AAAAAAAAAvw/MCiTrxhJjLYrEVAbJvV4Olldhl1qtcPoQCLcBGAsYHQ/s640/nsxt25-17.PNG)](https://1.bp.blogspot.com/-0T8pMQ7GXS0/XZD7NwlKrGI/AAAAAAAAAvw/MCiTrxhJjLYrEVAbJvV4Olldhl1qtcPoQCLcBGAsYHQ/s1600/nsxt25-17.PNG)
Now we're ready to configure routing and switching functionality. This can go several different ways, as VMWare has provided additional capabilities with regards to configuring NSX-T assets - **declarative configuration methods.**  We'll cover that in detail, along with how to use it, in the next post!