仮想インターフェイスでローカルに生成されたすべてのトラフィックをpppインターフェイスに転送したいと思います。
PPPインターフェイスは動的(接続されたデバイスに応じて開始および終了)なので、私のプロセスは仮想インターフェイスにバインドされ、それを介してトラフィックを送信します。
次のルールを使用して別々のルーティングテーブルを作成しました。
ip rule add oif dummy0 table rt_dummy
ip rule add from source <dummy0-ip> table rt_dummy
ip rule add fwmark 100 table rt_dummy
ルーティングテーブルのデフォルトパスはpppインタフェースを介しています。
ip route default dev ppp0 table rt_dummy
そして
iptables -t nat -A POSTROUTING -s dummy-interface-ip -o ppp0 -j MASQUERADE
iptables -t raw -A OUTPUT -s dummy-interface-ip -j MARK --set-mark 100
しかし、パケットはまだppp0インターフェイスを通過しません。