Linux For Network Engineers (LFNE) – Now on Ubuntu 24.04

The Linux For Network Engineers (LFNE) Docker container has been refreshed and is now built on Ubuntu 24.04 LTS.

For those new to it, LFNE is a ready-to-use Linux environment preloaded with the most popular tools used by network engineers—from packet capture and traffic analysis utilities to configuration helpers and scripting support. Instead of spending time installing and configuring everything manually, LFNE provides a consistent containerized lab environment you can run anywhere.

What’s New in This Release

This upgrade ensures LFNE benefits from the latest long-term support release of Ubuntu, bringing:

  • Updated system libraries and security patches
  • Better compatibility with modern networking tools
  • Some changes for the network tools included

Key Changes

While most workflows remain the same, there are a few important updates under the hood:

  • Python 2 support: Ubuntu 24.04 no longer provides Python 2 packages via apt. To maintain compatibility, Python 2.7.18 is compiled from source inside the container.
  • Python 3 libraries: due to new restrictions, they are installed via pip inside a dedicated Python virtual environment /root/.venv.
    Please activate the virtual environment to use them source /root/.venv/bin/activate
  • New Docker Hub location: To align with the blog name (ipnet.xyz), the images are now published under the username ipnetxyz.

Tools Included

LFNE comes preinstalled with a curated set of tools and libraries that network engineers use most often, including:

  • Core networking tools:
    • OpenSSL
    • Net-tools (ifconfig, etc.)
    • IPutils (ping, arping, traceroute, etc.)
    • Socat
    • Host (DNS lookup tool)
    • MTR (advanced traceroute)
    • Telnet / SSH client
    • IProute2
    • IPerf (traffic generator)
    • TCPDump
    • Nmap
    • OpenSSH Server
  • Automation & Infrastructure-as-Code tools:
    • Ansible
  • Python environments & libraries:
    • Python 2
    • Python 3
    • Paramiko
    • Netmiko
    • Pyntc
    • Napalm

Contribute & Feedback

LFNE is meant to be a handy toolbox for network engineers, but I know I haven’t included every useful tool out there. If there’s something you use all the time and think it belongs in LFNE, let me know! I’m always open to adding tools that make the container more useful for the community.

Getting Started

Pull the latest updated image with:

docker pull ipnetxyz/lfne:ubuntu-24.04

Then start a container interactively with:

docker run -it ipnetxyz/lfne:ubuntu-24.04 /bin/bash

This will drop you into a shell inside LFNE, ready with all the tools you need.

Additional LNFE based on different OS

Additional images have been added (after this blog was posted) based on AlmaLinux OS and Alpine OS. Please find more details here: https://ipnet.xyz/2025/09/linux-for-network-engineers-lfne-almalinux-alpine-editions/

Deprecation Notice

The old images under yotis/lfne:distro-version will remain available but will no longer be updated. Going forward, please switch to the new naming convention:

yotis/lfne:distro-version   ->   ipnetxyz/lfne:distro-version

This ensures you get the latest updates, security patches, and new features.

Kerberos tickets on Mac OS

I’m using Mac at work and I found out that Kerberos needs sometimes a “kick” for the SSO to work properly. Sometimes after being offline the renewal of Kerberos ticket fails (especially when remote and connected via ZTA or VPN), even though everything looks alright in the “Ticket Viewer” app.

Here is we where the CLI came in handy, so I said to document the few steps here maybe somebody else needs them. Terminal app is your friend to go for the next lines.

To view the current Kerberos tickets:

klist -v

If there are no tickets, which I expect when I have a problem, there is an empty return

To request a ticket:

kinit -V -p [email protected]

The return will request you to enter your password and announce that your ticket request is placed:

[email protected]'s password:
Placing tickets for '[email protected]' in cache 'API:AAAAAAAA-BBBB-CCCC-DDDD-CCCCCCCCCCCC'

Sometimes you may need to use a specific AD Domain Controller server and while the output is the same like above, the command line needs to change (below I use the FQDN, but IP will work as well):

kinit --kdc-hostname=AD-DC-SERVER.EXAMPLE.COM -V -p [email protected]

Now you should see a ticket issued:

klist -v
Credentials cache: API:AAAAAAAA-BBBB-CCCC-DDDD-CCCCCCCCCCCC
        Principal: [email protected]
    Cache version: 0

Server: krbtgt/[email protected]
Client: [email protected]
Ticket etype: aes256-cts-hmac-sha1-96, kvno 15
Ticket length: 4992
Auth time:  Jan 14 06:42:56 2025
End time:   Jan 14 16:42:50 2025
Ticket flags: enc-pa-rep, pre-authent, initial, proxiable, forwardable
Addresses: addressless

I hope you’ll find this useful if in need.

Ubuntu 20.04 image for EVE-NG – Python for Network Engineers

This is an identical copy of my Ubuntu 20.04 PFNE Docker image, developed to be imported and used on EVE-NG (works also on the Community edition because it doesn’t need Docker support).

