1 |
=begin texinfo header |
2 |
|
3 |
\input texinfo @c -*-texinfo-*- |
4 |
@c GENERATED FILE, gvpe.texi.pod is the source, not gvpe.texi! |
5 |
@c GENERATED FILE, gvpe.texi.pod is the source, not gvpe.texi! |
6 |
@c GENERATED FILE, gvpe.texi.pod is the source, not gvpe.texi! |
7 |
@c GENERATED FILE, gvpe.texi.pod is the source, not gvpe.texi! |
8 |
@c GENERATED FILE, gvpe.texi.pod is the source, not gvpe.texi! |
9 |
@c GENERATED FILE, gvpe.texi.pod is the source, not gvpe.texi! |
10 |
@c %**start of header |
11 |
@finalout |
12 |
@setfilename gvpe.info |
13 |
@settitle GNU Virtual Private Ethernet Manual |
14 |
@setchapternewpage odd |
15 |
@c %**end of header |
16 |
|
17 |
@ifinfo |
18 |
@dircategory Networking tools |
19 |
@direntry |
20 |
* gvpe: (gvpe). The GNU VPE Manual. |
21 |
@end direntry |
22 |
|
23 |
This is the info manual for vpe, the Virtual Private Ethernet daemon. |
24 |
|
25 |
Copyright @copyright{} 2003-2008 Marc Lehmann <gvpe@@schmorp.de>. |
26 |
|
27 |
Permission is granted to make and distribute verbatim copies of this |
28 |
manual provided the copyright notice and this permission notice are |
29 |
preserved on all copies. |
30 |
|
31 |
Permission is granted to copy and distribute modified versions of this |
32 |
manual under the conditions for verbatim copying, provided that the |
33 |
entire resulting derived work is distributed under the terms of a |
34 |
permission notice identical to this one. |
35 |
|
36 |
@end ifinfo |
37 |
|
38 |
@titlepage |
39 |
@title gvpe Manual |
40 |
@author Marc Lehmann |
41 |
|
42 |
@page |
43 |
@vskip 0pt plus 1filll |
44 |
@cindex copyright |
45 |
|
46 |
Copyright @copyright{} 2003-2008 Marc Lehmann <gvpe@@schmorp.de>. |
47 |
|
48 |
Permission is granted to make and distribute verbatim copies of this |
49 |
manual provided the copyright notice and this permission notice are |
50 |
preserved on all copies. |
51 |
|
52 |
Permission is granted to copy and distribute modified versions of this |
53 |
manual under the conditions for verbatim copying, provided that the |
54 |
entire resulting derived work is distributed under the terms of a |
55 |
permission notice identical to this one. |
56 |
|
57 |
@end titlepage |
58 |
|
59 |
@contents |
60 |
|
61 |
=end texinfo |
62 |
|
63 |
This is the documentation for the GNU Virtual Private Ethernet suite. |
64 |
|
65 |
The GNU Virtual Private Ethernet suite implements a virtual (uses udp, |
66 |
tcp, rawip and other protocols for tunneling), private (encrypted, |
67 |
authenticated) ethernet (mac-based, broadcast-based network) that is |
68 |
shared among multiple nodes, in effect implementing an ethernet bus over |
69 |
public networks. |
70 |
|
71 |
=for texinfo menu-begin |
72 |
|
73 |
|
74 |
=for texinfo menu-item Overview:: Introduction to and Tutorial for GVPE (gvpe(5)) |
75 |
|
76 |
=for texinfo include pod gvpe.5.pod |
77 |
|
78 |
|
79 |
=for texinfo menu-item OS Dependencies:: OS-Dependent Installation and Configuration Notes (gvpe.osdep(5)) |
80 |
|
81 |
=for texinfo include pod gvpe.osdep.5.pod |
82 |
|
83 |
|
84 |
=for texinfo menu-item gvpe.conf:: The main configuration file (gvpe.conf(5)) |
85 |
|
86 |
=for texinfo include pod gvpe.conf.5.pod |
87 |
|
88 |
|
89 |
=for texinfo menu-item gvpectrl:: Configuration/Control Program Reference (gvpectrl(8)) |
90 |
|
91 |
=for texinfo include pod gvpectrl.8.pod |
92 |
|
93 |
|
94 |
=for texinfo menu-item gvpe:: The GVPE Daemon (gvpe(8)) |
95 |
|
96 |
=for texinfo include pod gvpe.8.pod |
97 |
|
98 |
|
99 |
=for texinfo menu-item gvpe.protocol:: The GVPE Transport and VPN Protocols (gvpe.protocol(7)) |
100 |
|
101 |
=for texinfo include pod gvpe.protocol.7.pod |
102 |
|
103 |
|
104 |
=for texinfo menu-item Simple Example:: A simple yet realistic Example |
105 |
|
106 |
In this example, gvpe is used to implement a simple, UDP-based ethernet |
107 |
on three hosts. |
108 |
|
109 |
The config file (C<gvpe.conf>) is the same on all hosts: |
110 |
|
111 |
enable-udp = yes # use UDP |
112 |
udp-port = 407 # use this UDP port |
113 |
mtu = 1492 # handy for TDSL |
114 |
ifname = vpn0 # I prefer vpn0 over e.g. tap0 |
115 |
|
116 |
node = huffy # arbitrary node name |
117 |
hostname = 1.2.3.4 # ip address if this host |
118 |
|
119 |
node = welshy |
120 |
hostname = www.example.net # resolve at connection time |
121 |
|
122 |
node = wheelery |
123 |
# no hostname, will be determinded dynamically using router1 or router2 |
124 |
|
125 |
C<gvpe> will execute the C<if-up> script on every hosts, which, for linux, |
126 |
could look like this for all three hosts: |
127 |
|
128 |
ifconfig $IFNAME hw ether $MAC mtu $MTU |
129 |
ifconfig $IFNAME 10.0.0.$NODE |
130 |
route add -net 10.0.0.0 netmask 255.0.0.0 dev $IFNAME |
131 |
|
132 |
The C<10.0.0.$NODE> resolves to C<10.0.0.1> on C<huffy>, C<10.0.0.2> on |
133 |
C<welshy> and so on. Other schemes, such as C<10.$NODE.0.1> might be |
134 |
useful, too. |
135 |
|
136 |
After generating the keys (L<gvpectrl>) and starting the daemon (C<gvpe -D |
137 |
-l info >I<NODENAME> for test purposes) the three hosts should be able to |
138 |
ping each other. |
139 |
|
140 |
If you have an internal C<10.x.x.x> network (with a tighter netmask then |
141 |
C<255.0.0.0>, e.g. C<10.1.0.0> on C<huffy>, C<10.2.0.0> on C<welshy> and |
142 |
so on), you can now enable ip-forwarding and proxy-arp (or set the hosts |
143 |
as default gateway), and your three hosts should forward traffic from each |
144 |
network to each other. |
145 |
|
146 |
|
147 |
=for texinfo menu-item Complex Example:: A non-trivial Example |
148 |
|
149 |
=for texinfo include text complex-example/README |
150 |
|
151 |
|
152 |
=for texinfo menu-begin |
153 |
|
154 |
=for texinfo menu-item complex/gvpe.conf:: An example gvpe configuration |
155 |
|
156 |
=for texinfo include example complex-example/gvpe.conf |
157 |
|
158 |
=for texinfo menu-item complex/if-up:: A fully-routing if-up config |
159 |
|
160 |
=for texinfo include example complex-example/if-up |
161 |
|
162 |
=for texinfo menu-item complex/node-up:: A node-up/node-down script utilizing dynds |
163 |
|
164 |
=for texinfo include example complex-example/node-up |
165 |
|
166 |
=for texinfo menu-end |
167 |
|
168 |
|
169 |
=for texinfo menu-item Index:: Keyword and Concept index |
170 |
|
171 |
=begin texinfo |
172 |
|
173 |
@printindex cp |
174 |
|
175 |
=end texinfo |
176 |
|
177 |
=for texinfo menu-end |
178 |
|
179 |
=begin texinfo footer |
180 |
|
181 |
@bye |
182 |
|
183 |
=end texinfo |
184 |
|