[PATCH 0/6] dhcrelay: Some useful DHCPv6 additions
Bjørn Mork
bjorn at mork.no
Sun Sep 25 12:59:43 UTC 2011
Hello,
In case anyone else are interested, here are a few patches for
the DHCPv6 code in dhcrelay. The base is the 4.2.2 release.
We are using these internally for test purposes, simulating a
DSLAM layer2 relay on Linux. To do this, we needed to add the
RFC6221 support. And we also needed some way to configure
D6O_SUBSCRIBER_ID and D6O_REMOTE_ID options per downstream
interface.
The -l downstream interface option was a bit overloaded before
these patches, so we just made it worse :-) I guess this needs
some cleanup if going into production. Maybe it's time for a
configuration file for dhcrelay as well?
Tip: configuring a Linux host for layer2 DHCP6 relaying is
pretty straight forward:
1) configure a bridge with all your upstream and downstream
interfaces:
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
[etc]
2) route anything looking like DHCPv6 or addressed to the bridge:
ebtables -t broute -A BROUTING -p IPv6 --ip6-proto udp --ip6-dport 546:547 -j DROP
ebtables -t broute -A BROUTING -p IPv6 --ip6-dst fe80::f00 -j DROP
ebtables -t broute -A BROUTING -p IPv6 --ip6-dst fe80::f01 -j DROP
ebtables -t broute -A BROUTING -p IPv6 --ip6-dst fe80::f02 -j DROP
[etc]
where fe80::f0X are the link local addresses of ethX etc. (you probably need to add
*all* IPv6 addresses on ethX this way, but you don't need to have any global addresses
there)
3) run dhcrelay in RFC6221 mode (with the patches below):
dhcrelay -6 -L -l eth1 -l eth2 -u eth0
The above of course assumes clients on eth1 and eth2 and a DHCPv6
server (or another relay) on eth0
Enjoy!
Bjørn Mork (6):
dhcrelay: Refactor DHCPv6 interface-id adding code
dhcrelay: Adding D6O_REMOTE_ID support to DHCPv6 relay
dhcrelay: Use network byte order for the interface id value
dhcrelay: Print interface name in DHCPv6 downstream log messages
dhcrelay: Support RFC6221 Lightweight DHCPv6 Relay Agent operation
dhcrelay: Add D6O_SUBSCRIBER_ID to DHCPv6 relayed packets
relay/dhcrelay.8 | 28 +++++++++--
relay/dhcrelay.c | 143 +++++++++++++++++++++++++++++++++++++----------------
2 files changed, 124 insertions(+), 47 deletions(-)
--
1.7.2.5
More information about the dhcp-users
mailing list