The docker network model uses iptables to set up internet connectivity for your containers. Only set iptables=false if you explicitly do not want your containers that are using bridge or overlay network drivers to have any network connectivity at all.
When you start the daemon with iptables=true, it will set up the required rules in your firewall. When docker shuts down, I don't believe it tears those rules down, so they stick around. This is why you get internet connectivity after starting docker back up with iptables=false. If you want to preserve those rules on the next docker startup after a reboot, the best way is to keep iptables=true.