尝试弄清楚如何将两个虚拟网络连接在一起,然后将其连接到互联网,以建立虚拟内联 IDS/IPS 系统

尝试弄清楚如何将两个虚拟网络连接在一起,然后将其连接到互联网,以建立虚拟内联 IDS/IPS 系统

我正在尝试弄清楚如何将两个 vmware(服务器或工作站、工作站)或 virtualbox 网络与两个虚拟网络之间透明内联的 linux IDS/IPS 系统桥接在一起。我该如何实现这一点?我知道如何将虚拟网络桥接在一起,但如何让 linux 虚拟机位于它们之间并强制流量通过透明桥接?

我想要的是类似这样的内容:

vmnet
各种 vms
仅主机网络

---->

内联 Linux 盒
vmnet 盒必须经过此处才能连接到互联网

--->

vmnet b
网络,其 Internet 访问
配置为 NAT 或桥接

-->

互联网

我知道 Linux 机器基本上需要两个虚拟网卡,一个在 vmnet a 上,另一个在 vmnet b 上,但除此之外,我不知道如何强制所有流量在通往互联网的途中穿过“透明”桥接 Linux 机器。vmnet a 和 b 是否必须是具有相同默认路由的同一 IP 网络?vmnet a 没有默认路由,而 vmnet b 有默认路由吗?我在 vmware 论坛上读到,在 Linux 主机上,您需要更改 vmnet 文件的权限以启用混杂模式?这是真的吗?如何在 Windows 机器上配置此方案?

答案1

我想有很多方法可以实现这一点。记住你想做什么,我会:

 hostA on netA
     |
 --------------------
   IDS iface on netA
    IDS Host
   IDS iface on netB
 --------------------
     |
 hostB on netB
     |
    inet

hostB会有一个默认网关,因为它应该已经设置好了(你的 ISP 提供商的路由器),而且你应该添加一条到的路由netAIDS host在 上hostB):

ip route add <netA> via <IDS Host on netB>

IDS Host应该转发所有流量(或者只是您想要的流量):

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT
iptables -I FORWARD 1 -j ACCEPT

这将在内核中启用转发,并允许所有流量通过此框。最后,netA 上的主机应具有默认网关IDS host on netA(在 netA 上的任何主机上):

ip route add default via <IDS on netA>

因此,您需要做的就是在您的 IDS 上,在 vmnetA 上有一个网络接口,在 vmnetB 上有一个网络接口。

相关内容