 Configuring interfaces, defining VLANs and configuring the pool versus the host and setting static IPs can be a bit confusing when you first start with XCPNG or really any hypervisor. Today we're going to clarify how to configure these, how to set up the networking and how to get all of this organized with more than one host or even a single host. This will work either way in this particular demo. I am doing it with two hosts to show you how it scales, but it's really not that difficult once you know where to look for which settings. So let's dive into it. Are you an individual or forward thinking company looking for expert assistance with network engineering, storage or virtualization projects? Perhaps you're an internal IT team seeking help to proactively manage, monitor or secure your systems. We offer comprehensive consulting services tailored to meet your specific project needs. Whether you require fully managed or co-managed IT services, our experienced team is ready to step in and help. We specialize in supporting businesses that need IT administration or IT team seeking an extra layer of support to enhance their operations. To learn more about any of our services, head over to our website and fill out the hire us form at loren systems.com. Let us start crafting the perfect IT solution for you. If you want to show some extra love for our channel, check out our swag store and affiliate links down below that will lead you to discounts and deals for products and services we've discussed on this channel. With the ad read out of the way, let's get you back to the content that you really came here for. I want to start with defining how this lab is configured. We have our YouTube demo pool and then we have server one and server two. So each one of these hosts has ETH zero plugged in. It is both the management interface, but it's also the interface that we're going to be using to define different networks on networks are defined via the pool. So the YouTube demo pool and the pool networking is where we start to configure the interface, but this does require that all hosts have matching configurations in terms of what ETH zero is defined as. So we have port 24 and port 22 on our switch. And you can see the settings over there that the native VLAN is going to be one, seven, two, 16, 16, zero. Then we have VLAN 10 and VLAN one, three, three, seven, both ports, 22 and 24 are configured the same on the switch. This allows when we define things to use the pool network to expect that each one of these servers is plugged into a matching configured switch port. One thing I will note, if you have servers that are not the same, so the interfaces are not in the order you would like them to be in for the way you want to use it. You can rename the interfaces prior to joining them to a resource pool. So if you have a host that is not having the right name, because maybe you have a 10 gig interface you rather have as eight zero and it didn't set up that way when you first loaded it, you can rename the interfaces prior to bringing them into the resource pool. This will allow you to create essentially a homogenized network across all the different hosts that you have on there. Now, if you're adding more network interfaces this process repeats. So for ETH one, as you would define it on each one of the servers, you'll also want to make sure whatever ports are plugged into across switches are also defined and matched the same way. Now I do have this Debbie and 12 lab, which is going to be our demo for when we set up the different networks, how we switched them back and forth. It's already assigned and running where it says pool wide network associated with ETH zero. This is the default naming schema that comes up. So we're going to be here to home and we're going to go to pools and we're going to go to our YouTube demo pool and we're going to go to networking and we have this pool wide network associated with ETH zero for simplicity. We're just going to call this one ETH zero. So we'll go ahead and hit delete and rename it to ETH zero. This one, we're going to leave it as ETH one but this is one we're not using. So I like to put a not in use right next to it. It just makes it clear. So let's go back over to our VM that that is a not in use network. So if you're here to network, you can see this one now just says ETH zero and we can go to the not in use one. But obviously, like the name suggests, it's not one I should be using name it however works for you. I just like not used to keep it simple. And yes, you can rename these while they're attached to all of the different virtual machines. It will dynamically rename them. Go back over here to our home pools and keep defining the networks. So we have the not in use. And if we want to give it a more description, you can do that as well. You can simply add different descriptions to make these easier to figure out which networks are which and we can put not in use on this as well. Now let's define a network. So we go here to the add a network, we're adding it to this demo pool. If you have more than one pool, they will all show up in the list here. They do have a link to the documentation. If you're setting these up as bonded, we're not for this particular example. But if you were, you would select the different interfaces that are involved in bonding this to the network. We're going to turn it off for now. We want to select this ETH zero. The ETH one is not plugged in. It shows red because well, there's nothing plugged into it right now on any of the hosts. But ETH zero does what we want to call this. Let's start with that first VLAN 1337. And we can call it that. And maybe this is our 1337 hacking VLAN. However, you want to define it completely up to you. We're not going to mess with the MTU. But we wanted to do this, give it a VLAN definition. We're not going to worry about the network block device that's out of scope of this particular video. But this is where if you have an MVD connection, you'd select that and you hit create network. Now that we've defined the network, let's go over to our hosts and go to server one. We see the network defined. We go over here to the host and go over server two. The network's defined because we defined it in a pool. It automatically propagates to all the hosts within this pool, which also means any of the VMs on any of those hosts when we go to networking, we'll have that as an option. So we can see our VLAN 1337. We can switch to it. Once again, there's no need to restart the hosts or the VMs when you're adding networks. So we've now changed it. And we have an IP address in that 192.168.13 range. Now let's go back over to the pool and go to a network and add one more. Select E0 again. And this is our NSFW network with the same description. This had a VLAN tag of 10. So ahead and create network. Go back over to the VM, choose the network. And there's our NSFW. Now one thing to note, now when we do this, it's going to get an IP address in the 192.168 range, which is the DHCP server that is providing the NSFW. And I want to go back over to the pool, the YouTube demo pool network and point out that if I were to try to delete this network, are you sure you want to delete this? And we hit okay. It will actually give me an error because it lets me know that it's in use by that particular VM. So this is something that does stop you. If you want to delete a network, you have to remove this network from one of the virtual machines in order to do it. So we switch it over to this. Now we don't have this network attached to this VM. We can go back over to the pool network. And then we can go ahead and delete it. And that's just how we can remove a network and it'll remove it from everywhere at the same time. Now the networks you create under the pool don't just work for the virtual machines. They can also be applied to the XCP and G hosts themselves. Let's go over here to home hosts. And we're going to choose this particular server. We'll go to networking. And we see we have a zero. There's our VLAN 1337. And we have a zero with management. And there is the IP address assigned. It is actually assigned via DHCP, but we could switch that to static by choosing this and then assigning a static IP. We're going to cancel that. And we're going to change this one over to static. And then we can assign an IP address in here. And this is 192.168.13. And we'll just say 13. Then we'll set a net mask. And we'll leave the DNS and gateway blank because we don't want this to have a gateway. An example of use case might be a storage network where you'll assign it either an interface or on a VLAN that you have dedicated to storage. And now I've assigned a static IP address. So this is the management interface and where the management is, but now this IP address within this host is actually usable to address things on the network it's attached to. And if you want to remove it, just simply change it back over here to none. And it goes away. Now while you can change the management interface IP address within Zen Orchestra, if you want to change which interface the management's attached to, you want to do that from the XO console, either by SSHN or directly from the machine's interface. So we're going to here, we're going to configure management interface, have you log in, put the password in. And then you can select a different interface or even renew the lease on here. This is also good if you ever lock yourself out. And all of the interfaces, such as e0.10 and 1337, the different interfaces we created are all going to be recognized in here. And you can attach to management interface to any of these. Once you select the interface, press enter, and you can choose to set it through DHCP, mainly assigned host name with DHCP or static, and it'll go through the steps to configure any of these options. Now that we've covered the basics, let's dive into the software to find networking controller. This allows you to create crossed host or cross pool adapters to attach to your virtual machines that will allow them to communicate over an encrypted tunnel. This is what they refer to as their global private networks. This is actually a project that started all the way back in 2019. And in 2024 has become really easy to implement. Couple prerequisites here. They have a few dedicated dev blogs. If you want to dive into all the technology behind it, they're actually really interesting reading. But these things are really important as a prerequisite. And that's that VXlan and GRE, the protocols they chose to implement here, are using extra encapsulation. And they require extra bits on a network packet. If you create a global private network with a default MTU at 1500, you won't be able to use it as is in your virtual machines unless you configure a smaller MTU for each virtual interface in your VMs operating system. For simplicity of the demo, I'm just going to take the OS, the two Debian servers I created for this demo and set them to a MTU of 1400. Alternatively, you can update your network equipment to accept larger than 1500 MTU and then you could pass it along that way. So there's two different ways of doing it to me. It's just simpler to do it inside the virtual machine, but ultimately comes down to how you want to configure and set this up. Next, before we go down to network creation, there are some prerequisites here though that do remind you once again that if you choose a zero, for example, for each of these, they all need to be able to talk to each other because that was the interface by which they will create the encrypted tunnel and communicate it. But it's also really important that you can't just install this and expect it to work unless you go to each host that you plan to load this on. So you want to do a yum install open V switch and enable this in the host that you want to add. So all the hosts that you have in your resource pool, you will just go into them one by one and enable it doesn't just does not require any rebooting or restarting. So this won't disrupt existing VMs that you have on there. This will just enable and start the features to have the encrypted tunnels working. Now I am using the self-compiled version of Zen Orchestra. We're going to hear settings and we're going to get plugins. And if you didn't change anything when you did the self-compiled version and you followed all the instructions, it would have installed all the plugins, including the SDN controller. So I'll go ahead and expand this out. You don't have to specify a certificate directory unless you want to create your own certificates. If you don't supply a directory where these are, it will auto create them. Now that we know that this is enabled, it's set to auto load at server start and there's nothing else we have to do here. We're going to go ahead and create a new network by going over to the pools. So go to pool. We're going to choose the YouTube demo pool or go to network. And we want to add one more network. We're going to choose a private network. And then we're going to put in the name here VXLand demo, VXLand demo. We're going to leave the MTU here at 1500 because I'm going to be changing this inside of my virtual machines. I'm going to go ahead and choose VXLand, but you can choose GRE if you prefer that one, but either one works fine. We choose encrypted because why not have all the communication encrypted between them. And then we choose which server is the preferred center. And you don't have to choose this. If not, it'll figure it out itself. Now if we wanted to add another pool, I do have another pool I attached for this demonstration. So if I chose this XCPNG Ryzen pool, and we have E0 on that one for that particular host, it is important that this host can also talk to E0 on the other host because that's how they plan to communicate between these different XCPNG hosts in order to get this to work cross pool. I'm not going to actually create a cross pool, but that's the option if you wanted to do that. And from there, we simply hit create network. Now that we've created the network, we can choose it just like any other network. And I've set it to this VXLand demo one. Now the IP address on here was set statically. And I want to show this setting in the operating system. So we're going to hear to the console. And this is just the source network interfaces. You see the ENX0 interface. And then we have the ENX1 interface. And I've set it to be static. So this is the HTTP just like it was, but this is static. So as I changed this, even if I put it to a different network, like if we put it down to E0, it's going to keep its IP address because it's statically set in the operating system. But when we set it to VXLand, and this is our Debian 12 on server two, it's got an IP address of 192.168.2.4. And we go to our Debian on server one, we go to network, and we have a 192.168.2.5. We can go over here to the console, this one, and we're able to ping the other IP address across the tunnel. So the SDN just shows up as an adapter. There's nothing else I had to do inside of this Debian system. It just shows up as a another network interface, but this is a network interface that is attached via the SDN cross pool and cross host. So as we attach these, we don't have to worry about networking between these individual devices as far as the OS is concerned, allowing this communication. Maybe you want to use this for a management network, or for some specialized communication that you have between each of your servers. I will leave a link down below to the documentation. They have quite a bit of it over at XP and G on how all this works in case there's any details you want to look at a little bit closer, including some of the details around the software defying networking. I think that's a really cool feature. I also like that you do not have to restart any of the virtual machines or the hosts when you're changing or modifying these networks. I will note that this Debian and VM that I had for the demo did have the management tools installed that is a prerequisite, whether you're running Windows or a Linux VM that it does have those tools installed to make network swapping really easy. And of course, that's why it updates the IP address inside of Zen, because the tools are what enable that to work. Nonetheless, love hearing for you. Leave your thoughts and comments down below. I do encourage you to join the forums, not just mine, but the XP and G forums. The team over at Vates is very active there. And it's a great place to engage with them on all the XP and G related topics. And of course, watch development in real time, seeing as it's open source and see how they engage with the community. It's where you'll find me as well. Also, you'll find a playlist linked down below to all the different videos I've created around XP and G Zen Orchestra and the entire Zen ecosystem. Like and subscribe to see more content from this channel. Subscribe to my newsletter over at lauranceystems.com or connect me with whatever socials you'll find here. All right. And thanks.