Differences

This shows you the differences between two versions of the page.

en:online.net-wide-dhcpv6 [2014-08-29 09:31 UTC]
rm
en:online.net-wide-dhcpv6 [2015-03-30 07:34 UTC] (current)
rm
Line 4: Line 4:
...and switching to it from Dibbler. Debian-only. ...and switching to it from Dibbler. Debian-only.
 +===== Pre-requisites =====
 +Check the file ''/etc/modprobe.d/local.conf'', it may contain a line like this one:
 +<code>options ipv6 disable=1</code>
 +Since the default Debian kernel has IPv6 built-in rather than as a module, that line will not take effect. However it's better to remove or comment it out anyway, in case you install a different kernel later.
 +
 +===== Installing WIDE DHCPv6 =====
<file shell setup-dhcpv6.sh> <file shell setup-dhcpv6.sh>
#!/bin/bash #!/bin/bash
Line 19: Line 25:
echo 'profile default { script "/etc/wide-dhcpv6/dhcp6c-script"; };' > /etc/wide-dhcpv6/dhcp6c.conf echo 'profile default { script "/etc/wide-dhcpv6/dhcp6c-script"; };' > /etc/wide-dhcpv6/dhcp6c.conf
echo 'id-assoc pd { prefix-interface eth0 { }; };' >> /etc/wide-dhcpv6/dhcp6c.conf echo 'id-assoc pd { prefix-interface eth0 { }; };' >> /etc/wide-dhcpv6/dhcp6c.conf
-echo 'interface eth0 { send ia-pd 0; };' >> /etc/wide-dhcpv6/dhcp6c.conf+echo 'id-assoc na { };' >> /etc/wide-dhcpv6/dhcp6c.conf 
 +echo 'interface eth0 { send ia-na 0; send ia-pd 0; };' >> /etc/wide-dhcpv6/dhcp6c.conf
echo $DUID | awk '{ gsub(":"," "); printf "0: 0a 00 %s\n", $0 }' | xxd -r > /var/lib/dhcpv6/dhcp6c_duid echo $DUID | awk '{ gsub(":"," "); printf "0: 0a 00 %s\n", $0 }' | xxd -r > /var/lib/dhcpv6/dhcp6c_duid
/etc/init.d/wide-dhcpv6-client start</file> /etc/init.d/wide-dhcpv6-client start</file>
-Download and run this with your online.net DUID specified, for example:+Download and run this with the [[https://console.online.net/en/network/|online.net DUID for the subnet you want to use]] specified, for example:
<code> <code>
-wget -O setup-dhcpv6.sh http://version6.ru/_export/code/en/online.net-wide-dhcpv6?codeblock=0+wget -O setup-dhcpv6.sh https://version6.ru/_export/code/en/online.net-wide-dhcpv6?codeblock=1
chmod +x setup-dhcpv6.sh chmod +x setup-dhcpv6.sh
./setup-dhcpv6.sh 00:03:00:01:23:45:67:89:ab:cd</code> ./setup-dhcpv6.sh 00:03:00:01:23:45:67:89:ab:cd</code>
When the WIDE setup screen appears and asks on which interfaces to listen for DHCPv6, leave that as "eth0" (the default value), i.e. just press Enter. When the WIDE setup screen appears and asks on which interfaces to listen for DHCPv6, leave that as "eth0" (the default value), i.e. just press Enter.
 +
 +===== Startup failure =====
 +Sometimes, for whatever reason, after running the above script, the DHCPv6 client fails to start. Just try:
 +
 +<code>/etc/init.d/wide-dhcpv6-client restart</code>
 +
 +...and this time it should start up properly.
 +
 +===== Prevent outgoing request flood =====
 +Very rarely (happened just once yet, in months), WIDE can fail in a mysterious way and start [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765453|sending SOLICIT requests continuously]], without any back-off time in between. This can be detected by upstream as malicious flood and make them unhappy.
 +
 +To prevent this issue, add the following into your ip6tables configuration:
 +<code>ip6tables -A OUTPUT -p udp --dport 547 -m limit --limit 10/min  --limit-burst 5 -j ACCEPT
 +ip6tables -A OUTPUT -p udp --dport 547 -j DROP
 +</code>
 +...or just add this into ''/etc/rc.local'' if you don't use any other ip6tables rules.
 +
 +===== Other HOWTOs =====
 +  * [[http://barfooze.de/stuff/online_ipv6.txt|Online.net IPv6 prefix discovery using KAME-dhcp6c on FreeBSD]] (thanks for the awk+xxd line)

en/online.net-wide-dhcpv6.1409304676.txt.gz · Last modified: 2014-08-29 09:31 UTC by rm