从不同的机器访问webapp

从不同的机器访问webapp

所以我有三个虚拟机(虚拟盒)。

  1. 一是路由器/防火墙。它正在运行 snort + snortsam 。

  2. 这台机器在 tomcat 中运行一个 web 应用程序

  3. 我正在尝试从这台机器访问机器 2 上的 webapp。

机器 1 和 2 通过内部网络连接。机器 1 和 3 相同。

我想从机器 3 访问机器 2 webapp,但我无法做到这一点。

到目前为止,我在机器 1 上有这样的 iptables 配置:

iptables -A forward -p tcp -d <machine_2_ip> --dport http -j ACCEPT
iptables -A forward -p tcp -d <machine_2_ip> --dport https -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

我在机器 1 上使用 tcpdump 得到的信息是:

ARP, Request who-has <machine_2_ip> tell <machine_3_ip>, length 46

谁能帮我这个?

感谢您的关注。

编辑v2 在此输入图像描述

编辑v3

因此,解决方案是在 M1 和 M3 上添加默认网关,并且它有效,但并不总是有效。有时我的 iptables 看起来像这样: 在此输入图像描述

但事实并非如此。仅当显示:目的地 -> 192.136.200.3 而不是 cpe-192 时才有效...有谁知道如何解决此问题?

答案1

该 ARP 请求意味着 M3 错误地认为 M2 位于同一子网中,而不是位于网关 M1 后面。

几乎可以肯定,这是以下两件事之一:

  1. (至少)M3 上的子网掩码是错误的。
  2. 你配置了一些无意义的东西;例如,您在 M1/M3 和 M1/M2 网络上使用了相同的子网。

这很奇怪,因为您的图表显示了应该有效的内容,但我很确定该图表并未反映您实际配置的内容。通过检查所有三个(虚拟)框ip addr ls和来确认ip route ls

相关内容