I've got admin duties on a couple of forums hosted by
freeforums.org . It does all that you ask (including restricted access subforums) for free. Tech support is dire, nothing is ever their fault, but significant problems are relatively rare. You can use your own domain name or save a few £$€ by tagging your label onto theirs.