Use OpenDNS. Its free. Some churches and schools use this
You need to setup preferences in the dashboard. You can choose quick settings "
Or you can custom pick settings.
http://www.opendns.com/
All you have to do is create an account at OpenDNS, change DNS servers to 208.67.222.222/208.67.220.220, add your network (ip address) to OpenDNS and done.
If you have dynamic DNS, you will have to download a software that tells opendns what ip adrees you have.
After that, goto Dashboard - Settings and choose High filtering level. Done.
Your kids can change DNS servers and get around it. To prevent that you can make them use reduced privileges accounts.
To add extra layer you may want to use a firewall with parental blocking (but they are not free)