Digital Ocean

These instructions are intended for those that want to create a new Linux VPS using Digital Ocean. These instructions also cover how to configure the external firewall and add additional IPv6 addresses.

Create a Digital Ocean Account

  1. Login to the Digital Ocean website and create an account.

Create a Linux VPS Droplet

  1. On the Dashboards page, click on the green Create button and select Droplets to start the creation process.

  2. Under Create Droplets, select Ubuntu 16.04

  3. Under Choose a Size, select $5/mo - 1GB

  4. Under Choose a datacenter region, select the region that is closest to you.

  5. Under Select Additional Options, click in the IPv6 check box to enable IPv6.

  6. Under Add your SSH keys, add the SSH key that you created in the SSH: Getting Started with an SSH client and SSH Keys section of the guide

  7. Under Finalize and create, type in a hostname (i.e. rupx01) for the server and then click Create. The name will not have any impact on the later installation steps.

    • Once the new server has been created, it will show up under the Droplets menu bar under MANAGE.
  8. Access your email and locate the email from support@support.digitalocean.com to retrieve your server IP address and root password.

    • Save the IP address and root user password in a seperate file. You will need them multiple times throughout the setup process.

Configure the External Firewall

  1. On the left toolbar, under MANAGE, select the Networking page, then click on Firewalls and select Create Firewall.

  2. Type in a name for your new firewall policy. The name will not have any impact on the later installation steps.

  3. Under Inbound Rules click on New Rule and select Custom.

  4. In the Ports field type in 9050.

  5. In a separate web browser tab, go to http://www.whatsmyip.org and copy the IP address that it displays in the top of the window. This is your computers’ public IP address.

    • NOTE: If your computers’ public IP address changes, or if you are connecting to the Linux VPS from a different location, then you will need to update this field to include the new public IP address.
  6. In the SSH TCP port 22 field, that was created by default, edit the rule and delete All IPv4 and All IPv6 out of the Sources field.

  7. In that same Sources field, paste in your computers’ public IP address, manually add a /32 at the end of the IP address and then hit Enter for the IP to be applied.

    • NOTE: If the IP disappears then you didn’t hit enter correctly and you will have to repeat this step until your computers’ IP address shows up correctly in the Sources field.
  8. Scroll down and under Apply to Droplets and type in the name of the droplet that you created.

  9. Click Create Firewall

  10. Select the new firewall that you just created and confirm that it is permitting SSH port 22 from your computer’s public IP address and that it is permitting TCP port 9050 from All IPv4 and All IPv6 addresses.

