Network Configuration

  1. Home
  2. Docs
  3. Colocation
  4. Network Configuration

Network Configuration


It is essential to test the accessibility of the IP address and ports before shipping the Pi. Since the ExaMesh team has no access to the Pi, incorrect configuration can only be corrected by swapping the SD card. Due to the manual effort involved, this process will incur additional fees.

Each Colocation Pi has a private IP address assigned by the booking process, which must be configured as a static address in the system. The procedure for Raspberry Pi OS is described in the official documentation.

The configuration in /etc/dhcpcd.conf of a Pi with the a Static-IP=10.0.0.2, Netmask=255.255.255.0 (resp. /24) and Gateway-IP=10.0.0.1 would then look like this:

interface eth0
static ip_address=10.0.0.2/24
static routers=10.0.0.1
static domain_name_servers=8.8.4.4 8.8.8.8

The nameserver IPs in the last line are arbitrary: ExaMesh does not operate its own DNS service, so public nameservers, such as those shown from Google, are used.

After configuration, it is essential to check them after Pi restart.
In this example, the following commands should provide the output shown:


root@pi$ ip addr list
...
...: eth0: ...
    ...
    inet 10.0.0.2/24 brd ...
    ...

root@pi$ ip route
default via 10.0.0.1 dev eth0 ...
...

TCP Ports

In addition to the IP, each Pi is assigned several TCP ports that are required for addressing from the Internet. Details of the whole process and the pros and cons can be found here. For example, a Pi might have public ports 9001 and 9002, which are forwarded to ports 22 and 6001 by the ExaMesh gateway. Port 9001 should be for SSH and port 9002 for an internal web service. The applications used are openssh and nginx:

Internet➔ forwards to ➔Pi
Host: oprema.exame.sh
TCP Port: 9001
Host: 10.0.0.2
TCP Port: 22
Host: oprema.exame.sh
TCP Port: 9002
Host: 10.0.0.2
TCP Port: 6001

OpenSSH uses port 22 by default, so no configuration is required at this point. However, the port can also be set explicitly in the configuration file:

root@pi$  cat /etc/ssh/sshd_config
…
Port 22
…

A configuration is mandatory for nginx, since it normally uses HTTP port 80 (or 443 for HTTPS) as a web server. Here the listen directive must be set:

root@pi$  cat /etc/nginx.conf
...
server {
    listen 6001;
  ...
}
...
ExaMesh Is a Member Of
GAIA-X
SDIA
DSM
BWE