Differences

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

en:online.net-wide-dhcpv6 [2014-08-29 09:21 UTC]
rm
en:online.net-wide-dhcpv6 [2024-04-08 01:23 UTC] (current)
rm
Line 2: Line 2:
//Initially published on 2014-08-29// //Initially published on 2014-08-29//
-...and switching to it from Dibbler. Debian-only.+===== Pre-requisites ===== 
 +Debian-only.
 +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
DUID=$1 DUID=$1
 +IFACE=$2
-skill -9 dibbler-client +if [ "$DUID" == "" ]||[ "$IFACE" == "" ]; then 
-dpkg -P dibbler-client +  echo "Please specify your DUID and network interface!" 
-rm -rvf /etc/dibbler /var/log/dibbler /var/lib/dibbler+  exit 1 
 +fi
apt-get install -y wide-dhcpv6-client vim-common apt-get install -y wide-dhcpv6-client vim-common
Line 18: Line 26:
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 $IFACE { }; };" >> /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 $IFACE { 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, and the uplink interface name, for example: 
-<code>./setup-dhcpv6.sh 00:03:00:01:23:45:67:89:AB:CD</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 eth0</code> 
 +When the WIDE setup screen appears and asks on which interfaces to listen for DHCPv6, leave that at its default value and 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.1409304089.txt.gz · Last modified: 2014-08-29 09:21 UTC by rm
Personal Tools