![通过虚拟接口到 ppp 接口的传出流量](https://linux22.com/image/105444/%E9%80%9A%E8%BF%87%E8%99%9A%E6%8B%9F%E6%8E%A5%E5%8F%A3%E5%88%B0%20ppp%20%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BC%A0%E5%87%BA%E6%B5%81%E9%87%8F.png)
我想将虚拟接口上的所有本地生成的流量转发到 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 接口