Symptoms
- When trying to access the example.com domain in Plesk > Domains the following error is shown:
PLESK_ERROR: Error: There is no IP address 203.0.113.2 in the pool
- Another IP address is specified for the domain in Plesk database:
MYSQL_WIN: mysql> SELECT c.login, ipool.id AS ‘Pool ID’, ipool.ip_address_id, ip.ip_address FROM ip_pool ipool RIGHT JOIN clients c ON ipool.id=c.pool_id LEFT JOIN IP_Addresses ip ON ipool.ip_address_id=ip.id WHERE c.login LIKE ‘example’;
+———+———+—————+————–+
|  login  | Pool ID | ip_address_id | ip_address  |
+———+———+—————+————–+
| example | Â Â Â 2 Â | Â Â Â Â Â Â 3 Â | Â 203.0.113.5 |
+———+———+—————+————–+
1 row in set (0.00 sec)
Cause
Database inconsistency: an incorrect IP address is set for IP pool for the domain example.com.
Resolution
- Connect to the server via RDP
- Create a backup of psa database as per the article
- Access psa database:
for Plesk version 12.0 and lesser:C:> “%plesk_dir%MySQLbinmysql” -P8306 -uadmin -p psa
for Plesk version 12.5 and greater:
C:> plesk db
- Find the id of the correct IP address:
MYSQL_WIN: Â mysql> select * from IP_Addresses where ip_address=’203.0.113.2′;
+—-+————-+—————–+——–+——————–+——————-+——-+——–+———
| id | ip_address | mask | iface | ssl_certificate_id | default_domain_id | ftps | status | serviceNodeId | public_ip_address | main |
+—-+————-+—————–+——–+——————–+——————-+——-+——–+———
| 1 | 203.0.113.2 | 255.255.255.255 | venet0 | 1 | 0 | false | 0 | 1 | NULL | true |
+—-+————-+—————–+——–+——————–+——————-+——-+——–+———
1 row in set (0.00 sec) - Find the IP pool for the domain example.com using domain name:
MYSQL_WIN: mysql> select pool_id from clients where id in (select cl_id from domains where name=”example.com”);
+—————+———+
| pname     | pool_id |
+—————+———+
| example    |    2 |
+—————+———+
1 row in set (0.00 sec) - Change the IP address in the IP pool with the following command:
MYSQL_WIN: Â mysql> update ip_pool set ip_address_id=’1′ where id=2;
- Checked if a correct IP is set for the domain:
MYSQL_WIN: Â mysql> SELECT c.login, ipool.id AS ‘Pool ID’, ipool.ip_address_id, ip.ip_address FROM ip_pool ipool RIGHT JOIN clients c
ON ipool.id=c.pool_id LEFT JOIN IP_Addresses ip ON ipool.ip_address_id=ip.id WHERE c.login LIKE ‘example’;
+———+———+—————+—————-+
|  login  | Pool ID | ip_address_id |   ip_address |
+———+———+—————+—————-+
| example | Â Â Â 2Â | Â Â Â Â Â Â 1Â | Â Â 203.0.113.2 |
+———+———+—————+—————-+
1 row in set (0.00 sec) -
Update IP address for the domain in the command line:
C:> “%plesk_cli%subscription.exe” -u example.com -ip 203.0.113.2