What is NAT and why is it required?
NAT (Network Address Translation) is the translation of private IP addresses inside external IP addresses and vice versa. This provides your virtual machine with access to the internet.
The private network uses private IP addresses that are not used in the internet.
To connect to the internet you need an external IP, which will be masked by one or more private IP-addresses.
NAT substitutes (or masks) private addresses for external ones or vice versa.