GNS3 VM is used to run GNS3 network simulations.
How can I connect from the network in the simulation to the physical network at Layer 2?
For example, create a GNS3 environment with the following configuration:
The ping from "Client 2" to the IP address of "Physical Device" is successful.
However, due to the presence of NAT in between, "Client 2" and "Physical Device" belong to different broadcast domains.
On the other hand, I connected "Client 1" to the "Cloud Device" expecting an L2 connection, but unfortunately the ping from "Client 1" to "Physical Device" is not successful.
From each of the packet captures below, it appears that many of the packets reaching eth2 from the outside also reach "Cloud" in the simulation.
- Between "Cloud" and "Client 1"
- eth2 of the GNS3 VM
- the USB LAN adapter on the host PC
However, some Ethernet frames, such as broadcasts sent by "Client 1", disappear between the Host PC and "Cloud".
How can I make sure that all Ethernet frames between the GNS3 simulation network and the physical network reach each other?
Setting eth2 on the GNS3 VM to promiscuous mode did not make any difference.
ip link set dev eth2 promisc on
Note that the virtual network settings for the VMs were configured as follows for each hypervisor:
- VirtualBox:
- Assign the USB-LAN adapter (NIC) as a "Bridge Adapter" to "Adapter 3" of the VM
- Hyper-V:
- Create a "Virtual Switch" with the USB-LAN adapter (NIC) assigned as the "External Network" and assign it to a "Network Adapter" of the VM