Я на Mac. У меня есть клиент, который обращается к определенному диапазону IP-адресов: 10.19.*.*
. Клиент не может быть изменен на другой хост. Порт также может находиться в определенном диапазоне (например, от 11111 до 22222).
IP-адреса доступны только через туннель SSH. Я создал прокси SOCKS5 на 127.0.0.1:21000
.
Теперь я хочу прозрачно маршрутизировать запрос HTTP (не HTTPS) от моего клиента (например) 10.19.100.200:12345
в прокси-сервер SSH по адресу 127.0.0.1:21000
, а с другой стороны, ударил 10.19.100.200:12345
. И получите ответ. Он также должен обрабатывать другой запрос для 10.19.200.200:13579
аналогичным образом.
Также было бы здорово, если бы заголовок HTTP Host содержал фактическое имя хоста.
Для пользователей Linux при чтении кажется некоторые другие ответы здесь, что сочетание SSH-туннелирования + iptables
конфигурация может работать. Однако я использую macOS Catalina. Этот ответ кажется, содержит часть того, что я мог бы искать, но не всю историю.
Мне повезло, что мне (пока) не приходится иметь дело с HTTPS.