| 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,2004 Marc Lehmann <gvpe@@plan9.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, Ivo Timmermans and Guus Sliepen |
| 41 |
|
| 42 |
@page |
| 43 |
@vskip 0pt plus 1filll |
| 44 |
@cindex copyright |
| 45 |
|
| 46 |
Copyright @copyright{} 2003,2004 Marc Lehmann <gvpe@@plan9.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 Protocol (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 |
|