In my network setup below, I'm able to ping guest vm1 from my external client machine. But, I can't access apache web server running in guest vm1 from my external client. I'm able to ping after updating the routing table in my physical router to route traffic for guest vm network but accessing webserver doesn't work. Please help to figure out the issue. Hypervisor is KVM and used open vSwitch for for bridging.
You're saying that the .1.6 client has ICMP connectivity to the .100.1 VM, but cannot send a TCP SYN port 80 packet there. Or at least, client never hears the SYN ACK.
Sounds like inbound NAT filtering, especially if VM1 can do outbound ping or TCP connects to your windows client. Verify with
tcpdump on the debian host and also on VM1.