Рейтинг:0

Как сделать переадресацию портов для сервера GNS3 (туннелирование SSH)?

флаг kr

У меня есть сервер GNS3, и я пытаюсь добавить правила iptable, чтобы когда кто-то из моей команды подключался к порту 1100, он перенаправлялся на внутренний IP-адрес, например 192.168.122.2:22. Этот внутренний IP-адрес принадлежит хосту-бастиону проекта GNS3. Конечная цель состоит в том, чтобы иметь возможность подключаться к внутренним IP-адресам с локальной машины.

Вот как выглядит мой IPTABLE (для примера с использованием поддельного общедоступного IP-адреса 1.2.3.4):

Цепь PREROUTING (политика ПРИНЯТЬ)
num target prot opt ​​источник пункт назначения         
1 DNAT tcp -- 0.0.0.0/0 1.2.3.4 tcp dpt:1100 to:192.168.122.2:22

Сеть INPUT (политика ACCEPT)
num target prot opt ​​источник пункт назначения         

Цепочка OUTPUT (политика ACCEPT)
num target prot opt ​​источник пункт назначения         

Сеть POSTROUTING (правило ACCEPT)
num target prot opt ​​источник пункт назначения         
1 МАСКАРАД все -- 0.0.0.0/0 0.0.0.0/0          

Сеть DOCKER (0 ссылок)
num target prot opt ​​источник пункт назначения         

Цепочка LIBVIRT_PRT (0 ссылок)
num target prot opt ​​источник пункт назначения

С моей локальной машины я выполняю команду ssh [email protected] -p1100. Ubuntu — это имя пользователя, необходимое для доступа к внутреннему IP-адресу проекта GNS3.

После выполнения этой команды я получаю следующий вывод на сервере GNS3 (1.2.3.4): cloud@gns3:~$ connect_to 192.168.122.2 порт 1100: ошибка.

Похоже, моя команда SSH достигает сервера GNS3 и пытается выполнить переадресацию портов. Однако по какой-то причине он пытается перенаправить на порт 1100 вместо 22? Кто-нибудь может определить, почему?

Вот что я пытался далеко:

  1. Установите переадресацию портов ipv4 на 1
  2. установите для GatewayPorts и AllowTcpForwarding значение 1 в
  3. запускался на локальной машине (думаю, это изменило некоторые конфиги на сервере) - ssh -R 1.2.3.4:1100:192.168.122.2:22 облако@1.2.3.4
  4. Добавлено правило в IPtables с помощью команды sudo iptables --table nat --append PREROUTING --protocol tcp --destination 1.2.3.4 --dport 1100 --jump DNAT --to-destination 192.168.122.2:22
  5. Также добавлен Маскарадинг: sudo /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
Рейтинг:0
флаг cn

Вместо использования DNAT он должен быть ПЕРЕНАПРАВЛЕН в соответствии с этим источником:

https://fabianlee.org/2018/09/17/iptables-running-service-as-non-root-iptables-to-forward-from-привилегированный-порт/

Так:

sudo iptables --table nat --append PREROUTING --protocol tcp --destination 1.2.3.4 --dport 1100 --jump REDIRECT --to-destination 192.168.122.2:22

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.