Это определенно хорошее упражнение, и его легко достичь. Простая настройка может включать 3 виртуальные машины, которые будут имитировать типичную рабочую станцию, которая будет обращаться к серверу в Интернете через шлюз / маршрутизатор.
Я хотел бы установить два отдельных внутренних сетей (VM Сетевой адаптер установлен в "Внутренняя сеть"), один называется lan , представляющий LAN и один называется public , представляющий "общественный Интернет", или в этом случае сервер , рабочая станция пытается достичь.
Три виртуальные машины будут:
- Рабочая станция (подключена только к локальной сети)
- Маршрутизатор (подключен как к локальной сети, так и к общедоступной)
- Сервер (только для общего доступа)
Я бы порекомендовал запустить что-то вроде pfSense на виртуальной машине маршрутизатора, поскольку он предназначен для работы в качестве маршрутизатора и уже настроен для этого, но вы можете сделать это на обычной машине с Linux (но это выходит за рамки этого вопроса),
Вам нужно будет настроить статические IP-адреса (скажем, в 10.0.0.10 для маршрутизатора и 10.0.0.20 для сервера) в общедоступной сети. Если вы используете pfSense, вам нужно настроить статический IP (скажем, 192.168.0.1) для него на стороне локальной сети, но он может обрабатывать назначение адреса рабочей станции через DHCP.

После того, как все настроено и имеет правильный IP-адрес, вы сможете настроить доступ к серверу с рабочей станции по его IP-адресу. Если сервер хочет связаться с рабочей станцией, вам необходимо настроить переадресацию портов в маршрутизаторе.
Если вы хотите немного усложнить работу, вы можете добавить другой маршрутизатор и рабочую станцию, чтобы у вас было две отдельные ЛВС, подключенные к общедоступной сети. В этом случае обе рабочие станции могут взаимодействовать напрямую с сервером, однако, если рабочие станции хотят напрямую взаимодействовать друг с другом, необходимо настроить перенаправление портов, по крайней мере, на один из маршрутизаторов.
