Ten en cuenta que
REMOTE_ADDR en PHP funciona siempre y cuando no se tenga un servidor
Proxy que haga de intermediario o como bien has dicho la cuestion del router.
Bueno aparentemente asi directamente

MySQL no posee una función que te saque la direccion IP de la Maquina Cliente(al menos yo no conosco ninguna), pero siempre y cuando se la puede simular o conseguir usando otras funciones

, por ejemplo se puede usar la Funcion
User() y extraer el Nombre de Equipo ó IP del usuario actual desde el cuál está conectado.
Código SQL
[-]SELECT SUBSTRING_INDEX(USER(),'@',-1) ;
No sé si es lo que buscas...

.
Saludos...
