How to properly troubleshoot network sharing between two Windows computers?

This is a real problem I encountered before, and so far I was always able to resolve it by actions that don’t make sense to me, I want to make my life easier in the future, so please help me out.

Given the following resources and maxims:

  1. I have host PC it runs Windows 11 Pro, build 26200, it has Intel CPU and built in Intel network adapter;
  2. I have client PC, it runs Windows 11 Pro, Build 26100, it has Intel CPU and built in Intel network adapter;
  3. For very specific technical reasons, I cannot install any new software on the client PC;
  4. I can install any software I wish on the host PC, with the exception of new operating systems, it has to remain as Windows 11;
  5. For very specific technical reasons, I absolutely have to connect the client PC to the internet via a connection shared from host PC.

These are givens and requirements which I cannot change, my restrictions are not self-imposed. The only way I can see to circumvent them is to build a separately routed network that satisfies the intended parameters instead of using the host PC. That would require sourcing the appropriate hardware, and I am researching ways to do so at the target site. In the short term (nearest 3 months), I’m constrained in these ways.

I go through the following steps:

  1. I turn on both machines;
  2. I connect the host PC to the Internet, confirm that it can connect to any online services that I wish to ulitise;
  3. I select the network connection on ‘host PC’, which provides access to the Internet, and share it to an ethernet port ethernet 1;
  4. I connect that ethernet port with a confirmed functional ethernet cable to ethernet port ethernet 2 on the client PC;
  5. I wait for the “unidentified network” to establish on both host PC and client PC

At this point, one of two things happens. Either client PC gains Internet access, or it doesn’t.

In case when client PC does not gain Internet access, I resolve the following questions:

  1. Does the automatic network configuration for ethernet 2 on the client PC provide an IP address on the same subnet as is configured on ethernet 1 on the host PC? If not, I will manually provide configuration with an IP address on the same subnet, with same network mask, and assign the IP of host PC ethernet 1 as gateway;
  2. Does the client PC successfully send ping requests to the host pc, and does it receive responses back? If not… I really don’t know what to do except mess around with enabling/disabling autoconfiguration on the network interfaces, set up IP addresses on same subnets, configure stricter/laxer subnet masks, etc… until I get ping between them.

So far, in my operations I have encountered the following problems:

  1. The client PC can ping host PC. I can open the ethernet 1 status window on host PC and observe that “Received” packets are growing in number. Consequently, I know that client PC is sending packets to the host PC, but the host PC is either not routing them properly, or for some other reason does not issue the responses. All requests to the Internet from client PC are timed out;
  2. The client PC can ping host PC. I can open the ethernet 1 status window on host PC and observe that “Received” packets are not growing in number. Every time when I execute the ping command on the client PC, I observe “Received” packets on the host PC grow by 416, and the “Sent” packets on the host PC also grows by a very specific number I didn’t care to record, it’s the same every time.

Every time these issues were resolved was when I messed around with network settings on client PC until I found a combination of working ipv4 address and subnet mask, or when I switched on receive address automatically and it magically started working for no observable reason.

Are there any tools I can utilize to gain better insight/control over this situation? Set up proper IP address autoconfiguration? Examine packet routing on the host PC? What problems can I identify and solve in these circumstances?