>>229
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

とあるので、iptablesのデフォルトルールとしてすべて受け付けるように見える
また、iptablesにはパケットフィルタリング以外にパケット転送(FORWARD)機能もあるから
iptables実行時のみ自作プログラムに頼らずに転送されることが予想される

けどudpとtcpで動作の差異が出るのはよく分かんない
俺cさっぱだし、書いたコードのmain.cにコメント加えて貼り付けたらエロい人が教えてくれるかも
ひょっとしたらLinux板の方が回答してくれる人いるかもしれんね