I’d brake it down to steps.
Can PC2, actually speak to PC1 over the Wiregard tunnel?
Can Win VM reach the PC1’s Wireguard tunnel?
If so, then perhaps it’s a routing thing.
If PC2 is on a lan with 192.168.0.0/24
And PC1 & Win VM are on 172.16.0.0/12
Then route the other subnet, via the WG interface?
then add routing rules in PC1 so traffic for the other side’s subnet, goes over the WG interface’s IP address, and vice versa for PC2?
so on PC2:
ip route add 172.16.0.0/12 via 10.0.0.2 dev WG
and on PC1:
ip route add 192.168.0.0/24 via 10.0.0.1 dev WG
if PC2 is running windows, then try setting the route in the network > advanced > NIC / interface card setting for the wg interface, and edit the place where the IP address goes, and add the destination route.
wireguard itself, should allow for setting up “allowed IP’s” but I’ve had mixed results and replicated the IP ranges there, as well as routing table. I may be over-complicationg it…
or whatever the wireguard interfaces are called.
if both lan PC’s are on the local lan subnet, 192.168.0.0/24, then I would add an explicit rule, for traffic to specifically the VM’s ip address /32 to use the tunnel, but it’s more tricky.
Also, ensure PC1 has net.ipv4.ip_forward=1 un-commented in /etc/sysctl.conf
It may help to forward ICMP traffic, so Ping can be forwarded, un-commentating and changing net.ipv4.conf.all.accept_redirects = 0 to 1 and net.ipv4.conf.all.send_redirects = 0 also to 1
just me $0.02