Guests can connect to hosts, and hosts to guest, but not out of the box.
Here is a scenario.
Suppose you have a host, and two guests (in my case, Windows host (HOST), and a Linux (GUEST1) and Windows (GUEST2) virtual image):
Suppose further more, you run a website on one guest (in my case, http://localhost:8081, on the Windows GUEST2).
I run both guests in NAT networking mode.
HOST -> GUEST2 : Use NAT port forwarding rule, on 8081. Go to networking of the virtual guest (GUEST2), and add the rule there. So, now on the host, http://localhost:8081 will reach the GUEST2 website.
GUEST1 (linux) -> HOST(W10) -> GUEST2(W10) website on port 8081
Go to your other GUEST1, in my case, Linx, run netstat -rn:
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 **10.0.2.2** 0.0.0.0 UG 0 0 0 enp0s3
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp0s3
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
Now, your website can be reached on the gateway, http://10.0.2.2:8081.
That will trigger the port NAT from HOST to GUEST2 again.