… | |
… | |
5 | =head1 DESCRIPTION |
5 | =head1 DESCRIPTION |
6 | |
6 | |
7 | This file tries to capture OS-dependent configuration or build issues, |
7 | This file tries to capture OS-dependent configuration or build issues, |
8 | quirks and platform limitations, as known. |
8 | quirks and platform limitations, as known. |
9 | |
9 | |
10 | =head2 TUN vs. TAP interface |
10 | =head1 TUN vs. TAP interface |
11 | |
11 | |
12 | Most operating systems nowadays support something called a |
12 | Most operating systems nowadays support something called a |
13 | I<tunnel>-device, which makes it possible to divert IPv4 (and often other |
13 | I<tunnel>-device, which makes it possible to divert IPv4 (and often other |
14 | protocols, too) into a userspace daemon like C<gvpe>. This is being |
14 | protocols, too) into a user space daemon like C<gvpe>. This is being |
15 | referred to as a TUN-device. |
15 | referred to as a TUN-device. |
16 | |
16 | |
17 | This is fine for point-to-point tunnels, but for a virtual ethernet, an |
17 | This is fine for point-to-point tunnels, but for a virtual ethernet, an |
18 | additional ethernet header is needed. This functionality (called a TAP |
18 | additional ethernet header is needed. This functionality (called a TAP |
19 | device here) is only provided by a subset of the configurations. |
19 | device here) is only provided by a subset of the configurations. |
… | |
… | |
28 | found on a specific host, you will either need to hardwire the MAC address |
28 | found on a specific host, you will either need to hardwire the MAC address |
29 | for TUN-style hosts on all networks (and avoid ARP altogether, which is |
29 | for TUN-style hosts on all networks (and avoid ARP altogether, which is |
30 | possible), or you need to send a packet from these hosts into the vpn |
30 | possible), or you need to send a packet from these hosts into the vpn |
31 | network to tell gvpe the local interface address. |
31 | network to tell gvpe the local interface address. |
32 | |
32 | |
33 | =head2 Interface Initialisation |
33 | =head1 Interface Initialisation |
34 | |
34 | |
35 | Unless otherwise notes, the network interface will be set "UP" with the |
35 | Unless otherwise notes, the network interface will be initialized with the |
36 | correct MAC address and correct MTU value. With most interface drivers, |
36 | expected MAC address and correct MTU value. With most interface drivers, |
37 | this is done by running C</sbin/ifconfig>, so make sure that this command |
37 | this is done by running C</sbin/ifconfig>, so make sure that this command |
38 | exists. |
38 | exists. |
|
|
39 | |
|
|
40 | =head1 Interface Types |
39 | |
41 | |
40 | =head2 native/linux |
42 | =head2 native/linux |
41 | |
43 | |
42 | TAP-device; already part of the kernel (only 2.4+ supported, but see |
44 | TAP-device; already part of the kernel (only 2.4+ supported, but see |
43 | tincd/linux). This is the configuration tested best, as gvpe is being |
45 | tincd/linux). This is the configuration tested best, as gvpe is being |
… | |
… | |
72 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\<adapterid>\Connection\Name |
74 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\<adapterid>\Connection\Name |
73 | |
75 | |
74 | The MAC address is dynamically being patched into packets and |
76 | The MAC address is dynamically being patched into packets and |
75 | ARP-requests, so only IPv4 works with ARP on this platform. |
77 | ARP-requests, so only IPv4 works with ARP on this platform. |
76 | |
78 | |
|
|
79 | =head2 tincd/bsd |
|
|
80 | |
|
|
81 | TAP-device, maybe; migth work for many bsd variants. |
|
|
82 | |
|
|
83 | This driver is a newer version of the C<tincd/*bsd> drivers. It I<might> |
|
|
84 | provide a TAP device, or might not work at all. You might try this |
|
|
85 | interface type first, and, if it doesn't work, try one of the OS-specific |
|
|
86 | drivers. |
|
|
87 | |
77 | =head2 tincd/freebsd |
88 | =head2 tincd/freebsd |
78 | |
89 | |
79 | TAP-device; part of the kernel (since 4.x, maybe earlier). |
90 | TAP-device; part of the kernel (since 4.x, maybe earlier). |
80 | |
91 | |
81 | C<ifname> should be set to the path of a tap device, |
92 | C<ifname> should be set to the path of a tap device, |
… | |
… | |
156 | The interface MAC and MTU are I<NOT> set up for you. Please try it out and |
167 | The interface MAC and MTU are I<NOT> set up for you. Please try it out and |
157 | send me an C<ifconfig> command invocation that does that. |
168 | send me an C<ifconfig> command invocation that does that. |
158 | |
169 | |
159 | See C<tincd/netbsd> for more information. |
170 | See C<tincd/netbsd> for more information. |
160 | |
171 | |
161 | Completely unstested so far. |
172 | Completely untested so far. |
162 | |
173 | |
163 | =head2 tincd/mingw |
174 | =head2 tincd/mingw |
164 | |
175 | |
165 | TAP-device; see C<native/cygwin> for more information. |
176 | TAP-device; see C<native/cygwin> for more information. |
166 | |
177 | |
… | |
… | |
177 | |
188 | |
178 | Completely untested so far. |
189 | Completely untested so far. |
179 | |
190 | |
180 | =head2 tincd/uml_socket |
191 | =head2 tincd/uml_socket |
181 | |
192 | |
182 | TAP-device; purpose unknown and untested, probably creates a unix datagram |
193 | TAP-device; purpose unknown and untested, probably creates a UNIX datagram |
183 | socket (path given by C<ifname>) and reads and writes raw packets, so |
194 | socket (path given by C<ifname>) and reads and writes raw packets, so |
184 | might be useful in other than UML contexts. |
195 | might be useful in other than UML contexts. |
185 | |
196 | |
186 | No network interface is created, and the MAC and MTU must be set as |
197 | No network interface is created, and the MAC and MTU must be set as |
187 | approriate on the other side of the socket. GVPE will exit if the MAC |
198 | appropriate on the other side of the socket. GVPE will exit if the MAC |
188 | address doesn't match what it expects. |
199 | address doesn't match what it expects. |
189 | |
200 | |
190 | Completely untested so far. |
201 | Completely untested so far. |
191 | |
202 | |
192 | =head2 tincd/cygwin |
203 | =head2 tincd/cygwin |
… | |
… | |
197 | |
208 | |
198 | gvpe(5). |
209 | gvpe(5). |
199 | |
210 | |
200 | =head1 AUTHOR |
211 | =head1 AUTHOR |
201 | |
212 | |
202 | Marc Lehmann <gvpe@plan9.de> |
213 | Marc Lehmann <gvpe@schmorp.de> |
203 | |
214 | |