仮想インターフェイスに接続された仮想マシンがあり、その仮想インターフェイスへのすべてのトラフィックがTPROXYトランスペアレントプロキシを介して送信されます。
ip tuntap add tap0 mode tap
ip link set tap0 up
ip addr add 10.0.0.1/24 dev tap0
ip rule add fwmark 1088 table 100
ip rule add fwmark 1088 table 100
ip route add local default dev tap0 table 100
iptables -t mangle -A PREROUTING -i tap0 -p tcp \
-j TPROXY -s 10.0.0.2 --on-ip 10.0.0.1 \
--on-port 10000 --tproxy-mark 1088
ホスト側仮想インターフェイスのIPアドレスは10.0.0.1、仮想マシンのIPアドレスは10.0.0.2です。ただし、iptables TPROXYルールはVMアドレスへのすべての接続をブロックするため、ホスト側からVMアドレス(たとえば10.0.0.2:8080)のTCPポートにアクセスできません。
ホスト側からアクセスできる仮想マシンIPのポートを作成するには?