Windows not sending SYN+ACK packet
Ran into an issue where, after adding a network card, and adding a static route on a second network card, I was unable to connect. I could see Windows receive the SYN packet, but it made no attempt to send a SYN+ACK back.
The issue was that, when you add a route to windows like so:
route add -p 1.2.3.0 mask 255.255.255.0 44.55.66.77
Which should send all traffic for 1.2.3.0/24 towards 44.55.66.77, Windows will happily assign this route to a network card that cannot access 44.55.66.77.
The solution is to find the MAC of the network card you want it to go out of (ipconfig /all), then run:
route print
And at the top there is an interface list. Look up the interface number there, and use this command, where 22 is the interface number:
route add -p 1.2.3.0 mask 255.255.255.0 44.55.66.77 IF 22