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:15 UTC] rm создано |
en:online.net-wide-dhcpv6 [2024-04-08 01:23 UTC] (current) rm |
||
---|---|---|---|
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// |
+ | ===== 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 16: | 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 as: | + | 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> | ||
+ | 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. | ||
- | <code>./setup-dhcpv6.sh <your online.net DUID></code> | + | ===== 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.1409303727.txt.gz · Last modified: 2014-08-29 09:15 UTC by rm