У меня небольшие проблемы, так как я пытаюсь настроить обратный прокси-сервер со вторым сервером. Моя идея состояла в том, чтобы заставить брандмауэр перенаправлять https на обратный прокси-сервер и порт 29418 (gerrit ssh) на второй сервер. Теперь мой знакомый айтишник говорит: НЕ МОГУ! Либо оба порта идут на сервер 1, либо оба порта идут на сервер 2.
>Хорошо, в качестве обходного пути я попытался настроить переадресацию портов на обратном прокси-сервере порта 29418 - server2:29418
Подробности:
IP-адрес сервера 1: 10.0.0.132 и 192.168.10.2 в Ubuntu 12.04.2 LTS
IP-адрес сервера 2: 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 выглядит следующим образом:
root@dev:/root # iptables -t ПРЕДВАРИТЕЛЬНАЯ МАРШРУТИЗАЦИЯ nat -LChain (политика ACCEPT)целевая прибыль opt источник destinationDNAT tcp -- где угодно dev.example.com tcp dpt:29418 to:10.0.0.133 Ввод цепочки (политика ПРИНИМАЕТСЯ)целевая прибыль opt источник назначения Цепочка ВЫВОДА (политика ПРИНИМАЕТСЯ)целевая прибыль opt источник назначения цепочка POSTROUTING (политика ПРИНИМАЕТСЯ)целевая прибыль opt источник destinationroot@dev:/root# cat /proc/sys/net/ipv4/ip_forward1
На случай, если кто-то еще ищет способ, который действительно работает. Хотя @HorsePunchKid прав в своем предложении, я нашел это пошаговое руководство, которое заполняет недостающие шаги:
Приведенная выше команда перенаправляет все подключения к порту 8080 на вашей базовой машине на порт 80 вашей виртуальной машины. Вы можете проверить работу, перейдя на веб-страницу http://192.168.0.10:8080, и он покажет вам веб-страницу на гостевой машине.
Это говорит о том, чтобы отправлять трафик, поступающий на 10.0.0.132 на порт 29418, вместо этого на 10.0.0.133, на тот же порт, перед любой другой маршрутизацией, которую может попытаться выполнить 10.0.0.132. Если вы запустите эту команду и у вас возникнут проблемы с ней, замените флаг -A на -D, чтобы удалить его.
Если вы хотите, чтобы это правило запускалось автоматически при запуске 10.0.0.132, рассмотрите возможность добавления приведенной выше команды в качестве правила "post-up" в /etc/network/interfaces.
В конце концов мне пришлось установить pfSense в качестве маршрутизатора внутри моего сервера ESXi для маршрутизации трафика на разные виртуальные машины, поскольку я не мог заставить его работать в Ubuntu.
Я нахожу this статья полезная. Основная проблема, связанная с включением ipforward в Linux, описана в разделе “Настройка брандмауэра для переадресации порта 80”.