<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">G'day PLUG, Andrew,<br>
<br>
Sorry Onno:<br>
<br>
a@Hex:~$ ip addr show dev eth0<br>
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc
pfifo_fast state UP group default qlen 1000<br>
link/ether 00:e0:61:06:e2:a0 brd ff:ff:ff:ff:ff:ff<br>
inet 192.168.30.9/24 brd 192.168.30.255 scope global eth0<br>
valid_lft forever preferred_lft forever<br>
inet6 2001:44b8:610b:3f01:e923:e31b:bbf3:4e75/64 scope global
temporary dynamic <br>
valid_lft 293sec preferred_lft 113sec<br>
<br>
a@Hex:~$ (ip route ; ip -6 route) |grep default<br>
default via 192.168.30.254 dev eth0 <br>
default via fe80::98db:82ff:fe93:3b38 dev eth0 proto ra metric
1024 expires 26sec<br>
<br>
a@Hex:~$ netstat -ltn |grep 22<br>
tcp 0 0 0.0.0.0:22
0.0.0.0:* LISTEN <br>
tcp6 0 0 :::22
:::* LISTEN <br>
<br>
Right, now thats cleared up, onto DHCPv6.<br>
<br>
DHCPDv6 listens on UDP port 547 for DHCPv6 requests, as opposed to
RADVD which listens on a raw socket for router solicitation
requests.<br>
<br>
To get DHCPDv6 working (on Debian/Ubuntu) install isc-dhcp-server
and modify the default config thusly:<br>
<br>
subnet 10... becomes:<br>
<br>
subnet6 2011:DB8:1234:5678::/64 {<br>
range6 2011:DB8:1234:5678::10 2011:DB8:1234:5678::fff0;<br>
}<br>
<br>
You can also include the following options:<br>
<br>
option dhcp6.domain-search "test.net";<br>
option dhcp6.name-servers 2011:DB8:1234:5678::1;<br>
<br>
I would also change the lease file to a unique dhcpd-v6 file:<br>
<br>
lease-file-name "/var/lib/dhcp/dhcpd-v6.leases";<br>
<br>
To run this concurrently with your IPv4 DHCP server, copy
/etc/init.d/isc-dhcp-server to /etc/init.d/isc-dhcp-server-v6 and
apply the following patch:<br>
<br>
<a class="moz-txt-link-abbreviated" href="mailto:root@Router:/etc/init.d#">root@Router:/etc/init.d#</a> diff -ruN isc-dhcp-server
isc-dhcp-server-v6 <br>
--- isc-dhcp-server 2012-09-14 11:24:53.000000000 +0800<br>
+++ isc-dhcp-server-v6 2012-01-05 10:06:09.000000000 +0800<br>
@@ -3,14 +3,14 @@<br>
#<br>
<br>
### BEGIN INIT INFO<br>
-# Provides: isc-dhcp-server<br>
+# Provides: isc-dhcp-server-v6<br>
# Required-Start: $remote_fs $network $syslog<br>
# Required-Stop: $remote_fs $network $syslog<br>
# Should-Start: $local_fs slapd $named<br>
# Should-Stop: $local_fs slapd<br>
# Default-Start: 2 3 4 5<br>
# Default-Stop: 0 1 6<br>
-# Short-Description: DHCP server<br>
+# Short-Description: DHCPv6 server<br>
# Description: Dynamic Host Configuration Protocol Server<br>
### END INIT INFO<br>
<br>
@@ -18,38 +18,29 @@<br>
<br>
test -f /usr/sbin/dhcpd || exit 0<br>
<br>
-DHCPD_DEFAULT="${DHCPD_DEFAULT:-/etc/default/isc-dhcp-server}"<br>
-<br>
# It is not safe to start if we don't have a default
configuration...<br>
-if [ ! -f "$DHCPD_DEFAULT" ]; then<br>
- echo "$DHCPD_DEFAULT does not exist! - Aborting..."<br>
- if [ "$DHCPD_DEFAULT" = "/etc/default/isc-dhcp-server" ];
then<br>
- echo "Run 'dpkg-reconfigure isc-dhcp-server' to fix the
problem."<br>
- fi<br>
+if [ ! -f /etc/default/isc-dhcp-server ]; then<br>
+ echo "/etc/default/isc-dhcp-server does not exist! -
Aborting..."<br>
+ echo "Run 'dpkg-reconfigure isc-dhcp-server' to fix the
problem."<br>
exit 0<br>
fi<br>
<br>
. /lib/lsb/init-functions<br>
<br>
-# Read init script configuration<br>
-[ -f "$DHCPD_DEFAULT" ] && . "$DHCPD_DEFAULT"<br>
+# Read init script configuration (so far only interfaces the
daemon<br>
+# should listen on.)<br>
+[ -f /etc/default/isc-dhcp-server ] && .
/etc/default/isc-dhcp-server<br>
<br>
NAME=dhcpd<br>
-DESC="ISC DHCP server"<br>
-# fallback to default config file<br>
-DHCPD_CONF=${DHCPD_CONF:-/etc/dhcp/dhcpd.conf}<br>
-# try to read pid file name from config file, with fallback to
/var/run/dhcpd.pid<br>
-if [ -z "$DHCPD_PID" ]; then<br>
- DHCPD_PID=$(sed -n -e 's/^[ \t]*pid-file-name[ \t]*"(.*)"[
\t]*;.*$/\1/p' < "$DHCPD_CONF" 2>/dev/null | head -n 1)<br>
-fi<br>
-DHCPD_PID="${DHCPD_PID:-/var/run/dhcpd.pid}"<br>
+DESC="ISC DHCP server v6"<br>
+DHCPDPID=/var/run/dhcpd6.pid<br>
<br>
test_config()<br>
{<br>
- if ! /usr/sbin/dhcpd -t $OPTIONS -q -cf "$DHCPD_CONF" >
/dev/null 2>&1; then<br>
- echo "dhcpd self-test failed. Please fix $DHCPD_CONF."<br>
+ if ! /usr/sbin/dhcpd -cf /etc/dhcp/dhcpd-v6.conf -6 -t -q
> /dev/null 2>&1; then<br>
+ echo "dhcpd-v6 self-test failed. Please fix the config
file."<br>
echo "The error was: "<br>
- /usr/sbin/dhcpd -t $OPTIONS -cf "$DHCPD_CONF"<br>
+ /usr/sbin/dhcpd -cf /etc/dhcp/dhcpd-v6.conf -6 -t<br>
exit 1<br>
fi<br>
}<br>
@@ -57,15 +48,15 @@<br>
# single arg is -v for messages, -q for none<br>
check_status()<br>
{<br>
- if [ ! -r "$DHCPD_PID" ]; then<br>
+ if [ ! -r "$DHCPDPID" ]; then<br>
test "$1" != -v || echo "$NAME is not running."<br>
return 3<br>
fi<br>
- if read pid < "$DHCPD_PID" && ps -p "$pid" >
/dev/null 2>&1; then<br>
+ if read pid < "$DHCPDPID" && ps -p "$pid" >
/dev/null 2>&1; then<br>
test "$1" != -v || echo "$NAME is running."<br>
return 0<br>
else<br>
- test "$1" != -v || echo "$NAME is not running but $DHCPD_PID
exists."<br>
+ test "$1" != -v || echo "$NAME is not running but $DHCPDPID
exists."<br>
return 1<br>
fi<br>
}<br>
@@ -74,9 +65,8 @@<br>
start)<br>
test_config<br>
log_daemon_msg "Starting $DESC" "$NAME"<br>
- start-stop-daemon --start --quiet --pidfile "$DHCPD_PID"
\<br>
- --exec /usr/sbin/dhcpd -- \<br>
- -q $OPTIONS -cf "$DHCPD_CONF" -pf "$DHCPD_PID"
$INTERFACES<br>
+ start-stop-daemon --start --quiet --pidfile $DHCPDPID \<br>
+ --exec /usr/sbin/dhcpd -- -6 -q $INTERFACES -cf
/etc/dhcp/dhcpd-v6.conf<br>
sleep 2<br>
<br>
if check_status -q; then<br>
@@ -89,9 +79,9 @@<br>
;;<br>
stop)<br>
log_daemon_msg "Stopping $DESC" "$NAME"<br>
- start-stop-daemon --stop --quiet --pidfile "$DHCPD_PID"<br>
+ start-stop-daemon --stop --quiet --pidfile $DHCPDPID<br>
log_end_msg $?<br>
- rm -f "$DHCPD_PID"<br>
+ rm -f "$DHCPDPID"<br>
;;<br>
restart | force-reload)<br>
test_config<br>
<br>
An alternative would be to install wide-dhcpv6-server. This will
require must less mucking around to get going, but doesn't allow
the option to automatically and dynamically update your local DNS
zone as hosts receive (and relinquish) IPv6 leases. Given the
length of IPv6 address, having your hosts automatically added to
DNS is a Good Thing (TM). (This can be somewhat ameliorated by
using Avahi/mDNS).<br>
<br>
Hope this gets you on your way.<br>
<br>
Adrian<br>
<br>
Also, you've totally stolen my username and claimed it first,
because I stole the idea from Bernard Blackham (b) around 2001.
:-P<br>
<br>
On 16/07/14 17:15, Onno Benschop wrote:<br>
</div>
<blockquote
cite="mid:CACybYRV8i9F8okYy0QycmPeLgM8bZDLJ7bBfpSUBQo+7znWT1A@mail.gmail.com"
type="cite">
<div dir="ltr">This might be a red herring, but seem to recall in
the deep dark mists of my memory that you couldn't have an
interface that did both IPv4 and IPv6 at the same time.
<div><br>
</div>
<div style="">Please feel free to ridicule this comment - as I
said, YMMV.</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On 16 July 2014 10:45, Andrew Cooks <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:acooks@gmail.com" target="_blank">acooks@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi List<br>
<br>
I'm trying to configure dhcpv6 (stateful IPv6
autoconfiguration) and<br>
I'm stuck. Maybe there's someone on the list who can help?<br>
<br>
I've determined that the client sends the ICMPv6 Router
Solicitation<br>
message and that it arrives at the server, but the server
doesn't<br>
respond.<br>
<br>
It works fine for providing DNS servers and such if I use
radvd for<br>
stateless address autoconfiguration, but I'd like to setup
_stateful_<br>
configuration to test that our devices operate correctly in
this mode.<br>
<br>
The problem seems to be that the server doesn't listen on
the raw<br>
interface (it does for IPv4), so it probably doesn't receive
the icmp<br>
messages. It does listen on UDP port 547 using IPv6 and it
does claim<br>
to listen on the correct interface at start-up.<br>
<br>
Any ideas? I can post details if anyone is interested.<br>
<br>
Thanks<br>
<br>
a.<br>
_______________________________________________<br>
PLUG discussion list: <a moz-do-not-send="true"
href="mailto:plug@plug.org.au">plug@plug.org.au</a><br>
<a moz-do-not-send="true"
href="http://lists.plug.org.au/mailman/listinfo/plug"
target="_blank">http://lists.plug.org.au/mailman/listinfo/plug</a><br>
Committee e-mail: <a moz-do-not-send="true"
href="mailto:committee@plug.org.au">committee@plug.org.au</a><br>
PLUG Membership: <a moz-do-not-send="true"
href="http://www.plug.org.au/membership" target="_blank">http://www.plug.org.au/membership</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">Onno Benschop<br>
<br>
()/)/)() ..ASCII for Onno..<br>
|>>? ..EBCDIC for Onno..<br>
--- -. -. --- ..Morse for Onno..<br>
<br>
<span style="color:rgb(136,136,136)">If you need to know:
"What computer should I buy?" </span><a
moz-do-not-send="true" href="http://goo.gl/spsb66"
style="color:rgb(17,85,204)" target="_blank">http://goo.gl/spsb66</a>
<div><br>
ITmaze - ABN: 56 178 057 063 - ph: 04 1219 8888 -
<a moz-do-not-send="true" href="mailto:onno@itmaze.com.au"
target="_blank">onno@itmaze.com.au</a></div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
PLUG discussion list: <a class="moz-txt-link-abbreviated" href="mailto:plug@plug.org.au">plug@plug.org.au</a>
<a class="moz-txt-link-freetext" href="http://lists.plug.org.au/mailman/listinfo/plug">http://lists.plug.org.au/mailman/listinfo/plug</a>
Committee e-mail: <a class="moz-txt-link-abbreviated" href="mailto:committee@plug.org.au">committee@plug.org.au</a>
PLUG Membership: <a class="moz-txt-link-freetext" href="http://www.plug.org.au/membership">http://www.plug.org.au/membership</a></pre>
</blockquote>
<br>
</body>
</html>