VirtualBox supports NAT, host-only, Internal network and Bridged network options.
When Network card of VirtualBox VM is configured with "NAT" option then VM can access host machine and can access Internet, but cannot access other VMs. When I looked at IP address of VM's, I found that they all have same IP address.
VirtualBox assigns same IP to all virtual machine (for example, 10.0.2.15) when NAT is configured. That is, it treats all VM as they on different physical network.
When Network Card of VirtualBox VM is configured with "Internal Network" option then VM can access other VMs but cannot access Internet. In this case, all VM are on same physical network.
If you want to access other VMs as well as Internet, then the simplest solution is install two network cards in VM and assign one to NAT and another to internal network. Then login to all VMs and assign unique address to internal network card of each VM. Note that, you have to assign address to network card which is configured for "Internal Network" in VirtualBox.
That's it. Done. Now you can access Internet as well as other VMs.