The nm-connection-editor helps to create new network connections and manage existing network connections in Linux OS. It is a GUI based application.
sudo nm-connection-editor
By typing the above command in Linux terminal, user can start the nm connection editor application. It is only available in GUI (desktop or GNOME) environment. To instead work with terminal, can use nm-cli connection. It available in all platforms such as terminal, desktop and ssh,or instead, can use nmtui, it is a curses-based application. It works on terminal and desktop and support all the feature of network manager.
Table 1: Comparing nmtui and nm-connection-editor
Figure 1:Flow diagram to add a new network connection in nm-connection-editor
(Note: The above flow chart, made in consideration of following static IP address configuration and HPC purpose only.)
In the head node, the nm-connection editor saves all the network configuration files in etc/sysconfig/network-scripts/ directory.
sudo nmcli connection show
By using the above command, can verify the made network connections.
sudo nmcli connection up [Network Connection name]
By using the above command, can activate the specific network connection.
sudo ip address show [Network interface]
After activating network connection, can view the IP configuration of the specific device.
Figure 2:Flow diagram to edit network connection in nm-connection-editor
sudo nmcli connection down [Network Connection name]
sudo nmcli connection up [Network Connection name]
After customisation, the Network Manager/ Net plan won’t change the customise options. Therefore, must manually change the customisation by shutting down and turning on network connection.
sudo ip address show [Network Interface]
Verify the customised IP address changed/ updated.
Figure 3:Flow diagram to delete a network connection in nm-connection-editor
sudo nmcli connection show
Can verify the connection above was deleted.
To implement networking for this project, have used the network bridging format. It has been enabled with two ethernet cables, as follows:
- Internet Sharing Cable
- Purpose: Used to provide internet access to all network devices in the HPC.
- How it Functions: The HPC's head node has an internet connection through the Wi-Fi adapter, but the other compute nodes do not. Therefore, to share the internet connection with the other compute nodes, this internet sharing cable was established.
- Assigned Port (NIC) Name: en01
- Data Sending Cable
- Purpose: Used to share data packets or facilitate intra-communication between the nodes in the HPC.
- How it Functions: In the HPC, most of the function inputs and packet installations occur in the head node. However, to enable parallel processing, the installed packets have to be present in both the compute node and the head node. Furthermore, the head node must send inputs or tasks to the compute nodes to perform. Therefore, an intra-communication link is needed. To fulfill this purpose, these data sending cables were established on all nodes’ NICs.
- Assigned Port (NIC) Name: enp3s0
After establishing network connections, it is necessary to assign an IP address to each node to uniquely identify each one in the HPC network. Therefore, we use static IP address configuration. A static IP address means manually assigning an IP address to network devices. In this case, a Class C IPv4 address is used. The given subnet mask is /24 or 255.255.255.0.The assigned IP addresses are shown below in Table 2. Additionally, the table contains the MAC address of each node.
Table 2: IP Address and MAC Address of each node
Figure 4:Implementation of networking in HPC using nm-connection-editor
In accordance with the methodology described in section 2.1, a static IP address was assigned to each node, as detailed in Table 2. Figure 4 illustrates the implementation of this setup. As depicted in Figure 4, this implementation was applied to each node to manage the network within the HPC.
Figure 5: Network topology implemented in HPC
For this HPC’s network, star network topology has been implemented, as shown in Figure 5. In a star topology, each node is independently connected to a central hub or switch. If one node fails, it does not affect the rest of the network, as each has a direct line to the switch, which facilitates error detection and isolation. This topology is common in Ethernet LANs because of its simplicity and the ease with which systems can be added or removed. In the above can observe two topologies, due to internet sharing and data sharing ethernet connection.
Figure 6: Internet connection test on compute node
- Purpose: To confirm that an internet connection is shared among all nodes.
- Method: This is achieved by pinging Google's DNS (Domain Name System) server, as depicted in Figure 6.
- Result: As shown in Figure 6, executing the command ping 8.8.8.8 on one of the compute nodes—which targets Google’s DNS Server—successfully verifies that the internet connection is active on that node. This procedure was replicated across all nodes, with each reporting successful outcomes. Therefore, it can be concluded that downloading necessary packages on the compute nodes is feasible, indicating a functioning internet connection across the network.
Figure 7: Ping test on compute node
- Purpose: To verify basic connectivity between nodes and measure the round-trip time (RTT) for packets.
- Method: The method involves using the ping command to send ICMP (Internet Control Message Protocol) echo requests to each node, as illustrated in Figure 7.
- Result: As depicted in Figure 7, on one of the compute nodes, executing the command ping 192.168.0.10 targets the head node's IP address and successfully completes the ping test. This test was similarly conducted across all nodes, yielding successful outcomes. This demonstrates that connectivity between nodes is established, allowing for effective communication and coordination within the network.
-
How to implement nm-connection editor: https://help.ubuntu.com/community/NetworkManager
-
Star topology information: https://www.techtarget.com/searchnetworking/definition/star-network
-
Network bridge implementation information: https://www.howtogeek.com/892923/what-is-a-network-bridge-and-should-you-use-one/