--- gvpe/doc/gvpe.osdep.5.pod 2005/03/15 18:15:39 1.3 +++ gvpe/doc/gvpe.osdep.5.pod 2005/03/23 21:55:39 1.8 @@ -30,33 +30,34 @@ possible), or you need to send a packet from these hosts into the vpn network to tell gvpe the local interface address. +=head2 Interface Initialisation + +Unless otherwise notes, the network interface will be set "UP" with the +correct MAC address and correct MTU value. With most interface drivers, +this is done by running C, so make sure that this command +exists. + =head2 native/linux TAP-device; already part of the kernel (only 2.4+ supported, but see tincd/linux). This is the configuration tested best, as gvpe is being developed on this platform. -To configure the interface, use either iproute2: - - ip set $IFNAME address $MAC mtu $MTU up - ip addr add $IFNAME 10.11.12.13 - ip route add $IFNAME 10.11.12.13/8 - -Or ifconfig: - - ifconfig $IFNAME hw ether $MAC mtu $MTU - ifconfig $IFNAME 10.11.12.13 netmask 255.0.0.0 +C should be set to the name of the network device. -To hardwire ARP addresses, use iproute2 (ifconfig can do it, too): +To hardwire ARP addresses, use iproute2 (C can do it, too): MAC=fe:fd:80:00:00:$(printf "%02x" $NODEID) ip neighbour add 10.11.12.13 lladdr $MAC nud permanent dev $IFNAME =head2 tincd/linux -TAP-device; already part of the kernel (2.2+ supported). See +TAP-device; already part of the kernel (2.2 only). See C for more info. +C should be set to the path of a tap device, +e.g. C. The interface will be named accordingly. + =head2 native/cygwin TAP-device; The TAP device to be used must either be the CIPE driver @@ -65,61 +66,132 @@ download and run the openvpn installer. The only option you need to select is the TAP driver. -The MAC need not be set (and in fact I be set). The -MAC address is dynamically being patched into packets and ARP-requests, so -only IPv4 works with ARP on this platform. +C should be set to the name of the device, found in the registry +at (no kidding :): + + HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\\Connection\Name + +The MAC address is dynamically being patched into packets and +ARP-requests, so only IPv4 works with ARP on this platform. =head2 tincd/freebsd -TAP-device; part of the kernel (since 4.x, maybe earlier). To initialize -the interface, use this command: +TAP-device; part of the kernel (since 4.x, maybe earlier). + +C should be set to the path of a tap device, +e.g. C. The interface will be named accordingly. + +These commands might be helpful examples: - ifconfig $IFNAME ether $MAC mtu $MTU up + ifconfig $IFNAME 10.0.0.$NODEID + route add -net 10.0.0.0 -netmask 255.255.255.0 -interface $IFNAME 10.0.0.$NODEID =head2 tincd/netbsd -TUN-device; The interface is a point to point-device. To initialize it, -you currently need to configure it as such, giving it an address on your -vpn (the exact address doesn't matter), like this: +TUN-device; The interface is a point-to-point device. To initialize it, +you currently need to configure it as a point-to-point device, giving it +an address on your vpn (the exact address doesn't matter), like this: ifconfig $IFNAME mtu $MTU up ifconfig $IFNAME 10.11.12.13 10.55.66.77 route add -net 10.0.0.0 10.55.66.77 255.0.0.0 ping -c1 10.55.66.77 # ping once to tell gvpe your gw ip +The ping is required to tell the ARP emulator inside GVPE the local IP +address. + +C should be set to the path of a tun device, +e.g. C. The interface will be named accordingly. + =head2 tincd/openbsd TUN-device; already part of the kernel. See C for more information. +=head2 native/darwin + +TAP-device; + +The necessary kernel extension can be found here: + + http://www-user.rhrk.uni-kl.de/~nissler/tuntap/ + +There are two drivers, the one to use is the "tap" driver. It driver must +be loaded before use, read the docs on how to install it as a startup +item. + +C should be set to the path of a tap device, +e.g. C. The interface will be named accordingly. + +These commands might be helpful examples: + + ifconfig $IFNAME 10.0.0.$NODEID + route add -net 10.0.0.0 -interface $IFNAME 255.255.255.0 + =head2 tincd/darwin -TUN-device; See C for more information. +TUN-device; See C for more information. C is +preferable. The necessary kernel extension can be found here: http://chrisp.de/en/projects/tunnel.html -A newer (and reportedly much more stable) driver that also supports TAP -operations is available here: +C should be set to the path of a tun device, +e.g. C. The interface will be named accordingly. - http://www-user.rhrk.uni-kl.de/~nissler/tuntap/ +The driver must be loaded before use: -But GVPE has not been used with it, and has not been ported to it's TAP -interface. Patches are welcome. + kmodload tunnel =head2 tincd/solaris -TUN-device; already part of the kernel. see C for more -information. Completely untested so far. +TUN-device; already part of the kernel(?), or available here: + + http://vtun.sourceforge.net/tun/ + +Some precompiled tun drivers might be available here: + + http://www.monkey.org/~dugsong/fragroute/ + +The interface MAC and MTU are I set up for you. Please try it out and +send me an C command invocation that does that. + +See C for more information. + +Completely unstested so far. =head2 tincd/mingw -TAP-device; see C for more information. Completey untested so far. +TAP-device; see C for more information. -=head2 tincd/cygwin +The setup is likely to be similar to C. -Known to be broken. +Completely untested so far. + +=head2 tincd/raw_socket + +TAP-device; purpose unknown and untested, probably binds itself on an +existing ethernet device (given by C). It must be down prior to +running the command, and GVPE will try to set it's MAC address and MTU to +the "correct" values. + +Completely untested so far. + +=head2 tincd/uml_socket + +TAP-device; purpose unknown and untested, probably creates a unix datagram +socket (path given by C) and reads and writes raw packets, so +might be useful in other than UML contexts. + +No network interface is created, and the MAC and MTU must be set as +approriate on the other side of the socket. GVPE will exit if the MAC +address doesn't match what it expects. + +Completely untested so far. + +=head2 tincd/cygwin +Known to be broken, use C instead. =head1 SEE ALSO