IPTables перенаправляют 2 раза

Действительно ли это был MSDN или копия VLK Windows? Если так, посмотрите КБ 929826. Короткое:

Измените ключ продукта на Несколько ключей активации (MAK) путем выполнения этих шагов:

  1. Нажмите Кнопку запуска, нажмите All Programs, нажмите Accessories и затем щелкните правой кнопкой по Command Prompt.
  2. Нажмите Run как администратора.

    Если Вам предлагают пароль администратора или подтверждение, введите пароль или обеспечьте подтверждение.

  3. В командной строке введите следующую команду и затем нажмите ENTER:

    slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

    Отметьте В этой команде, xxxxx-xxxxx-xxxxx-xxxxx-xxxxx заполнитель представляет Ваш ключ продукта MAK.

2
задан 22 October 2012 в 15:19
2 ответа

То, что вы пытаетесь сделать, немного сложно реализовать на сетевом уровне, поскольку вам потребуется балансировщик нагрузки уровня 7 (уровень приложения) или проверка пакетов для реализации правил пересылки. Поскольку вы имеете дело с зашифрованным трафиком, вы не можете просто использовать что-то за пределами соединения, потому что он не сможет прочитать зашифрованную часть, где находится нужная вам информация.

Как отметило ЦРУ, SSH включает функции для перенаправить TCP-порты с локального компьютера в удаленную сеть. Раньше я не пытался заставить сервер принудительно перенаправлять порт, поскольку клиент обычно указывает правила перенаправления портов. Вы можете по крайней мере ограничить, какие порты разрешено использовать клиенту, но это по-прежнему требует знаний / настройки со стороны клиента.ruser @ sshserver : / sbin / user_ssh_shell -> ruser @ vserver: / bin / bash

Затем на sshserver создайте файл / bin / user_ssh_shell

#!/bin/sh
ssh -i /path/to/privatekey.rsa ruser@192.168.1.2

и сделайте так, чтобы оболочка пользователя

usermod ruser -s /sbin/user_ssh_shell
1
ответ дан 3 December 2019 в 10:53

Похоже, вы хотите выполнить переадресацию портов.

Вот хорошая ссылка на сайт

Править

Per lain, чтобы мой ответ был более актуальным

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

Итак, в вашем Linux-окне, контролирующем маршрутизацию, добавьте это в свои IPTABLES:

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 22 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -i eth1 -j ACCEPT 

iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22

Примечание: вам не нужно идентифицировать - источник 11.22.33.44 , но гораздо лучше, если вы это сделаете из соображений безопасности. Если люди подключаются с динамического адреса, то, вероятно, лучше этого не делать.

Итак, Показанный мной код IPTABLES принимает входящие запросы на порт 22 и перенаправляет их на 192.168.1.50:22. Итак, если я sshCIA@server.com: 22 , тогда я буду перенаправлен с server.com:22 на внутренний сервер 192.168.1.50.22 .

Вам придется использовать несколько записей для несколько серверов. Так, например, для портов 22-25:

# Port 22
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 22 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -i eth1 -j ACCEPT 
# Port 23
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 23 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 23 -i eth1 -j ACCEPT 
# Port 24
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 24 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 24 -i eth1 -j ACCEPT 
# Port 25
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 25 -j DNAT --to 192.168.1.50:80
iptables -A INPUT -p tcp -m state --state NEW --dport 25 -i eth1 -j ACCEPT 

iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22
iptables -A PREROUTING -t nat -i eth1 -p tcp --source 11.22.33.44 --dport 22 -j DNAT --to 192.168.1.50:22

При этом я также забыл, что вы, вероятно, тоже можете что-то сделать с профилями bash. Это означает, что если конкретный пользователь подключается через SSH, он будет перенаправлен по его профилю, а не по порту подключения. Это избавит от необходимости составлять длинный список правил IPTABLE и переадресации портов.

Для редактирования профиля bash пользователя

vi /home/user/.bash_profile

Добавьте эту строку в конец файла

ssh 192.168.1.50

Итак, какой бы порт вы ни использовали для SSH, все пользователи могут использовать один и тот же порт, и они автоматически перенаправляются из server.com на внутренний сервер 192.168.1.50 и там ' s нет необходимости в беспорядочных конфигурациях IPTABLE или новых приложениях, пока пользователь существует как на сервере маршрутизации, так и на внутреннем сервере (ах).

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

2
ответ дан 3 December 2019 в 10:53

Теги

Похожие вопросы