Простая переадресация портов

У меня небольшие проблемы, когда я пытаюсь настроить обратный прокси-сервер и второй сервер. Моя идея состояла в том, чтобы заставить брандмауэр пересылать https на обратный прокси-сервер и порт 29418 (gerrit ssh) на второй сервер. Теперь мой сотрудник IT говорит: НЕ МОЖЕТ! Либо оба порта идут на сервер 1, либо оба порта идут на сервер 2.

Хорошо, в качестве обходного пути я попытался настроить переадресацию портов на обратном прокси-сервере порта 29418 -> server2: 29418

Подробности:

  • Server1 IP: 10.0. 0.132 и 192.168.10.2 в Ubuntu 12.04.2 LTS
  • Server2 IP: 10.0.0.133 и 192.168.10.3 в Ubuntu 12.04.2 LTS

Теперь и HTTPS, и порт 29418 отправляются из брандмауэр до 10.0.0.132, ИТ говорит, что это единственный выход. : (

Так скажите, пожалуйста, как переадресовать с 10.0.0.132:29418 -> 192.168.10.3:29418 или 10.0.0.133:29418

Когда я работаю над 10.0.0.132, я может подключаться как к 10.0.0.133:29418, так и к 192.168.10.3:29418, поэтому порты открыты.

- Обновление -

Мой iptables -t nat -L выглядит так: [ 1110]

root@dev:/root# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             dev.example.com       tcp dpt:29418 to:10.0.0.133

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
root@dev:/root# cat /proc/sys/net/ipv4/ip_forward
1
17
задан 15 July 2013 в 06:51

4 ответа

В случае, если кто-то еще ищет способ, который действительно работает. Хотя @HorsePunchKid прав в своем предложении, я нашел это пошаговое руководство, которое заполняет пропущенные шаги:

http://www.debuntu.org/how-to-redirecting-network-traffic -to-a-new-ip-using-iptables /

По сути:

Включить IP-пересылку:

sysctl net.ipv4.ip_forward=1

Добавить правило переадресации (использовать nnnn: port):

iptables -t nat -A PREROUTING -p tcp -d 10.0.0.132 --dport 29418 -j DNAT --to-destination 10.0.0.133:29418

Попросите IPtables Маскарад:

iptables -t nat -A POSTROUTING -j MASQUERADE

И это все! В любом случае у меня это сработало :)

0
ответ дан 15 July 2013 в 06:51

Если у вас установлен iptables на 10.0.0.132, я думаю, что это будет довольно просто:

iptables -t nat -A PREROUTING -j DNAT -d 10.0.0.132 -p tcp --dport 29418 --to 10.0.0.133

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

Если вы хотите, чтобы это правило запускалось автоматически при запуске 10.0.0.132, рассмотрите возможность добавления вышеупомянутой команды в качестве правила «post-up» в /etc/network/interfaces.

0
ответ дан 15 July 2013 в 06:51

Если кто-то ищет временный метод, попробуйте следующее решение.

    ssh -L 192.168.0.10:8080:10.0.0.10:80 root@10.0.0.10

Приведенная выше команда перенаправляет все соединения с порта 8080 на вашей базовой машине на порт 80 вашей виртуальной машины. Вы можете проверить работу, зайдя на веб-страницу http://192.168.0.10:8080 , и она покажет вам веб-страницу на гостевой машине.

Это относится ко всем портам:)

0
ответ дан 15 July 2013 в 06:51

В конце концов мне пришлось установить pfSense в качестве маршрутизатора внутри моего сервера ESXi для маршрутизации трафика на разные виртуальные машины, поскольку я не мог заставить его работать в Ubuntu.

0
ответ дан 15 July 2013 в 06:51
  • 1
    Спасибо!! это походит как хорошая начальная точка. До того, что я пытаюсь выполнить. Я хотел бы создать зашифрованный FS, который я могу интегрировать с Ubuntu и другими вариантами. Я буду делать его открытым исходным кодом. Примечание стороны: Я не выполнил ни в каком ASM, программирующем некоторое время, таким образом, я надеюсь, что мой C/C++ будет достаточен. – Nathaniel Wilson 20 November 2014 в 16:44
  • 2
    Спасибо!! это походит как хорошая начальная точка. До того, что я пытаюсь выполнить. Я хотел бы создать зашифрованный FS, который я могу интегрировать с Ubuntu и другими вариантами. Я буду делать его открытым исходным кодом. Примечание стороны: Я не выполнил ни в каком ASM, программирующем некоторое время, таким образом, я надеюсь, что мой C/C++ будет достаточен. – Nathaniel Wilson 20 November 2014 в 16:44
  • 3
    Спасибо!! это походит как хорошая начальная точка. До того, что я пытаюсь выполнить. Я хотел бы создать зашифрованный FS, который я могу интегрировать с Ubuntu и другими вариантами. Я буду делать его открытым исходным кодом. Примечание стороны: Я не выполнил ни в каком ASM, программирующем некоторое время, таким образом, я надеюсь, что мой C/C++ будет достаточен. – Nathaniel Wilson 20 November 2014 в 16:44
  • 4
    Спасибо!! это походит как хорошая начальная точка. До того, что я пытаюсь выполнить. Я хотел бы создать зашифрованный FS, который я могу интегрировать с Ubuntu и другими вариантами. Я буду делать его открытым исходным кодом. Примечание стороны: Я не выполнил ни в каком ASM, программирующем некоторое время, таким образом, я надеюсь, что мой C/C++ будет достаточен. – Nathaniel Wilson 20 November 2014 в 16:44
  • 5
    Спасибо!! это походит как хорошая начальная точка. До того, что я пытаюсь выполнить. Я хотел бы создать зашифрованный FS, который я могу интегрировать с Ubuntu и другими вариантами. Я буду делать его открытым исходным кодом. Примечание стороны: Я не выполнил ни в каком ASM, программирующем некоторое время, таким образом, я надеюсь, что мой C/C++ будет достаточен. – Nathaniel Wilson 20 November 2014 в 16:44
  • 6
    Спасибо!! это походит как хорошая начальная точка. До того, что я пытаюсь выполнить. Я хотел бы создать зашифрованный FS, который я могу интегрировать с Ubuntu и другими вариантами. Я буду делать его открытым исходным кодом. Примечание стороны: Я не выполнил ни в каком ASM, программирующем некоторое время, таким образом, я надеюсь, что мой C/C++ будет достаточен. – Nathaniel Wilson 20 November 2014 в 16:44

Другие вопросы по тегам:

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