I am trying to build a virtual lab to test some NAS64 capabilities with Cisco ISR Routers.
The goal is to have IPv4-only and IPv6-only Guests talk to each other via a Cisco ISR 4321. The Basic idea would be something like this:
I am using KVM/QEMU on a Linux machine to host the environment. I don't want to use a NATed Network, since that would make further tests more complicated.
I can not, for the life of me, get connectivity (I am testing it with a simple PING) between the Router and the Guest machine and at this point I can not see the forest for it's trees.
The Basic implementation I am struggling with looks like this:
I have a guest, a Bridge, the interface of the host machine and the router.
router 192.0.2.3/24
eth0 192.0.2.2/24
br0 192.0.2.1/24
vm 192.0.2.4/24
host, br0 and vm can all talk with each other but router can only talk with host (host can talk with everybody).
I wanted to put everything in the same network with the same netmask (192.0.2.0/24), but libvirt threw the error that 192.0.2.0/24 was already used by eth0 (for the connection with the router)
So I tried splitting the network between host + router and br0 + guest for example:
router 192.0.2.250/25
eth0 192.0.2.240/25
br0 192.0.2.1/25
vm 192.0.2.2/25
and setting a route like like this:
# ip r add 192.0.2.250 via 192.0.2.240 dev br0
Error: Nexthop has invalid gateway.
But it throws the given error.
My routing table looks like this:
192.0.2.0/25 dev virb0 proto kernel scope link src 192.0.2.1
192.0.2.128/25 dev eth0 proto kernel scope link src 192.0.2.240 metric 101
I also tried some other stuff (a lot of which is probably discouraged) like splitting the network with overlapping networks but that only lead to loosing connectivity to the router, because the traffic of eth0 was routed via br0 (which makes sense).
I am at a loss. Everything I tried, every Idea I had why it is failing was not working. I really don't understand why there is connectivity between every single node, but not from router to vm. (I also don't get why the host with 192.0.2.240/25 can ping the vm with 192.0.2.2/25).
I hope somebody can give me some pointers :)

