Sat Jan 22, 2022 7:05 pm
For all types of PPP-based and similarly configured VPNs (PPTP, L2TP, SSTP, OpenVPN), you can specify a particular address for the client as the remote-address parameter of the /ppp secret row representing that client, which is matched by login.
For IPsec, it is one step more complex, as the /ip ipsec identity row must refer to an /ip ipsec mode-config row.
In both cases, the IP address (or pool) is assigned based on client identity.
It is possible that the L2TP/PPTP/SSTP server will assign to the client the address it asks for if it is free and fits into the pool defined for that client. I haven't ever tried that as I saw no point in that. If the client is a Mikrotik device, you would have to create a new /ppp profile row with local-address set to the address you want and assign this profile to the /interface xxtp-client row; at the server side, the remote-address on the /ppp secret row representing that client, or on the /ppp profile row to which that /ppp secret row refers, or on the /ppp profile row set as default-profile of the server, would have to be a name of an /ip pool row into which the address requested by the client would fit.