You are here: version6.ru » Welcome! » Using the WIDE DHCPv6 Client on Online.net dedicated servers
Differences
This shows you the differences between two versions of the page.
en:online.net-wide-dhcpv6 [2014-08-29 09:25 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> | ||
- | 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, and the uplink interface name, 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 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.1409304320.txt.gz · Last modified: 2014-08-29 09:25 UTC by rm