Binding Orb to a specific network interface

Binding Orb to a specific network interface

Difficulty: Advanced 🧑‍🔬

Introduction

On a Linux or macOS host with more than one network interface (multiple NICs, or VLAN subinterfaces), Orb can be bound to a single interface using --interface. Combined with --instance, this allows multiple sensors to run on the same host, each measuring a different interface with its own isolated identity in Orb Cloud.

Interface binding and named instances require Orb sensor version 1.5.6 and above.

Note: --interface is only implemented on Linux and macOS.

Warning

This features is experimental, and not yet intended for production environments. We appreciate your testing and feedback. Please use our Help & Support page or Discord to report issues and ask questions.

Prerequisites

  • A Linux or macOS host with the interfaces to be measured already configured (DHCP or static, VLAN subinterfaces, etc.)
  • The orb CLI installed
  • The interface names, as reported by ip addr (Linux) or ifconfig / networksetup -listallhardwareports (macOS)

Bind a sensor to a network interface

Add --interface to the sensor subcommand to restrict a sensor's measurements to one interface:

orb sensor --interface eth0

Run multiple bound sensors on the same host

Give each orb sensor --interface ... process its own identity with --instance:

orb --instance wired sensor --interface eth0
orb --instance wifi sensor --interface wlan0

Instance-specific environment variables

Some environment variables can be scoped to a single instance by prefixing the variable name with ORB_<INSTANCE>_, using the instance name in uppercase. For example, with --instance wired:

ORB_WIRED_FIRSTHOP_DISABLED=1 orb --instance wired sensor --interface eth0

sets ORB_FIRSTHOP_DISABLED for the wired instance only.


Link each instance

orb --instance wired link
orb --instance wifi link