Netify Agent v5 on OpenWrt
OpenWrt is a leading open-source operating system for embedded devices and network gateways, powering a wide range of routers and edge devices worldwide. Its flexibility and robust package management make it a popular choice for commercial OEMs, including brands like GL.iNet and reference platforms from the prpl Foundation.
This guide covers installation of Netify Agent v5 for OpenWrt on x86 architecture. If you require support for ARM, MIPS, or other hardware platforms, please contact us - we have additional builds available for many targets.
Requirements
The OpenWrt router will need at least 2 network interfaces:
- Network Interface #1: used to access the operating system and Netify
- Network Interface #2: used to ingest port mirror traffic from LAN segment 1
- Network Interface #N: used to ingest port mirror traffic from LAN segment N (optional)
Depending on the amount and type of network traffic, a minimum of 256MB RAM is required.
You will also need to know which version of OpenWrt you are running in order to add the correct repository. If you're not sure, cat the /etc/os-release file:
$ cat /etc/os-release
NAME="OpenWrt"
VERSION="21.02-SNAPSHOT"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt 21.02-SNAPSHOT"
VERSION_ID="21.02-snapshot"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r0+16524-6d8fbf8d79"
OPENWRT_BOARD="ipq40xx/generic"
OPENWRT_ARCH="arm_cortex-a7_neon-vfpv4"
OPENWRT_TAINTS="no-all"
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt 21.02-SNAPSHOT r0+16524-6d8fbf8d79"
OpenWrt Software Package Repository
Like many distributions, OpenWrt has its own software package repository. It contains thousands of packages to extend the functionality of the system. The Netify agent was accepted into the OpenWrt ecosystem in 2019 and continues to be supported today, making it easy to install via LuCI or the command line.
One difference between supporting OpenWrt and most other Linux distributions is that OpenWrt is generally installed on a much more diverse landscape of hardware. Where Ubuntu and Debian are typically installed on x86 architecture, OpenWrt is compiled for many different Platforms (or Targets). Compiling Netify for dozens of custom chipsets is one of the many benefits of being accepted into the OpenWrt community.
One drawback, however, is that the Netify Agent version usually lags behind the latest versions of the Netify software due to differences in the release dates and OpenWrt policies around upgrades. If you are interested in installing the latest Netify version and you are installing on a physical or virtual machine using x86 instruction set, the documentation below is for you.
If you would like a 'one click' install of the Netify Agent, you will need to use Netify Version 4.
Installation
Netify Agent is distributed through the same packaging workflow as Netify plugins, allowing for a consistent installation experience using standard package manager syntax. Pre-compiled binaries are available for x86_64 architectures via our public mirrors. For ARM, MIPS, and other specialized architectures, please contact us.
Step 1 - Select your installation target:
Step 2 - Add Netify's package signing key and repository:
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/24.10/x86' >> /etc/opkg/customfeeds.conf
Step 3 - Install the Netify Agent:
opkg update
opkg install netifyd
Step 4 - Install plugins:
The Netify Agent provides only minimal functionality in the absence of plugins. To begin processing data, configure one or more feature plugins and/or sink (connector) plugins.
Step 2 - Add Netify's package signing key and repository:
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/23.05/x86' >> /etc/opkg/customfeeds.conf
Step 3 - Install the Netify Agent:
opkg update
opkg install netifyd
Step 4 - Install plugins:
The Netify Agent provides only minimal functionality in the absence of plugins. To begin processing data, configure one or more feature plugins and/or sink (connector) plugins.
Step 2 - Add Netify's package signing key and repository:
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/22.03/x86' >> /etc/opkg/customfeeds.conf
Step 3 - Install the Netify Agent:
opkg update
opkg install netifyd
Step 4 - Install plugins:
The Netify Agent provides only minimal functionality in the absence of plugins. To begin processing data, configure one or more feature plugins and/or sink (connector) plugins.
Step 2 - Add Netify's package signing key and repository:
wget https://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify https://download.netify.ai/5/openwrt/21.02/x86' >> /etc/opkg/customfeeds.conf
Step 3 - Install the Netify Agent:
opkg update
opkg install netifyd
Step 4 - Install plugins:
The Netify Agent provides only minimal functionality in the absence of plugins. To begin processing data, configure one or more feature plugins and/or sink (connector) plugins.
Step 2 - Add Netify's package signing key and repository:
wget http://download.netify.ai/5/openwrt/key-build.pub -O /etc/opkg/keys/b18c240cb821dad2
echo 'src/gz netify http://download.netify.ai/5/openwrt/19.07/x86' >> /etc/opkg/customfeeds.conf
Step 3 - Install the Netify Agent:
opkg update
opkg install netifyd
Step 4 - Install plugins:
The Netify Agent provides only minimal functionality in the absence of plugins. To begin processing data, configure one or more feature plugins and/or sink (connector) plugins.
Post Installation
After installing the agent, verify the installation and some path information using the -s (status) argument.
$ netifyd -s
Netify Agent/5.0.62-1-HEAD-nnnn-aaaaaaaa (debian; linux-gnu; x86_64; conntrack; netlink; dns-cache; tpv3; tcmalloc; regex)
✗ agent is not running: PID 0
• persistent state path: /etc/netifyd
• volatile state path: /var/run/netifyd
! agent run-time status could not be determined.
The Netify agent is not configured to start post install. It will not be running by default and should expect to see the 'not running' and 'run-time status could not be determined' messages.
Plugins
With the core Netify Agent installed, you can now enable plugins to align with your technical requirements. The feature pages offer a high level overview of the agent's capabilities, while the technical reference documentation provides detailed implementation guidance for those ready to dive deeper.
Informatics
Netify Informatics is an optional, cloud based SaaS service that delivers web based visibility into network activity. To get started, follow the installation instructions to enable the subscription service.
Hardware Targets Other than x86
Packages available on the Netify download servers are currently built for x86 architecture. Common OpenWrt targets such as ARM including armhf and arm64 or aarch64, MIPS including mipsel and mips64, and PowerPC are not typically published. If you are looking to run a newer version of Netify on a non x86 OpenWrt device, please contact us. There is a good chance compatible binaries are already available for your specific hardware target.
System Integrators and Edge Device OEM
If you are a system integrator or OEM building an edge computing platform, we can help you incorporate the Netify Agent into your software stack. Our team regularly builds Netify, including both open and proprietary components, within custom buildroot environments tailored to your hardware. Please reach out to discuss your requirements.