You don’t actually need a static route on PC1. Since PC1 already has a default gateway (192.168.100.254), anything outside 192.168.100.0/24 is automatically sent there. So PC1 isn’t the source of the routing problem.
The real issue is on the 10.10.10.x side: Device1 has no gateway. Without a gateway, it can receive packets coming from the Linux box, but it has no way to send replies back to a different subnet. That’s why the communication fails.
The fix is simply to give Device1 a valid gateway pointing to the Linux box.
Device1:
IP: 10.10.10.2
Mask: 255.255.255.0
Gateway: 10.10.10.1
On the Linux box:
sudo sysctl -w net.ipv4.ip_forward=1
This is enough to route between NIC1 and NIC2.
If Device1 cannot be configured manually, the Linux box can offer a small DHCP service on NIC2. A minimal dnsmasq example:
interface=enp4s0
dhcp-range=10.10.10.50,10.10.10.150,255.255.255.0,12h
dhcp-option=3,10.10.10.1
This simply ensures Device1 learns “send everything through 10.10.10.1”. Once Device1 has a gateway, the Linux box will forward traffic correctly and PC1 will reach it without needing any static route at all.
Useful resources:
https://wiki.archlinux.org/title/Router
https://askubuntu.com/questions/205017/how-to-define-the-range-of-ips-using-dhcp
https://pingmynetwork.com/network/ccna-200-301/dhcp-dynamic-host-configuration-protocol