Import release 0.07
[secnet] / INSTALL
CommitLineData
2fe58dfd
SE
1INSTALLATION INSTRUCTIONS for SECNET
2
974d0468 3USE AT YOUR OWN RISK. THIS IS ALPHA TEST SOFTWARE. I DO NOT
df1b18fc
SE
4GUARANTEE THAT THERE WILL BE PROTOCOL COMPATIBILITY BETWEEN DIFFERENT
5VERSIONS.
6
59635212
SE
7PROTOCOL COMPATIBILITY WAS BROKEN BETWEEN secnet-0.06 AND secnet-0.07
8
df1b18fc
SE
9* Preparation
10
11** System software support
12
2fe58dfd
SE
13Ensure that you have libgmp2-dev and adns installed (and bison and
14flex, and for that matter gcc...).
15
59635212
SE
16[On BSD install /usr/ports/devel/bison and /usr/ports/devel/libgnugetopt]
17
2fe58dfd 18If you intend to configure secnet to obtain packets from the kernel
974d0468 19through userv-ipif, install and configure userv-ipif. It is part of
2fe58dfd
SE
20userv-utils, available from ftp.chiark.greenend.org.uk in
21/users/ian/userv
22
4efd681a
SE
23If you intend to configure secnet to obtain packets from the kernel
24using the universal TUN/TAP driver, make sure it's configured in your
974d0468
SE
25kernel (it's under "network device support" in Linux-2.4) and that
26you've created the appropriate device files; see
4efd681a
SE
27linux/Documentation/networking/tuntap.txt
28
df1b18fc 29If you're using TUN/TAP on a platform other than Linux-2.4, see
4efd681a
SE
30http://vtun.sourceforge.net/tun/
31
df1b18fc
SE
32Note than TUN comes in two flavours, one (called 'tun' in the secnet
33config file) which has only one device file (usually /dev/net/tun) and
974d0468
SE
34the other (called 'tun-old') which has many device files (/dev/tun*).
35Linux-2.4 has new-style TUN, Linux-2.2, BSD and Solaris have old-style
36TUN. Currently only new-style TUN has been tested with secnet.
df1b18fc
SE
37
38** System and network configuration
39
974d0468
SE
40If you intend to start secnet as root, I suggest you create a userid
41for it to run as once it's ready to drop its privileges. Example (on
df1b18fc
SE
42Debian):
43# adduser --system --no-create-home secnet
44
974d0468
SE
45You will need to allocate two IP addresses for use by secnet. One
46will be for the tunnel interface on your tunnel endpoint machine (i.e.
47the address you see in 'ifconfig' when you look at the tunnel
48interface). The other will be for secnet itself. These addresses
49could possibly be allocated from the range used by your internal
50network: if you do this, you should think about providing appropriate
51proxy-ARP on the machine running secnet for the two addresses.
52Alternatively the addresses could be from some other range - this
53works well if the machine running secnet is the default route out of
54your network.
df1b18fc
SE
55
56http://www.ucam.org/cam-grin/ may be useful.
57
58Advanced users: secnet's IP address does not _have_ to be in the range
59of networks claimed by your end of the tunnel; it could be in the
974d0468
SE
60range of networks claimed by the other end. Doing this is confusing,
61but works.
df1b18fc
SE
62
63* Installation
64
65To install secnet do
2fe58dfd
SE
66
67$ ./configure
68$ make
974d0468 69# make install
2fe58dfd
SE
70# mkdir /etc/secnet
71# cp example.conf /etc/secnet/secnet.conf
72# cd /etc/secnet
73# ssh-keygen -f key -N ""
74
75(When upgrading, just install the new /usr/local/sbin/secnet; keep
76your current configuration file.)
77
df1b18fc 78Generate a site file fragment for your site (see below), and submit it
974d0468 79for inclusion in the vpn-sites file. Download the vpn-sites file to
df1b18fc
SE
80/etc/secnet/sites - MAKE SURE YOU GET AN AUTHENTIC COPY because the
81sites file contains public keys for all the sites in the VPN.
2fe58dfd 82
df1b18fc 83* Configuration
2fe58dfd 84
df1b18fc 85Should be reasonably obvious - edit /etc/secnet/secnet.conf as
974d0468
SE
86prompted by the comments. XXX Fuller documentation of the
87configuration file format should be forthcoming in time. Its syntax
88is described in the README file at the moment.
df1b18fc
SE
89
90* Constructing your site file fragment
2fe58dfd
SE
91
92You need the following information:
93
974d0468 941. a short name for your site, eg. "greenend". This is used to
2fe58dfd
SE
95identify your site in the vpn-sites file.
96
974d0468 972. the name your site will use in the key setup protocol,
2fe58dfd
SE
98eg. "greenend" (these two will usually be similar or the same).
99
974d0468
SE
1003. the DNS name of the machine that will be the "front-end" for your
101secnet installation. This will typically be the name of the gateway
102machine for your network, eg. sinister.dynamic.greenend.org.uk
2fe58dfd
SE
103
104secnet does not actually have to run on this machine, as long as the
105machine can be configured to forward UDP packets to the machine that
106is running secnet.
107
974d0468 1084. the port number used to contact secnet at your site. This is the
2fe58dfd
SE
109port number on the front-end machine, and does not necessarily have to
110match the port number on the machine running secnet.
111
974d0468 1125. the list of networks accessible at your site over the VPN.
2fe58dfd 113
974d0468 1146. the public part of the RSA key you generated during installation
2fe58dfd 115(in /etc/secnet/key.pub if you followed the installation
974d0468
SE
116instructions). This file contains three numbers and a comment on one
117line. The first number is the key length in bits, and can be ignored.
118The second number (typically small) is the encryption key 'e', and the
119third number (large) is the modulus 'n'.
2fe58dfd
SE
120
121If you are running secnet on a particularly slow machine, you may like
122to specify a larger value for the key setup retry timeout than the
974d0468
SE
123default, to prevent unnecessary retransmissions of key setup packets.
124See the notes in the example configuration file for more on this.
2fe58dfd
SE
125
126The site file fragment should look something like this:
127
128shortname {
129 name "sitename";
130 address "your.public.address.org.uk";
131 port 5678;
132 networks "172.18.45.0/24";
133 key rsa-public("35","153279875126380522437827076871354104097683702803616313419670959273217685015951590424876274370401136371563604396779864283483623325238228723798087715987495590765759771552692972297669972616769731553560605291312242789575053620182470998166393580503400960149506261455420521811814445675652857085993458063584337404329");
134 };
df1b18fc
SE
135
136See 'example-sites-file' for more examples.