I want to make this setup:

It's in Spanish, but quite self explanatory.
In the institute where I work, every student has a PC. The host is a Windows 10 PC with virtualbox 6.1.26 and extension pack.
I created a Ubuntu 18.04 virtual machine which would act as a firewall/router with two network adapters -- the first to get the IP dynamically from the institute and access to internet, and other for the internal network called cognom.
The config of network in Ubuntu "firewall":
auto lo
iface lo inet loopback
# enp0s3: # Interfície 1
# enp0s8: # Interfície 2
# se activan cuando se producen eventos hotplug en las intefaces de red, como la detección de la tarjeta por parte del kernel,
#la conexión del cable de red, etc
allow-hotplug enp0s3 enp0s8
# enp0s3: # Interfície 1
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
# enp0s3: # Interfície 1
up iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j MASQUERADE
down iptables -t nat -D POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j MASQUERADE
Every client machine, regardless of being Linux or Ubuntu, has the config:
Static ip address: 192.168.0.X ( where x is a number >1 and <255)
Netmask: 255.255.255.0
Gateway: 192.168.0.1
When I connect from a client in LAN, I can ping to the other machine, and the gateway (192.168.0.1..), but I can't ping or access internet.
How can I do this?
Somehow NAT isn't working.
To make things easy, we can suppose that the client is also an Ubuntu 18.04 machine.
An example of client network config could be:
auto lo
iface lo inet loopback
# enp0s3: # Interfície 1
allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
address 192.168.0.5
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
My idea is that a client could access internet.