Переадресация IP с помощью iptables

Переадресация IP с помощью iptables

Предположим, что есть хосты Aи B. Aразрешен доступ по SSH Bна основе его IP-адреса. Теперь рассмотрим другой хост C. Cне имеет доступа к B, но если бы мы могли направить его трафик через A, то Cмогли бы получить доступ к B. Проблема в том, как выполнить такую ​​трансляцию адресов? Никакие два хоста не находятся в одной локальной сети.

Первой моей мыслью было сделать SNAT с iptables на A:

iptables -t nat -A POSTROUTING --protocol tcp --source C --destination B --sport 7777 --dport 22 -j SNAT A

то есть, что Cнужно попытаться подключиться A:7777, но я понял, что маршрутизация пакета до SNAT все портит, поэтому трансляция адресов должна быть сделана в PREROUTING -- что, к сожалению, невозможно. Другая мысль была настроить VPN, но я думаю, что это слишком сложно. Есть ли аккуратный способ сделать это, желательно с чем-то таким чистым, как iptables?

Связанный контент