Contabo
Setting up IPv6 for Lavalink on Contabo VPS is super easy. The VPS comes with a /64 address to use.
This how-to may depend on your system's OS, but it has already been tested on Ubuntu
and Debian
.
First, you need to enable IPv6 on your Contabo VPS. It's very easy, as they have already included auto commands in the .bashrc for you.
Enable IPv6 by using this command: enable_ipv6
Then reboot your server once, as stated in the Contabo documentation. reboot
To see your IPv6 /64 address, simply type: ip a
Expected output:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:51:fc:62 brd ff:ff:ff:ff:ff:ff
altname enp0s18
altname ens18
inet xxx.xxx.xxx.xxx/22 brd xxx.xxx.xxx.xxx scope global eth0
valid_lft forever preferred_lft forever
inet6 you-want-to-copy-this-one::1/64 scope global <------- copy this ipv6 /64
valid_lft forever preferred_lft forever
inet6 ignore-this-one/64 scope link
valid_lft forever preferred_lft forever
Then we need to enable nonlocal bind: sysctl -w net.ipv6.ip_nonlocal_bind=1
And echo 'net.ipv6.ip_nonlocal_bind=1' >> /etc/sysctl.conf
(So you do not need to adjust sysctl settings again when rebooting the server.)
Then ip -6 route replace local the-ipv6-you-copied::/64 dev lo
(Don't forget to remove the '1' from the address that you copy from, for example 'you-want-to-copy-this-one::1/64', the '1' after '::'.)
Test your IPv6
# Replace 1234:1234:1234:: with your IPv6 address.
ping6 -I 1234:1234:1234:: -c 2 google.com
ping6 -I 1234:1234:1234::1 -c 2 google.com
ping6 -I 1234:1234:1234::2 -c 2 google.com
ping6 -I 1234:1234:1234:dead:beef:1234:1234 -c 2 google.com