The problem with banning IP address by the first three number sets is that you then ban a lot of other people who are completely innocent
Many companies have a block of IPs that they use when their customers connect to the internet.
It is a problem and is not easily solved by blocking IP addresses. I had a similar problem on one of my sites and did just that (block the first three sets of digits) and then other people where blocked as well (check your apache logs to see the number of people using the same first 3 number sets, it's surprising how many do).
I ended up writing a membership script for those who wanted to add something. Another option I have done recently for a site is to allow people to post anything they want - it is then put in a databse with an 'allow' column which defaults to 'N'. An email goes to the site owner who can then log on to an admin area and quickly see any entries, check a tick box if it is OK and then submits. Those entries checked changes the databse from 'N' to 'Y' and it is then shown.
This doesn't actually take as long as you might think and she does check into the admin area a couple of times a day.
However, both are a bit laborious and detailed.
There is no easy solution that won't make the wrong people get banned. (AFAIK).