Identify Available IPv6 Addresses

  • OPTIONAL STEPS: The following steps are optional and are only required if you plan to run mutliple wallets, of the same coin, on this VPS.
  1. From the VPS provider website, select Droplets from the left menu bar and then click on the server that you created, i.e. rupx01.

  2. Click on Networking to open the Public network page.

  3. Scroll down and locate the Public IPv6 network section. Copy the CONFIGURABLE ADDRESS RANGE and paste it into a seperate text file to use again later.

    • The Public IPv6 network section should look like this:

      Public IPv6 network
      PUBLIC IPV6 ADDRESS:
      2604:a880:400:d0::954:d001
      PUBLIC IPV6 GATEWAY:
      2604:a880:400:d0::1
      CONFIGURABLE ADDRESS RANGE:
      2604:a880:400:d0::954:d000 - 2604:a880:400:d0::954:d00f
      
    • In the above example, the range of usable IPv6 addresses are 2604:a880:400:d0::954:d000 - 2604:a880:400:d0::954:d00f

    • Based on that information, the following 16 IP’s are available to be used as IPv6 addresses:
      • 2604:a880:400:d0::954:d000
      • 2604:a880:400:d0::954:d001
      • 2604:a880:400:d0::954:d002
      • 2604:a880:400:d0::954:d003
      • 2604:a880:400:d0::954:d004
      • 2604:a880:400:d0::954:d005
      • 2604:a880:400:d0::954:d006
      • 2604:a880:400:d0::954:d007
      • 2604:a880:400:d0::954:d008
      • 2604:a880:400:d0::954:d009
      • 2604:a880:400:d0::954:d00a
      • 2604:a880:400:d0::954:d00b
      • 2604:a880:400:d0::954:d00c
      • 2604:a880:400:d0::954:d00d
      • 2604:a880:400:d0::954:d00e
      • 2604:a880:400:d0::954:d00f
  4. Copy the following template and paste it into a seperate text file:

    #IPv6 address #2
    up /sbin/ip -6 addr add dev eth0 <ipv6address>/64
    #IPv6 address #3
    up /sbin/ip -6 addr add dev eth0 <ipv6address>/64
    #IPv6 address #4
    up /sbin/ip -6 addr add dev eth0 <ipv6address>/64
    #IPv6 address #5
    up /sbin/ip -6 addr add dev eth0 <ipv6address>/64
    #IPv6 address #6
    up /sbin/ip -6 addr add dev eth0 <ipv6address>/64
    #IPv6 address #7
    up /sbin/ip -6 addr add dev eth0 <ipv6address>/64
    #IPv6 address #8
    up /sbin/ip -6 addr add dev eth0 <ipv6address>/64
    
  5. Update the template by replacing the variable <ipv6address> with your available IPv6 addresses.

    • The updated template should look like this but with your IPv6 addresses:

      #IPv6 address #2
      up /sbin/ip -6 addr add dev eth0 2604:a880:400:d0::954:d002/64
      #IPv6 address #3
      up /sbin/ip -6 addr add dev eth0 2604:a880:400:d0::954:d003/64
      #IPv6 address #4
      up /sbin/ip -6 addr add dev eth0 2604:a880:400:d0::954:d004/64
      #IPv6 address #5
      up /sbin/ip -6 addr add dev eth0 2604:a880:400:d0::954:d005/64
      #IPv6 address #6
      up /sbin/ip -6 addr add dev eth0 2604:a880:400:d0::954:d006/64
      #IPv6 address #7
      up /sbin/ip -6 addr add dev eth0 2604:a880:400:d0::954:d007/64
      #IPv6 address #8
      up /sbin/ip -6 addr add dev eth0 2604:a880:400:d0::954:d008/64
      

Configure Secondary IPv6 Addresses

  • OPTIONAL STEPS: The following steps are optional and are only required if you plan to run mutliple wallets, of the same coin, on this VPS.
  1. Login to the Linux VPS, via SSH, as the root user.

  2. Edit the /etc/network/interfaces/50-cloud-init.cfg file:

    nano /etc/network/interfaces.d/50-cloud-init.cfg
    
  3. Verify that the network interface name is eth0.

    • NOTE: It is possible that the network interface could be named something different like eth1, eth2, eth3, ens0, ens1, ens3, etc. If it is different, then you will need to update the template accordingly.
  4. Scroll down and paste in the updated IPv6 template under the iface eth0 inet6 static section of the file.

  5. Close the file and save it by hitting Ctrl-X, and then type Y to confirm that you want to save it, and then hit ENTER to confirm the file name.

  6. Reboot the Linux VPS by typing reboot and hit enter:

    reboot
    
  7. Wait a couple minutes and then reconnect your Linux VPS and login as root.

    • NOTE: It will take a couple of minutes for the Linux VPS to reboot. If you are unable to reconnect to the Linux VPS after a few minutes then the configuration change did not work and you will have to connect through the Console in the VPS provider website, resolve the issue with the configuration file, and reboot the server again.
  8. Run the ifconfig command to verify the new IPv6 address is now configured correctly:

    ifconfig
    
  • NOTE: You should see the new IPv6 addresses show up next to the inet6 addr lines
  1. Ping your new IPv6 address to verify that it is indeed functioning properly. Be sure to replace the variable <ipv6address> with your IPv6 address:

    ping6 <ipv6address>
    
  • NOTE: Hit Ctrl-c to stop the ping.

If you get responses from the pings then you are now done adding secondary public IPv6 addresses! You can now move on to the VPS and Hot wallet Setup section of the guide.