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

en:online.net-wide-dhcpv6 [2014-08-29 09:17 UTC]
en:online.net-wide-dhcpv6 [2015-03-30 07:34 UTC] (current)
Line 1: Line 1:
====== Using the WIDE DHCPv6 Client on Online.net dedicated servers ====== ====== Using the WIDE DHCPv6 Client on Online.net dedicated servers ======
-...and switching to it from Dibbler:+//Initially published on 2014-08-29//
 +...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 17: 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>
-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>./setup-dhcpv6.sh 00:03:00:01:23:45:67:89:0A:BC</code>+<code> 
 +wget -O setup-dhcpv6.sh https://version6.ru/_export/code/en/online.net-wide-dhcpv6?codeblock=1 
 +chmod +x setup-dhcpv6.sh 
 +./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. 
 +===== 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 
 +...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.1409303833.txt.gz · Last modified: 2014-08-29 09:17 UTC by rm