NAME
dibbler-relay - a portable DHCPv6 relay
DESCRIPTION
dibbler-relay is a portable implementation of the DHCPv6 relay. DHCPv6
relays are proxies, which allow one server to support links, which
server is not directly connected to. There are ports available for
Linux 2.4/2.6 systems as well as MS Windows XP and 2003. They are
freely available under GNU GPL version 2 (or later) license.
SYNOPSIS
dibbler-relay [ run | start | stop | status ]
OPTIONS
run - starts relay in the console. Relay can be closed using ctrl-c.
start - starts relay in daemon mode.
stop - stops running relay.
status - shows status of the relay.
EXAMPLES
Relay forwards DHCPv6 messages between interfaces. Messages from client
are encapsulated and forwarded as RELAY_FORW messages. Replies from
server are received as RELAY_REPL message. After decapsulation, they
are being sent back to clients.
It is vital to inform server, where this relayed message was received.
DHCPv6 does this using interface-id option. This identifier must be
unique. Otherwise relays will get confused when they will receive reply
from server. Note that this id does not need to be alligned with system
interface id (ifindex). Think about it as "ethernet segment identifier"
if you are using Ethernet network or as "bss identifier" if you are
using 802.11 network.
Let’s assume this case: relay has 2 interfaces: eth0 and eth1. Clients
are located on the eth1 network. Relay should receive data on that
interface using well-known ALL_DHCP_RELAYS_AND_SERVER multicast address
(ff02::1:2). Relay also listens on its global address 2000::123.
Packets received on the eth1 should be forwarded on the eth0 interface,
also using multicast address:
log-level 8
log-mode short
iface eth0 {
server multicast yes
}
iface eth1 {
client multicast yes
client unicast 2000::123
interface-id 1000
}
Here is another exmaple. This time messages should be forwarded from
eth1 and eth3 to the eth0 interface (using multicast) and to the eth2
interface (using server’s global address 2000::546). Also clients must
use multicasts (the default approach):
iface eth0 {
server multicast yes
}
iface eth2 {
server unicast 2000::456
}
iface eth1 {
client multicast yes
interface-id 1000
}
iface eth3 {
client multicast yes
interface-id 1001
}
FILES
All files are created in the /var/lib/dibbler directory. During
operation, Dibbler saves various file in that directory. Dibbler relay
reads /etc/dibbler/relay.conf file. Log file is named client.log.
STANDARDS
This implementation aims at conformance to the following standards:
RFC 3315 DHCP for IPv6
RFC 3736 Stateless DHCPv6
BUGS
Bugs are tracked with bugzilla, available at
http://klub.com.pl/bugzilla/. If you belive you have found a bug, don’t
hesitate to report it.
AUTHOR
Dibbler was developed as master thesis on the Technical University of
Gdansk by Tomasz Mrugalski and Marek Senderski. Currently Marek has not
enough free time, so this project is being developed by Tomasz
Mrugalski. Author can be reached at thomson@klub.com.pl.
SEE ALSO
There are dibbler-server(8) and dibbler-client(8) manual pages
available. You are also advised to take a look at project website
located at http://klub.com.pl/dhcpv6/. As far as authors know, this is
the only Windows DHCPv6 stateful implementation available and the only
one with relay support. It is also one of two freely available under
Linux. The other Linux implementation is available at
http://dhcpv6.sourceforge.net, but it is rather outdated and seems not
being actively developed.