The files in /etc/rc.d/init.d/ are there to start/stop the services.
It isn't really acceptable to add your script info there, rather just a new file that starts before/after iptables is started.
Chkconfig works with these files to place links in the other rc~.d directories, which is the SysV style of managing services.
It looks for a header in the beginning of the file to know which link number to give the file.eg
root@peter /usr/src# cat /etc/init.d/iptables
#!/bin/sh
#
# Startup script to implement /etc/sysconfig/iptables pre-defined rules.
#
# chkconfig: 2345 08 92
The 08 and 92 are the start number and kill number.
The files are started in number order inside the rc~.d directory and killed in reverse order.
People work with scripts in rc.local because it is in the boot sequence of every runlevel.
I personally prefer to make the rules by hand, 1 by 1, coz that's what my company does, make firewalls...
You may prefer to run a sample script from a
tutorial and after running it, make changes until it works by hand, using the 'iptables' command, then doing 'service iptables save' to make a boot copy in /etc/sysconfig/iptables.
This gives you a datum to base rules on.
To stop /etc/sysconfig/iptables from loading, rename it.
To modify rules, do it with the iptables command, then when the changes work, do 'service iptables save' again...