tun包可以转发吗?

tun包可以转发吗?

我尝试了来自的代码https://blog.oddbit.com/post/2023-02-14-whos-got-the-packet/

这是我的设置:

虚拟机A (eth1: 10.223.0.2) ================>虚拟机B(eth0:10.23.56.200)

将“VM”加粗的原因是,上面的 IP 不是公共 IP,我不知道这有什么区别。

我创建了 tun0 并将地址设置为 10.23.56.199。

我启用转发:sudo sysctl net.ipv4.ip_forward=1

禁用 rp_filter:对于所有

for device in /proc/sys/net/ipv4/conf/*
do
   echo 0 >${device}/rp_filter
done

这些都没有产生结果。

因此,我添加了从 tun0 到 eth1 的转发,以便我可以查看是否在 eth1 上收到 tun0 数据包虚拟机A(同一台机器)。

sudo iptables -t filter -I FORWARD -i tun0 -o eth1 -j ACCEPT
sudo iptables -t filter -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE

我可以使用命令查看 tun0 上的数据包tcpdump -nn -vv -i tun0 port 10001 但是当我替换tun0eth1

有没有一种方法可以将数据包写入tun0同一eth1台机器上,然后虚拟机B以太坊1?

我已经验证数据包不会被丢弃netstat -i

提前致谢!

相关内容