Private network IP range, how the addresses are assigned

July 8, 2015 1.6k views
Networking MySQL Ubuntu


I have a database server and several app servers. The connection between database and app is over local network only. The number of app servers will be dynamic i.e. I will spin up and destroy servers based on demand. All droplets will run in the same datacenter.

I would like to create a mySQL user that has access only from certain pool if IP addresses.
But when I tried to find how local ip is assigned I did not find any guidance.

I would not like to define mysql user as broad as 'user'@'10.%.%.%'


1 Answer

The pool of IP addresses used on the internal private network is shared, so unfortunately there is not a range of addresses that you can safely assume will only be for Droplets created on your account. I'd suggest automating the process of spinning up the new servers using the DigitalOcean API. That way you can retrieve the private IP address and adjust your MySql permissions all in one go.

Another option might be to use a tool like Droplan which periodically queries the API and adjusts your IPtables firewall based on the private IPs of your Droplets. Check it out:

The droplan utility can help secure private network interfaces on DigitalOcean Droplets by querying the API and adding iptables firewall rules that only allow traffic from your other Droplets in the same datacenter.
Have another answer? Share your knowledge.