iptablesを起動した時のみに動作するのですが、理由がわかりません。
何故、このような挙動になるのか教えていただけませんでしょうか。

CentOS6.4上でデータ転送するプログラムを作成しました。
具体的にはeth0に来たパケットのIPアドレス、MACアドレスを書き換えて
eth1から別マシンに転送するプログラムです。
eth1に来たパケットはeth0のマシンに転送しています。
※WEBサーバに転送してテストしています。

iptablesを起動時は正常にWEB画面が表示され、データの送受信ができます。
iptablesを停止時はWEB画面が表示されず転送が行えていません。

iptablesを起動することで、転送に制限がかかることはあっても、
iptables停止時に転送ができなくなる事は想定外でした。

iptablesは通信制限をかけるものだと思っていたのですが、そもそも、
その理解が間違っているのでしょうか。

設定されているiptablesの内容です。
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
よろしくお願いします