Implement a Linux firewall with iptables and ip6tables.

I'm not particularly a fan of passing around `rules` as a list, and then having all of these helpers simply "extend" the mutable object. I'd prefer it if helpers generated tuples, returned them, and then the callers aggregated them into a single object.

This is heavily stylistic, of course, and not critical for merging. Just thought I'd bring it up!