![虚拟机上带有 TUN 接口的 NAT](https://linux22.com/image/166457/%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8A%E5%B8%A6%E6%9C%89%20TUN%20%E6%8E%A5%E5%8F%A3%E7%9A%84%20NAT.png)
我正在尝试与主机和更广泛的本地网络共享来自 virtualbox 虚拟机的 TUN 连接。我有一个 android 网络共享程序 (easytether),它在 debian 虚拟机上创建 TUN 接口。我尝试使用 iptables nat 从虚拟机上的(虚拟)以太网接口(eth1)路由数据包。当使用 eth1 发出 http 请求时,它返回“没有到主机的路由”。
我使用以下命令设置 iptables nat:
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i tun0 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT
(稍后我会修改防火墙,只是想让它发挥作用)
允许数据包转发,eth1有一个静态ip,tun0似乎有一个由easytether设置的静态ip 192.168.117.0。我已经尝试了很多很多相同想法的不同配置,使用不同的 dhcp 服务器,使用不同的 ip 路由和接口设置,但现在我感觉就像在黑暗中拍摄。
任何有关为什么数据包可能无法转发到 tun0 的帮助将非常感激!我是网络新手
除此之外,我尝试在主机 pc 和 eth1 之间使用桥接接口,并尝试将所有主机互联网流量定向到桥接器,然后定向到 tun0