Настройка (все это Linux):
client IP address: 192.168.2.15 (interface eth1)
box IP address: 192.168.2.2 (interface eth1)
box IP address: 192.168.101.11 (interface eth0)
server IP address: 192.168.101.12 (interface eth0)
Клиенту необходимо получить доступ к серверу через порт 2300, но он находится в другой подсети. Как настроить iptables так, чтобы клиент принимал box в качестве сервера в своей подсети? Другими словами, как мне маршрутизировать трафик между клиентом и сервером, чтобы:
Исходящий:
192.168.2.15 -> 192.168.2.2 ==> 192.168.101.11 -> 192.168.101.12 (all port 2300)
Возвращение:
192.168.101.12 -> 192.168.101.11 ==> 192.168.2.2 -> 192.168.2.15 (all port 2300)
Я занимаюсь этим некоторое время, и кажется, что это должно быть просто, но я (пока) не владею iptables.
Спасибо!
Кажется, это работает, хотя, вероятно, это не идеальное решение. Используя netcat:
mkfifo proxypipe
while true; do nc -l 9010 0<proxypipe | nc 192.168.101.12 9000 1> proxypipe; done
Обратите внимание, что я использую 9010 в качестве порта сервера на стороне клиента. Тем не менее, это полностью дублирует сервер локально.