Actually, if you search online on how to do this, you get a great guide on wordpress itself:
http://codex.wordpress.org/Combating_Comment_Spam/Denying_AccessThe issue with most of the methods listed is that your family site is the main domain and .htaccess entries blocking an IP will apply to all sub and addon domains inside public_html so you have to use a method that won't block the class page. The best one listed there for doing that would be the bottom one where they mention putting this code at the top of any page you don't want them to access:
<?php
$block = array("xxx.xxx.xxx.xxx", "yy.yy.y.yyy");
if (in_array ($_SERVER['REMOTE_ADDR'], $block)) {
header("Location:
http://google.com/");
exit();
}
?>
Probably putting it into the index page for your family site would do the trick. You'd have to replace the "xxx.xxx.xxx.xxx" part with the actual IP you want to block.
If this is a family site and you do not want people other than your family viewing it, why allow access to anyone at all anyway? Why not just allow only family members to view it by password protecting it? Having it online without password protection means you have it getting searched by search engine spiders and linked in their indexes for other people to find. The only way to prevent access to people would be password protection in the long run.