This file is part of the documentation for the Linux FreeS/WAN project.
See the documentation index or project
home page for more information.
This file is a guide to the locations of files within the FreeS/WAN
distribution. Everything described here should be on your system once
you download, gunzip, and untar the distribution.
What's Where in Linux FreeS/WAN
This distribution contains two major subsystems
plus assorted odds and ends.
- the kernel code
- the user-level key-management daemon
The top directory has essential information in text files:
- introduction to the software
- installation procedures
(see also setup.html)
- major known bugs in the current release.
- changes from previous releases
- acknowledgement of contributors
- licensing and distribution information
The doc directory contains the bulk of the documentation, most of it
in HTML format. See the Index file for details.
KLIPS: kernel IP security
KerneL IP Security.
It lives in the klips directory, of course.
- patches for existing kernel files
- test stuff
- low-level user utilities
- actual klips kernel files
- symbolic link to klips/net/ipsec
The "make insert" step of installation installs the patches and makes a symbolic link
from the kernel tree to klips/net/ipsec.
The odd name of klips/net/ipsec is dictated by some annoying limitations
of the scripts which build the Linux kernel. The symbolic-link business
is a bit messy, but all the alternatives are worse.
- Utility programs:
- manipulate IPSEC extended routing tables
- set Klips (kernel IPSEC support) debug features and level
- manage IPSEC Security Associations
- group/ungroup IPSEC Security Associations
- associate IPSEC virtual interface with real interface
These are all normally invoked by ipsec(8) with commands such as
ipsec tncfg arguments
There are section 8 man pages for all of these; the names have "ipsec_" as a
prefix, so your man command should be something like:
man 8 ipsec_tncfg
Pluto key and connection management daemon
Pluto is our key management and negotiation
daemon. It lives in the pluto directory, along with its low-level user utility,
There are no subdirectories. Documentation is a Readme file and a man page,
pluto.8. This covers whack as well.
The utils directory contains a growing collection of higher-level user
utilities, the commands that administer and control the software. Most
of the things that you will actually have to run yourself are in there.
There are .8 manual pages for these. look is covered in barf.8. The man
pages have an "ipsec_" prefix so your man command should be something
- invoke IPSEC utilities
ipsec(8) is normally the only program installed in a standard directory,
/usr/local/sbin. It is used to invoke the others, both those listed
below and the ones in klips/utils mentioned above.
- control automatically-keyed IPSEC connections
- take manually-keyed IPSEC connections up and down
- generate copious debugging output
- generate moderate amounts of debugging output
man 8 ipsec_auto
Examples are in various files with names utils/*.eg
The lib directory is the FreeS/WAN library, also steadily growing, used
by both user-level and kernel code.
It includes section 3 man pages for
the library routines.
The libdes and gmp directories are LIBDES and GMP, libraries written by
others which are used in various parts of the software.
Both these libraries include their own documentation files.
- Does DES encryption and related chores.
Used by both Klips and Pluto for Triple DES
encryption. Single DES is not used because it is insecure.
Note that LIBDES has a license different than the GPL
used for other code in FreeS/WAN.
- Does multi-precision arithmetic.
Used by Pluto's key-exchange code.
Click below to go to: