This was asked awhile ago not by me and there was no solution for it. I've now got the same problem and I'm hoping someone else has solved it or has come across it.
When I reboot my machine if I don't have a link to my firewall script iptables doesn't come up with all the forwarding and all of that?
Therefore in order for me to make sure my port forwarding and all of that is working I have a link in the rc.local file to point to my firewall script.
I'm wondering where I stuffed up since I've never come across this before.
I'm also wondering whether anyone knows whether iptables stop flushes all the rules or not. Since when I run my firewall script I don't have iptables -F anything so I want to make sure that its all clean when I put the 'new' rules in from my script.