dc8 - 1.1

Super Cow Powers Included

martin f. krafft
Day DebConf day 6 (2008-08-15)
Room Salon del mar
Start time 20:00
Duration 01:00
ID 230
Event type lecture
Track DebConf
Language en


modern, bottom-up, stateless network interface configuration

This presentation introduces netconf, a network configuration management system designed with modern network infrastructures and the needs of roaming users in mind. The talk describes netconf's architecture and reports on the progress to date.

On Linux systems nowadays, network configuration happens in one of two ways: by way of a distro-specific solution, or using NetworkManager. Neither of these two approaches are really suitable for today's requirements, which include roaming laptops and wireless networks, VPNs, LinkLocal networks, etc.

The distro-specific methods usually employ hooks to configure everything beyond the simple IP interface, but the solutions are quite brittle in the event of errors or exceptional situations. And while NetworkManager does a splendid job with wireless networks, it suffers from a number of limitations, such as the inability to store more than one static address configuration. In addition, its GUI-centric approach often leaves advanced users with a feeling of lack of control, and imposes unneccessary dependencies for minimal systems.

netconf aims to address these problems. It is a daemon designed from the bottom up with only minimal functionality. It uses an event-driven model and well-defined, bidirectional interfaces, which make it possible to integrate advanced functionality: link and location autodetection; configuration of printers, smarthosts, proxies, etc. from DHCP data; LinkLocal addressing; wireless LAN; VPN; firewalling; advanced routing and traffic control, including bridging, various user interfaces (including the NetworkManager GUI), and so on.

netconf was developed for Debian systems but its design makes it trivial for other distributions (even using non-Linux kernels) to deploy it without the need to adopt Debian's network configuration paradigms — in fact, the compatibility with Debian's well-established ifupdown is implemented as an extension to the netconf core. It is currently in alpha state and implemented in Python, but with a the eventual porting to C in mind.

This presentation assumes experience with Linux network configuration management. Previous exposure to complex network infrastructures would be a bonus to the attendant as well as the speaker.