When you install on Virtualbox a guest operating system with NAT (connection between guest and host provided by nat) and you want to provide a service on guest, then you can make port forwarding to reach this service from outside.
Host: 192.168.2.x on network 192.168.2.0
Guest: 10.0.2.15 on network 10.0.2.0
Lets say the service we want to provide on Guest is rdp.
We need to make these commands
VBoxManage setextradata "GuestVM"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "GuestVM"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" portnumber(ie,3389)
VBoxManage setextradata "GuestVM"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" portnumber(ie,say 3389 or anything other which is availabel on host)

Host: 192.168.2.x on network 192.168.2.0
Guest: 10.0.2.15 on network 10.0.2.0
Lets say the service we want to provide on Guest is rdp.
We need to make these commands
VBoxManage setextradata "GuestVM"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "GuestVM"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" portnumber(ie,3389)
VBoxManage setextradata "GuestVM"
"VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" portnumber(ie,say 3389 or anything other which is availabel on host)