I have the following setup:
- 2 computers (
Cmp.AandCmp.B) - Computers run Windows 10 and I have admin rights on both machines
- Cmp.A is simultaneously connected to 2 VPN networks (different domains) using different solutions
- Cmp.A has got OpenSSH server installed and enabled
- Cmp.B should access the internet and all private domains (coming through the VPNs) via Cmp.A
- Cmp.B should resolve host names through Cmp.A in other words: DNS traffic should be resolved through Cmp.A as well
Currently, I achieve this by connecting to Cmp.B to Cmp.A via SSH which gives me a SOCKS proxy in the SSH tunnel. Cmp.B has got ProxyCap installed which routes all traffic (including DNS) to Cmp.A.
This setup works pretty well for me, but there's one ugly setback: ProxyCap does change the Winsock configuration of my Windows 10 (on Cmp.B) which results in incompatibility problems with my other applications. When I execute netsh winsock show catalog it does return dozens of new entries related to ProxyCap and I don't want this (if possible)
I would like to avoid using ProxyCap and save myself from an application messing around with such OS level socket settings, but I need all traffic (not just browser traffic) to go through Cmp.B.
Wrapping it up, my questions are:
- How do I route all Win10 network traffic (including DNS) thorough another Windows 10 computer (over an SSH SOCKS5 proxy) without using ProxyCap?
- How do I make Windows to resolve DNS through my already existing SOCKS5 tunnel?