Впринципе действия предлагаете верные, но идеологически неверные.
Чтобы разрешить форвардинг, необходимо занести
в файл /etc/sysctl.conf (или, если присутствует, в файл /etc/net/sysctl.conf
после чего выполнить
для того, чтобы применить новые параметры без перезагрузки.
С правилами iptables правильнее поступить так (если не привязываться к специфике дистрибутива):
1. Создать исполняемый скрипт следующего содержимого
#!/bin/bash
#Определим политики
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#Сбросим правила
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
#Определим новые (далее наши правила)
iptables ....
2. Выполняем наш скрипт
3. Проверяем, все ли работает
4. Сохраняем правила
/etc/init.d/iptables save
5. Добавляем запуск iptables в автозапуск нужного нам runlevel
Тут уж смотреть, как это делается в вашем дистрибутиве (chkconfig, rc-update или что-то еще)
Теперь iptables будет загружен при переходе в нужный runlevel и правила будут автоматически загружены тоже.