У меня есть сервер 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? Кто-нибудь может определить, почему?
Вот что я пытался далеко:
- Установите переадресацию портов ipv4 на 1
- установите для GatewayPorts и AllowTcpForwarding значение 1 в
- запускался на локальной машине (думаю, это изменило некоторые конфиги на сервере) -
ssh -R 1.2.3.4:1100:192.168.122.2:22 облако@1.2.3.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
- Также добавлен Маскарадинг:
sudo /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE