私はパケットの中にa.k.a tunnelingというパケットを持っています。つまり、[IP HEADER 1] [IP HEADER 2] [PAYLOAD]という形式です。最初のヘッダ(ライブラリによって行われた)を読んだ後、私はiptablesのINPUTチェーンで[IP HEADER 2]でパケットを取得します。私はiptablesの開始、すなわちPREROUTINGチェーンにパケットを再注入したい。究極の目的は、パケットをリモートホストに転送することです(そのため、パケットをPREROUTINGチェーンに入れたいのです)。私はlibipqについて何かを読んだことがありますが、本当にそれが最良の方法であるとは確信していません。パケットをIptablesに再注入するには?
2
A
答えて
1
これを行うにはいくつかのアドオンターゲットがあるかもしれませんが。私の直感は、このパケットをマークするのにMARK
ターゲットを使用し、iproute2
を使用して、どこに行きたいかのルーティングを設定することです。以下のような
何か:
iptables -t mangle -A INPUT -s 192.168.1.2 -j MARK --set-mark 0xAA
ip rule add fwmark 0xAA table Reroute_Tunnel
そして、それは追加しReroute_Tunnel
テーブルが(代わりにlibipqのlibnetfilter_queueで)
+0
それを試し、有望に見えます。 –
関連する問題
- 1. 再生2.5.X依存性注入
nfnetlink_queueがip_queueを交換していないかを決定するのはあなた次第です。 http://stackoverflow.com/search?q=nfqueue – ephemient