Я работаю на Ubuntu Vserver и хочу перенаправить порты клиентов на хост, подключенный по SSH, и на котором настроен Putty для удаленной переадресации порта 1802.
Чего я хочу добиться:Я хочу, чтобы мой vserver действовал как прокси для заданного порта для приложения. Я хочу иметь возможность подключаться к моему vserver, используя этот порт, но перенаправляться на обратный прокси (хост):
Клиент A <== xxxx:1802 ==> vserver (переадресация порта) <== обратный прокси / соединение ssh ==> Хост
Что у меня уже есть:У хоста уже есть удаленная переадресация портов с помощью putty и ssh-подключение к моему vserver. Мне не хватает только переадресации портов, чтобы Клиент, который подключается к vserver с помощью указанных портов, DNAT'ировался к хосту.
Вот что я попробовал на данный момент:Я попробовал добавить listen 1802;
конфигурацию моего сервера nginx, но это не сработало вообще (я думаю, что я пропустил конфигурацию proxy_pass
). Затем я попробовал использовать iptables:
iptables -t nat -A PREROUTING -i -p udp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables -t nat -A PREROUTING -i -p tcp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables-save
Но я не уверен насчет --to-destination
параметра. Кроме того, я опустил -i
значение, так что все интерфейсы используются для записи iptables.
решение1
В моем случае добавление GatewayPorts yes
было /etc/ssh/sshd_config
необходимо. Перезапуска ssh было недостаточно, мне пришлось перезапустить vserver - тогда все заработало. Мне даже не нужны были специальные записи iptables, потому что все порты уже были на ACCEPT.