Skip to content

Network

Basic command line tools

  • Get the list of the interfaces
nmcli dev status

Output of the command :

   $ auto

   $ nmcli dev status
   DEVICE     TYPE      STATE         CONNECTION
   enp0s31f6  ethernet  connected     Wired connection 1
   enp3s0     ethernet  connected     TOF sensor 1
   wlp9s0     wifi      disconnected  --
   enp10s0    ethernet  unavailable   --
   enp4s0     ethernet  unavailable   --
   enp7s0     ethernet  unavailable   --
   enp8s0     ethernet  unavailable   --
   lo         loopback  unmanaged     --
* Get all the current interfaces configuration

ifconfig
* View the network routes
ip route # All routes
ip route | grep default # Default gw
  • Set up an interface
nmtui # run the NMTUI (Network Manager Text User Interface) and follow the steps on the screen

Warning

Do NOT use ifconfig to set up an interface, it is deprecated and does not always work (typically on our Spectra 1-2 with Ubuntu 18.04 )

  • Set up the default gateway
# Using route command
$ sudo route add default gw <gw_ip_address>

# Using ip command
$ sudo ip route add default via <gw_ip_address>

Limitation of the ephemeral ports range

An ephemeral port is a short-lived port used by a program to communicate via an internet protocol to another program. It is allocated automatically from a predefined range.

The configuration file is located in /proc/sys/net/ipv4/ip_local_port_range. It is not possible to modify it with a text editor.

  • Modify the range of ephemeral ports
sudo sysctl -w net.ipv4.ip_local_port_range="58000 60999"

Note

It seems like it will be reset to original values after a reboot.

Advanced network configuration file

Located in /etc/netplan/ is a YAML file (often called config.yaml) that describes the network settings. It can be modified.

  • The standard version means that the GUI is responsible for the settings

To visualize it, run :

cat /etc/netplan/*.yaml

The output should be :

network:
   version: 2
   renderer: NetworkManager
* To ensure the PC will follow a specified network configuration, it is possible to define for each interface its configuration. The content of the config.yaml file could for example looks like the following configuration :

network:
   version: 2
   renderer: networkd

   # Static IP address for all Ethernet interfaces, with 255.255.255.0 as mask
   ethernets:
      enp3s0:
         addresses:
            - 192.168.0.100/24
         dhcp4: false
      enp4s0:
         addresses:
            - 192.168.1.100/24
         dhcp4: false
      enp7s0:
         addresses:
            - 192.168.2.100/24
         dhcp4: false
      enp8s0:
         addresses:
            - 192.168.3.100/24
         dhcp4: false

   # Connection to a secured WPA Enterprise Wifi
   wifis:
      wlp9s0:
         access-points:
            workplace:
               auth:
                  key-management: eap
                  method: peap
                  identity: "login"
                  password: "pw"
         dhcp4: true
More examples about netplan can be found on netplan.io/examples.
  • After modifying the YAML file, the following command must be run :
sudo netplan apply