我试图让我的 appVM 与本地网络上的 samba 服务器进行通信。问题是我强制这个 appVM 通过 proxyVM,它不允许流量通过,除非它通过 VPN (openvpn)。
所以我试图添加 iptables 规则来允许这样做,但我似乎无法让它工作,并且想知道我错过了什么。以下规则是我添加到 proxyVPN 的规则(这应该是我必须编辑的唯一虚拟机,对吧?)
iptables -I FORWARD 1 -d <samba-server-ip> -p tcp -m multiport --dports 137:139,445 -j ACCEPT
尝试连接到服务器后,我可以看到目标规则被命中几次(确切地说是 6 次),但我仍然得到
"mount error(115): Operation in progress"
尝试挂载 cifs 共享时来自 appVM 的错误消息。我也看不到任何 DROP 规则被命中,这让我相信也许我必须在firewallVM或netVM甚至appVM中编辑iptables规则,但我想不出为什么会这样。
很感谢任何形式的帮助!
答案1
问题是我需要在路由表中添加一条到我的 samba 服务器的路由,否则它会尝试通过 VPN 接口路由所有内容。
ip route add <samba-ip>/32 via <sys-firewall-ip>
这解决了一切。