MaxMind has a free GeoLocation tool
That's a good place to get a DB of IP blocks and countries they are associated with.
Then you could write a chron job/script that pulls the file from server/admin.cgi?mode=viewxml
Parse the XML, get each IP, look it up, see if it should be connected. If not, kick and/or ban it.
This can all be automated, but like I said, it's a fair amount of work depending on your skill set. If you're a small station then it's going to be easier to pay a host that already has something like this in place.
If you're offering a service yourself though, then it might be worth the work...