Prevent Multiple user registrations from single IP
You may find the problem there is that Drupal doesn't store the IP address of the user during normal core registration process.

Assuming you can hook in and store that IP address for later lookup, you could then validate that ip address count for the user with something like:

/**
 * Implements hook_form_FORM_ID_alter
 */
function mymodule_form_user_register_alter(&amp;$form, &amp;$form_state) {
  $form['#validate'][] = 'mymodule_user_register_validate';
}

/**
 * hook_form_user_register_alter validation callback
 */
function mymodule_user_register_validate($form, &amp;$form_state) {
  $account = (object) $form_state['values'];
  $ip_address = ip_address(); // api call
  // do something to look up ip_address on registered user..
  // for example: 
  $count = db_query("SELECT count(uid) FROM {user_ip} WHERE ip = :ip", array(':ip' =&gt; $ip_address))-&gt;fetchField();
  if($count &gt; 3){
    $error = t('Sorry, too many registrations.');
    form_set_error('name', $error);
  }
}