vSphere 6.0 TCP/IP Network Stacks
Prior to the release of vSphere 5.5, all VMkernel interfaces shared a single instance of a TCP/IP stack. As a result, they all shared the same routing table and same DNS configuration. This created some interesting challenges in certain environments; for example, what if you needed a default gateway for your management network but you also needed a default gateway for your NFS traffic? The only workaround was to use a single default gateway and then populate the routing table with static routes. Clearly, this is not a very scalable solution for those with robust or unique VMkernel networking requirements. vSphere 6.0 allows the creation of multiple TCP/IP stacks as introduced in vSphere 5.5. Each stack has its own routing table and its own DNS configuration. Let’s take a look at how to create TCP/IP stacks in a vSphere 6 environment. After you create at least one additional TCP/IP stack, you’ll learn how to assign a VMkernel interface to a specific TCP/IP stack.
Creating a TCP/IP Stack
In vSphere 6.0, creating new TCP/IP stack instances can only be done from the command line using the esxcli command. To create a new TCP/IP stack, use this command:
esxcli --server=<vCenter host name> --vihost=<ESXi host name> --username=<vCenter administrative user> network ip netstack add --netstack=<Name of new TCP/IP stack>
For example, if you wanted to create a separate TCP/IP stack for your NFS traffic, the command might look something like this:
esxcli --server=vcb.lab.local --vihost=vesxi1.lab.local --username=root network ip netstack add --netstack=nfsStack
You can get a list of all the configured TCP/IP stacks with a very similar esxcli command:
esxcli --server=<vCenter host name> --vihost=<ESXi host name> -–username=<vCenter administrative user> network ip netstack list
Once the new TCP/IP stack is created, you can, if you wish, continue to configure the stack using the esxcli command. However, you will probably find it easier to use the vSphere Web Client to do the configuration of the new TCP/IP stack, as described in the next section.
Configuring TCP/IP Stack Settings
You’ve seen references to the TCP/IP stacks at least once (when creating a VMkernel interface), but the settings for the TCP/IP stacks are found in the same place where you create and configure other host networking settings: in the Networking section of the Manage tab for an ESXi host object, as shown in Figure 5.19 here:
In Figure 5.19 you can see the new TCP/IP stack, named nfsStack, created in the previous section. To edit the settings for that stack, select it from the list and click the Edit TCP/IP Stack configuration icon (it looks like a pencil above the list of TCP/IP stacks). That brings up the Edit TCP/IP Stack Configuration dialog box. In the Edit TCP/IP Stack Configuration dialog box, make the changes you need to make to the name, DNS configuration, routing, or other advanced settings. Once you’re finished, click OK.
Assigning Ports to a TCP/IP Stack
Unfortunately, you can only assign VMkernel ports to a TCP/IP stack at the time of creation. After you create a VMkernel port, you can’t change the TCP/IP stack to which it has been assigned. You must delete the VMkernel port and then re-create it, assigning it to the desired TCP/IP stack.comments powered by Disqus