Hello
It's not possible at this time, aside from assigning a shared IP address to a reseller, but a feature request is open for this at:
Multiple Shared IP Addresses | cPanel Feature Requests
Feel free to add your input and vote for this feature.
Thank you.
Actually we are doing this for many years. On our server, we usually have 10 shared IPs. We use perl script to call API for provisioning the new accounts. At the beginning, set 1st IP as the main shared IP, then provision 100 accounts on this IP. Then, set 2nd IP as the main shared IP, and provision another 100 accounts on it. If you want randomlize the IP, you can change the shared IP everytime before you provision a new account.
To prevent any user own the shared IP, you can add virtualhost for each IP in your Apache Include config:
<VirtualHost 1st_SHARED_IP:80>
ServerName YOUR_Server_HOSTNAME
DocumentRoot /usr/local/apache/htdocs
ServerAdmin
[email protected]
</VirtualHost>
<VirtualHost 2nd_SHARED_IP:80>
ServerName YOUR_Server_HOSTNAME
DocumentRoot /usr/local/apache/htdocs
ServerAdmin
[email protected]
</VirtualHost>
## For SSL port
<VirtualHost 1st_SHARED_IP:443>
ServerName YOUR_Server_HOSTNAME
DocumentRoot /usr/local/apache/htdocs
ServerAdmin
[email protected]
</VirtualHost>
<VirtualHost 2nd_SHARED_IP:443>
ServerName YOUR_Server_HOSTNAME
DocumentRoot /usr/local/apache/htdocs
ServerAdmin
[email protected]
</VirtualHost>