The /ignore command also has different 'switches' that determine what kind of messages and events you'll ignore from another user or users. For example, if you only wanted to ignore private messages and notices from a user, then you might do:
/ignore -pn nickname 2This would ignore *!*@hostname.or.IP but only if they /msg or /notice you. You will still get CTCP's, DCC and channel messages from them. The '2' is what adds the *!*@hostname.or.IP. Instead of putting that, you could change it to
/ignore -pn *!*@ip.here and not specify a nickname or ignore type number. You would have to do this if the person you wanted to ignore is not online.
See
/help /ignore for a list of what the different switches do. You can edit ignores in a dialog - press
ALT+B and go to the 'Control' tab and choose 'Ignore' from the drop down list at the top. To see a list of ignores, type
/ignore -l.
As for receiving spam from multiple IPs, you might like to ask in the network's #Help channel, or check the network's website to see if they have some kind of usermode that will block spammers from messaging you. Some networks, like DALnet, have had such a problem with spam bots they've had to implement these modes. In the case of DALnet, and indeed most networks which have this kind of mode, it is +R. The command to set it is
/mode your-nickname +R. (It is CaSe sensitive, so +r is not the same as +R)
To expand on the whole 'IP block' thing, aswell as IP blocks you can ignore entire Internet Service Providers (ISPs). This is good because not everyone hasn't had their hostname resolved so sometimes their hostname is shown instead of an IP. For example, if someone from AOL keeps evading your ignores and keeps messaging you anyway then you can add *!*@*.aol.com on to the ignore list so no matter how many times he reconnects it will still ignore him. However, the downside is it will also ignore anyone using the AOL ISP and because of it's popularity you would be ignoring a lot of people, possibly even friends.
Some networks have a policy on harassment, and usually evading ignores is against network policy. You might try going to a help channel, or if you know of one, an oper help channel, and seek assistance.
DALnet have a good document on using the /ignore and /silence commands.
Read here. Unless you're a DALnet user the rest of that document is not that relevant due to the abuse emails/websites which are provided.
Hope this has been of use to you and not confusing

Happy chatting!
Regards,