Skip to content

{ Category Archives } networking

Setting up Quagga suite of dynamic routing protocols

Quagga is a suite of dynamic routing protocols for Unix based systems and is a fork of GNU Zebra, which seems to be discontinued.
I attempted to follow the documentation but some steps seemed to be assumed so here is what I did to get it up and running on my Ubuntu 8.04 system – it [...]

Tagged , ,

Force udev to reassign ethX identifiers in Ubuntu 8.04

Quick tip: If you have replaced your network cards in Ubuntu 8.04, or in my case imaged a Ubuntu install across many PC’s, and would like udev to redetect network cards and reassign ethX identifiers beginning with eth0, run the following command.
sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.old
Then reboot the machine, and udev will recreate 70-persistent-net.rules, reassigning only [...]

Tagged , , ,

Creating a Netfilter kernel module which filters UDP packets

Last time we created a Netfilter kernel module which simply dropped all packets which gave the structure and functions that need to be implemented for a Netfilter module to work.
This time, we’ll extend the functionality to poke into the IP header, specifically the protocol field, in order to perform functionality specific to a packet type. [...]

Creating a simple ‘hello world’ Netfilter module

This is the second part of the series in creating a NetFilter module for Ubuntu 8.04 (running linux kernel 2.6.24-23). In it I’ll write a simple Netfilter module as a kernel module that simply drops all packets and logs dropped packets to /var/log/messages. In order to implement this we take the code for the kernel [...]

Tagged , , , ,

Creating a “hello world” kernel module in linux

This is part one of my series on creating a Netfilter module in order to implement a routing protocol in Linux. I’ve broken down the challenge into three steps.

Write a simple kernel module (this article)
Add Netfilter hooks to kernel module
Access packet headers within Netfilter hook
Abstract routing daemon to a user space module (for easier debugging)

This [...]

Tagged , , , , ,

Renaming and reordering of network interfaces in linux using udev

As part of a network testbed I’m working on I need to manage network interfaces and dedicate a network interface to a Linux container. Now depending on the network hardware, the ordering of the eth devices does not necessarily correspond to the ordering on the PCI bus but instead seems to correspond to the order [...]

Tagged , , ,