Add PCICAP_{ID,NEXTPTR} to avoid using magic number
[dragonfly.git] / usr.sbin / setkey / sample.cf
1 # Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
2 # All rights reserved.
3
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
7 # 1. Redistributions of source code must retain the above copyright
8 #    notice, this list of conditions and the following disclaimer.
9 # 2. Redistributions in binary form must reproduce the above copyright
10 #    notice, this list of conditions and the following disclaimer in the
11 #    documentation and/or other materials provided with the distribution.
12 # 3. Neither the name of the project nor the names of its contributors
13 #    may be used to endorse or promote products derived from this software
14 #    without specific prior written permission.
15
16 # THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
17 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 # ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
20 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 # SUCH DAMAGE.
27 #
28 # $FreeBSD: src/usr.sbin/setkey/sample.cf,v 1.1.2.1 2000/07/15 07:37:03 kris Exp $
29 # $DragonFly: src/usr.sbin/setkey/sample.cf,v 1.2 2003/06/17 04:30:03 dillon Exp $
30
31 # There are sample scripts for IPsec configuration by manual keying.
32 # A security association is uniquely identified by a triple consisting
33 # of a Security Parameter Index (SPI), an IP Destination Address, and a
34 # security protocol (AH or ESP) identifier.  You must take care of these
35 # parameters when you configure by manual keying.
36
37 # ESP transport mode is recommended for TCP port number 110 between
38 # Host-A and Host-B. Encryption algorithm is blowfish-cbc whose key
39 # is "kamekame", and authentication algorithm is hmac-sha1 whose key
40 # is "this is the test key".
41 #
42 #       ============ ESP ============
43 #       |                           |
44 #    Host-A                        Host-B
45 #   fec0::10 -------------------- fec0::11
46 #
47 # At Host-A and Host-B,
48 spdadd fec0::10[any] fec0::11[110] tcp -P out ipsec
49         esp/transport/fec0::10-fec0::11/use ;
50 spdadd fec0::11[110] fec0::10[any] tcp -P in ipsec
51         esp/transport/fec0::11-fec0::10/use ;
52 add fec0::10 fec0::11 esp 0x10001
53         -m transport
54         -E blowfish-cbc "kamekame"
55         -A hmac-sha1 "this is the test key" ;
56 add fec0::11 fec0::10 esp 0x10002
57         -m transport
58         -E blowfish-cbc "kamekame"
59         -A hmac-sha1 "this is the test key" ;
60
61 # "[any]" is wildcard of port number.  Note that "[0]" is the number of
62 # zero in port number.
63
64 # Security protocol is old AH tunnel mode, i.e. RFC1826, with keyed-md5
65 # whose key is "this is the test" as authentication algorithm.
66 # That protocol takes place between Gateway-A and Gateway-B.
67 #
68 #                        ======= AH =======
69 #                        |                |
70 #    Network-A       Gateway-A        Gateway-B        Network-B
71 #   10.0.1.0/24 ---- 172.16.0.1 ----- 172.16.0.2 ---- 10.0.2.0/24
72 #
73 # At Gateway-A:
74 spdadd 10.0.1.0/24 10.0.2.0/24 any -P out ipsec
75         ah/tunnel/172.16.0.1-172.16.0.2/require ;
76 spdadd 10.0.2.0/24 10.0.1.0/24 any -P in ipsec
77         ah/tunnel/172.16.0.2-172.16.0.1/require ;
78 add 172.16.0.1 172.16.0.2 ah-old 0x10003
79         -m any
80         -A keyed-md5 "this is the test" ;
81 add 172.16.0.2 172.16.0.1 ah-old 0x10004
82         -m any
83         -A keyed-md5 "this is the test" ;
84
85 # If port number field is omitted such above then "[any]" is employed.
86 # -m specifies the mode of SA to be used.  "-m any" means wildcard of
87 # mode of security protocol.  You can use this SAs for both tunnel and
88 # transport mode.
89
90 # At Gateway-B.  Attention to the selector and peer's IP address for tunnel.
91 spdadd 10.0.2.0/24 10.0.1.0/24 any -P out ipsec
92         ah/tunnel/172.16.0.2-172.16.0.1/require ;
93 spdadd 10.0.1.0/24 10.0.2.0/24 any -P in ipsec
94         ah/tunnel/172.16.0.1-172.16.0.2/require ;
95 add 172.16.0.1 172.16.0.2 ah-old 0x10003
96         -m tunnel
97         -A keyed-md5 "this is the test" ;
98 add 172.16.0.2 172.16.0.1 ah-old 0x10004
99         -m tunnel
100         -A keyed-md5 "this is the test" ;
101
102 # AH transport mode followed by ESP tunnel mode is required between
103 # Gateway-A and Gateway-B.
104 # Encryption algorithm is 3des-cbc, and authentication algorithm for ESP
105 # is hmac-sha1.  Authentication algorithm for AH is hmac-md5.
106 #
107 #                           ========== AH =========
108 #                           |  ======= ESP =====  |
109 #                           |  |               |  |
110 #      Network-A          Gateway-A        Gateway-B           Network-B
111 #   fec0:0:0:1::/64 --- fec0:0:0:1::1 ---- fec0:0:0:2::1 --- fec0:0:0:2::/64
112 #
113 # At Gateway-A:
114 spdadd fec0:0:0:1::/64 fec0:0:0:2::/64 any -P out ipsec
115         esp/tunnel/fec0:0:0:1::1-fec0:0:0:2::1/require
116         ah/transport/fec0:0:0:1::1-fec0:0:0:2::1/require ;
117 spdadd fec0:0:0:2::/64 fec0:0:0:1::/64 any -P in ipsec
118         esp/tunnel/fec0:0:0:2::1-fec0:0:0:1::1/require
119         ah/transport/fec0:0:0:2::1-fec0:0:0:1::1/require ;
120 add fec0:0:0:1::1 fec0:0:0:2::1 esp 0x10001
121         -m tunnel
122         -E 3des-cbc "kamekame12341234kame1234"
123         -A hmac-sha1 "this is the test key" ;
124 add fec0:0:0:1::1 fec0:0:0:2::1 ah 0x10001
125         -m transport
126         -A hmac-md5 "this is the test" ;
127 add fec0:0:0:2::1 fec0:0:0:1::1 esp 0x10001
128         -m tunnel
129         -E 3des-cbc "kamekame12341234kame1234"
130         -A hmac-sha1 "this is the test key" ;
131 add fec0:0:0:2::1 fec0:0:0:1::1 ah 0x10001
132         -m transport
133         -A hmac-md5 "this is the test" ;
134
135 # ESP tunnel mode is required between Host-A and Gateway-A.
136 # Encryption algorithm is cast128-cbc, and authentication algorithm
137 # for ESP is hmac-sha1.
138 # ESP transport mode is recommended between Host-A and Host-B.
139 # Encryption algorithm is rc5-cbc,  and authentication algorithm
140 # for ESP is hmac-md5.
141 #
142 #       ================== ESP =================
143 #       |  ======= ESP =======                 |
144 #       |  |                 |                 |
145 #      Host-A            Gateway-A           Host-B
146 #   fec0:0:0:1::1 ---- fec0:0:0:2::1 ---- fec0:0:0:2::2
147 #
148 # At Host-A:
149 spdadd fec0:0:0:1::1[any] fec0:0:0:2::2[80] tcp -P out ipsec
150         esp/transport/fec0:0:0:1::1-fec0:0:0:2::2/use
151         esp/tunnel/fec0:0:0:1::1-fec0:0:0:2::1/require ;
152 spdadd fec0:0:0:2::1[80] fec0:0:0:1::1[any] tcp -P in ipsec
153         esp/transport/fec0:0:0:2::2-fec0:0:0:1::1/use
154         esp/tunnel/fec0:0:0:2::1-fec0:0:0:1::1/require ;
155 add fec0:0:0:1::1 fec0:0:0:2::2 esp 0x10001
156         -m transport
157         -E cast128-cbc "12341234"
158         -A hmac-sha1 "this is the test key" ;
159 add fec0:0:0:1::1 fec0:0:0:2::1 esp 0x10002
160         -E rc5-cbc "kamekame"
161         -A hmac-md5 "this is the test" ;
162 add fec0:0:0:2::2 fec0:0:0:1::1 esp 0x10003
163         -m transport
164         -E cast128-cbc "12341234"
165         -A hmac-sha1 "this is the test key" ;
166 add fec0:0:0:2::1 fec0:0:0:1::1 esp 0x10004
167         -E rc5-cbc "kamekame"
168         -A hmac-md5 "this is the test" ;
169
170 # By "get" command, you can get a entry of either SP or SA.
171 get fec0:0:0:1::1 fec0:0:0:2::2 ah 0x10004 ;
172
173 # Also delete command, you can delete a entry of either SP or SA.
174 spddelete fec0:0:0:1::/64 fec0:0:0:2::/64 any -P out;
175 delete fec0:0:0:1::1 fec0:0:0:2::2 ah 0x10004 ;
176
177 # By dump command, you can dump all entry of either SP or SA.
178 dump ;
179 spddump ;
180 dump esp ;
181 flush esp ;
182
183 # By flush command, you can flush all entry of either SP or SA.
184 flush ;
185 spdflush ;
186
187 # "flush" and "dump" commands can specify a security protocol.
188 dump esp ;
189 flush ah ;
190
191 # XXX
192 add ::1 ::1 esp 10001 -m transport -E simple ;
193 add ::1 ::1 esp 10002 -m transport -E des-deriv "12341234" ;
194 add ::1 ::1 esp-old 10003 -m transport -E des-32iv "12341234" ;
195 add ::1 ::1 esp 10004 -m transport -E simple -A null ;
196 add ::1 ::1 esp 10005 -m transport -E simple -A hmac-md5 "1234123412341234" ;
197 add ::1 ::1 esp 10006 -m tunnel -E simple -A hmac-sha1 "12341234123412341234" ;
198 add ::1 ::1 esp 10007 -m transport -E simple -A keyed-md5 "1234123412341234" ;
199 add ::1 ::1 esp 10008 -m any -E simple -A keyed-sha1 "12341234123412341234" ;
200 add ::1 ::1 esp 10009 -m transport -E des-cbc "testtest" ;
201 add ::1 ::1 esp 10010 -m transport -E 3des-cbc "testtest12341234testtest" ;
202 add ::1 ::1 esp 10011 -m tunnel -E cast128-cbc "testtest1234" ;
203 add ::1 ::1 esp 10012 -m tunnel -E blowfish-cbc "testtest1234" ;
204 add ::1 ::1 esp 10013 -m tunnel -E rc5-cbc "testtest1234" ;
205 add ::1 ::1 esp 10014 -m any -E rc5-cbc "testtest1234" ;
206 add ::1 ::1 esp 10015 -m transport -f zero-pad -E simple ;
207 add ::1 ::1 esp 10016 -m tunnel -f random-pad -r 8 -lh 100 -ls 80 -E simple ;
208 add ::1 ::1 esp 10017 -m transport -f seq-pad -f nocyclic-seq -E simple ;
209 add ::1 ::1 esp 10018 -m transport -E simple ;
210 #add ::1 ::1 ah 20000 -m transport -A null ;
211 add ::1 ::1 ah 20001 -m any -A hmac-md5 "1234123412341234";
212 add ::1 ::1 ah 20002 -m tunnel -A hmac-sha1 "12341234123412341234";
213 add ::1 ::1 ah 20003 -m transport -A keyed-md5 "1234123412341234";
214 add ::1 ::1 ah-old 20004 -m transport -A keyed-md5 "1234123412341234";
215 add ::1 ::1 ah 20005 -m transport -A keyed-sha1 "12341234123412341234";
216 #add ::1 ::1 ipcomp 30000 -C oui ;
217 add ::1 ::1 ipcomp 30001 -C deflate ;
218 #add ::1 ::1 ipcomp 30002 -C lzs ;
219
220 # enjoy.