It contains all necessary tools for network engineers to test automation and learn Python. If you think a tool would be suitable to be added to this edition, please let me know in Comments below:

Openssl
Net-tools
IPutils
IProute
IPerf
TCPDump
NMAP
Python 2
Python 3
Paramiko
Netmiko
Ansible
Pyntc
NAPALM
Netcat
Socat

If you know how to install and use the image, please use the direct download link: Ubuntu 20.04 PFNE for EVE-NG.

For beginners of EVE-NG, here are all the steps to get you going:

  • Download the image
  • Using favorite SFTP Client (WinSCP, FileZilla for example) connect to your EVE-NG instance and upload the image to the following location:
    /opt/unetlab/addons/qemu/
  • Connect via SSH to your EVE-NG instance and go to location:
cd /opt/unetlab/addons/qemu/
  • Unzip the image file.
tar xzvf linux-ubuntu-server-20.04-pfne.tar.gz
  • Remove the archived image file (be sure to have a copy somewhere to avoid the need to download again):
rm -f linux-ubuntu-server-20.04-pfne.tar.gz
  • Fix permissions:
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

The image comes with the following predefined username and password:

User: root
Password: root

User: pfne
Password: pfne

Add it to your topology in EVE-NG and let me know how it works.

Ubuntu 20.04 Docker image – Python For Network Engineers

This is an updated Docker image of Python For Network Engineers (PFNE) based on Ubuntu 20.04 (minimal server distro).

It contains all necessary tools for network / devops engineers to test automation and learn Python:

Openssl
Net-tools
IPutils
IProute
IPerf
TCPDump
NMAP
Python 2
Python 3
Paramiko
Netmiko
Ansible
Pyntc
NAPALM
Netcat
Socat

If you notice a missing package which could be a value added for the scope of the Ubuntu PFNE image, please let me know in comments below.

Before testing the new Ubuntu 20.04 PFNE Docker image, please pull it from Docker Hub:

docker pull yotis/ubuntu2004-pfne

To start using it:

docker run -i -t yotis/ubuntu2004-pfne /bin/bash

For more details about how to install, operate and create your own Docker images, please check my older article on How to create your own Docker image.

Ubuntu image for EVE-NG – Python for network engineers

Lately I’ve started working more and more with EVE-NG to test various network scenarios, automation and in general to try and learn something everyday.

If you’re familiar with EVE-NG, you know where to find various Linux images which you can download and install . Very helpful indeed, however all of them are coming without any pre-installed tools which I need for network oriented tests. I need Python, IPerf, Ansible, various Python libraries for network automation, etc.
Basically every time when I setup a new lab in EVE-NG, I need to make sure that the Linux image has a connection to Internet to download all these tools. Doable, but too much time consuming.

Lately EVE-NG has the Pro version, where you have Docker images which support some of the tools for a network engineer needs to test automation. If you already have EVE-NG Pro, then maybe this is a bit redundant. However if you’re still using the Community version, it may sounds interesting.

I’ve developed the Ubuntu (18.04) image using the same tools that you can find in my Docker image (Ubuntu 16:04 Pfne):
* If you’re not sure what I’m talking about, please read my previous post.

  • Openssl
  • Net-tools (ifconfig..)
  • IPutils (ping, arping, traceroute…)
  • IProute
  • IPerf
  • TCPDump
  • NMAP
  • Python 2
  • Python 3
  • Paramiko (python ssh support)
  • Netmiko (python ssh support)
  • Ansible (automation)
  • Pyntc
  • NAPALM

The image is hosted on my Firstdigest Project at Sourceforge.
If you are in a hurry, download directly using this link: Ubuntu 18.04 Pfne for EVE-NG.

For convenience here are the steps, but if you run into trouble be sure to check the EVE-NG Documentation.

  • Download the image
  • Using favorite SFTP Client (WinSCP, FileZilla) connect to your EVE-NG and upload the image to the location: /opt/unetlab/addons/qemu/
  • Connect via SSH to your EVE-NG machine and go to location:
cd /opt/unetlab/addons/qemu/
  • Unzip your uploaded image file.
tar xzvf linux-ubuntu-server-18.04-pfne.tar.gz
  • Remove the archived image file (be sure to have a copy somewhere to avoid you have to download it again)
rm -f linux-ubuntu-server-18.04-pfne.tar.gz
  • Fix permissions
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

The image comes with the following predefined username and password (security was not the point here):

User: root
Password: root
User: pfne
Password: pfne

With this image you have everything ready for your tests. You want to test QoS? Just design a network and two (client / server pair) machine using this image and push some packets with IPerf. Or maybe you want to test some automation. Here you have it, just start playing with.

Btw, I assume you have the EVE-NG installed. If not and you’re into learning topics, I’ll advise you to install this great application. You can start with Community version which is free (and honestly has enough features for most of the self-teaching engineers out there) and if you feel like go with the Pro version.

Let me know if you find it useful. In case of problems, please comment and I’ll try to help in my spare time.