今日没见识:原来 qemu 的 slirp 网络模式 (-netdev user) 又是 netdev-socket 转化。
netdev-socket 转化是我发明的词,它的意思是流量从 netdev egress,然后从一个进程 socket send 出去。这种不对称的转发模式对于容器选手还挺陌生,容器的虚拟化是 veth-veth,qemu 也有一个类似的 tap-tap 模式 (-netdev tap)。
但是 netdev-socket 转化在内核里非常常见,比如大部分隧道的内核实现(vxlan, geneve)、wireguard 的内核实现都是这种,现在又多了一个 slirp 模式的 qemu 网络。
知道它的实现之后就知道怎么代理这种模式的 guest 流量了,直接在 host 做 wan 劫持即可。
netdev-socket 转化是我发明的词,它的意思是流量从 netdev egress,然后从一个进程 socket send 出去。这种不对称的转发模式对于容器选手还挺陌生,容器的虚拟化是 veth-veth,qemu 也有一个类似的 tap-tap 模式 (-netdev tap)。
但是 netdev-socket 转化在内核里非常常见,比如大部分隧道的内核实现(vxlan, geneve)、wireguard 的内核实现都是这种,现在又多了一个 slirp 模式的 qemu 网络。
知道它的实现之后就知道怎么代理这种模式的 guest 流量了,直接在 host 做 wan 劫持即可。