[ Networking with Dual-NICs ]
It is important to note
that in order to configure a VERDE Server with two or more network interface
cards (NICs), they must all be assigned to different IP Subnets and NOT part of
the same Subnet. If they were
assigned to the same Subnet, this would cause network communications problems. The reason for that, only one of the Network
interfaces on the same Subnet can have a Default Gateway defined. The other NIC(s) cannot be configured with a
Default Gateway. If one is added, it is
ignored by the CentOS network. Thus, if one of the NICs is configured without a
Default Gateway, when it receives IP traffic from outside its common Subnet, it
would NOT know how to return the packets back to the Source Subnet where the IP
traffic originated. The only Network
interface that would be successful is the NIC that has a Default Gateway configured,
because it would 'forward’ the IP traffic to the Default Gateway, for
proper return routing of the packets.
As we already know, in a Dual-NIC configuration, each Network interface must exist on its own IP Subnet, with its own Default Gateway assigned.
Ex: NIC1: 192.168.1.50 NIC2: 192.168.2.50
Configuring Dual-NICs in this way has the potential to increase bandwidth (up to doubling) of the VERDE Server between the two Subnets. If the number of endpoints is about equal on both Subnets, the Load-Balancing would be symmetrical, otherwise, asymmetrical, with one NIC having more traffic than the other.
Configuring Dual-NICs
on a VERDE VDI server requires some advanced network configuration outside of
the VERDE VDI solution. This is done via
the CentOS command line. By default,
VERDE VDI only listens to IP traffic on the network interface of its Primary IP
address and does not see traffic from other network interfaces that are
configured on different Subnets. Once a
Secondary network interface is connected to a separate Subnet and it has been
assigned with its own IP address using the CentOS 7 command line, before any VERDE
VDI communications are possible over the new interface, steps are needed to
configure Port forwarding, to allow the VERDE server to listen to connections
from other network interfaces.
Port Forwarding
This can be performed via the CentOS command prompt, by configuring a specific TCP Port (Port 48622) to be forwarded from a Secondary network interface(s) to the Primary IP address of the VERDE VDI server. This special configuration requires the use of a CentOS 7 utility called: socat
Here is the CentOS command to install 'socat' from the CentOS 7 command prompt:
]# yum install socat
If prompted, enter 'Y'
to allow the install.
Examples of the command to Forward the needed TCP Port
1) socat tcp-listen:TCP-Port,fork,reuseaddr,bind=IP of secondary NIC tcp:Primary IP of Verde server:TCP-Port
Assume Verde Primary IP address is: 192.168.1.55
Assume the Secondary NIC (on another Subnet) IP address is: 192.168.2.55
TCP Port that needs to be Forwarded is: 48622
Here is the exact command I use to Forward TCP Port: 48622
socat tcp-listen:48622,fork,reuseaddr,bind=192.168.2.55 tcp:192.168.1.55:48622 &
NOTE: The special character ‘&’ is
needed to send the CentOS command and return control back to the command
line. This interactive command is temporary.
The port forwarding configuration is lost upon VERDE server restart.
Start Port
Forwarding Automatically
The following CentOS network configuration file and CentOS commands can be used to create a service that will automatically start the Port forwarding at each VERDE server ‘restart’.
Creating of the configuration file
Create a file called: socat0.service
Location of file: /etc/systemd/system/socat0.service
Contents of the file begins AFTER this line
[Unit]
Description=socat0
Wants=network.target
After=network.target
[Service]
ExecStart=/usr/bin/socat tcp-listen:48622,fork,reuseaddr,bind=192.168.3.55 tcp:192.168.1.56:48622
Restart=always
[Install]
WantedBy=multi-user.target
Once you save the (above) file, run the following commands to initiate the service
Creating of the configuration file
$ sudo systemctl daemon-reload
$ sudo systemctl enable socat0.service
$ sudo systemctl start socat0.service
NOTE: If you want to stop the service
$ sudo systemctl stop socat0.service
If you want to permanently disable this service (so that it will not start automatically during boot)
$ sudo systemctl disable socat0.service
Once the above
configuration is in-place, it is necessary to ‘reboot’ the VERDE server. After the VERDE server restarts, endpoints
from each of the two separate Subnets can point their VERDE Client software to
the IP address assigned to their network interface of the VERDE server and
should be prompted to Login.
Recommended Use Cases for Dual-NICs
Adding a Secondary network interface to the VERDE server allows connectivity from a completely separate IP Subnet within the Organization, without the need to perform advanced network configurations to implement Bonding or Teaming. Dual-NICs can increase network throughput by doubling the network bandwidth.
This is an ideal solution for smaller Companies that over time, expanded large enough to outgrow their initial network, in terms of available IP addresses. By adding a Secondary network interface, a new Subnet can be implemented providing another whole TCP address space.