Как временно сопоставить удаленный хост и порт с локальным портом?

Скажем, у меня есть машина А, действующая как маршрутизатор с двумя сетевыми картами и следующими IP-адресами:

eth0: 192.168.1.1 (LAN) eth1: 10.0.0.1 (WAN) 

И у меня есть еще одна машина B по IP-адресу 10.0.0.2, которую я хочу иметь возможность временно подключиться к устройству в подсети аппарата А с IP-адресом 192.168.1.10 .

Для этого потребуется обработать несколько подключений по одному и тому же порту (например, сеанс HTTP), а не просто один. Я знаю, как это сделать с SSH, но мне было интересно, есть ли более простая альтернатива, потому что в этом случае я уже зашел в машину A.

Это шаблон SSH, который я использую для аналогичного сценария, когда я еще не вошел в систему:

 ssh -R 0:lanhost:lanport username@wanhost 

Самое близкое, что я смог получить, это с помощью netcat:

 nc -s 10.0.0.1 -l -p 50000 -e /tmp/srv.sh 

/tmp/srv.sh:

 #!/bin/sh nc 192.168.1.10 80 

Но это касается только одного соединения, и создание сценария оболочки неудобно.

ПРИМЕЧАНИЕ. Я бы предпочел не вмешиваться в таблицы IP машины A, если это возможно.

  • Простой способ создания туннеля из одного локального порта в другой?
  • Ошибка туннелирования SSH: «канал 1: сбой при открытии: административно запрещено: открыть сбой»
  • SSH-туннелирование с несколькими динамическими портами
  • SHH Туннелирование принимается только на некоторых портах
  • Как отлаживать пересылку портов SSH
  • ssh туннелирование локального экрана на другой сервер
  • Как настроить перенаправление портов после открытия соединения ssh?
  • Переслать каждый порт в зависимости от домена.
  • IPFW Port Forwarding
  • Могу ли я перенаправить весь трафик на порт на совершенно другой IP-адрес?
  • Как я могу сделать веб-сервер с помощью привязанного к интернету интернет-соединения?
  • Linux и Unix - лучшая ОС в мире.