порт передачи 80 для нескольких IP-адресов на том же сервере Ubuntu

Я использую сервер Ubuntu 12.10 в качестве маршрутизатора/NAT для внутренней сети к Интернету. Я также настроил сервер к порту передачи 80 к серверу, находящемуся на моей внутренней сети. Это все хорошо работает.

Что я хотел бы сделать, теперь установка дополнительные средства передачи порта к дополнительному порту использования веб-серверов 80 в моей сети. У меня есть несколько других статических интернет-адресов, которые я могу использовать внешне и просто должен установить передачу локальным серверам.

Я знаю, что мог просто создать дополнительные серверы Ubuntu, настроив каждого из них с различными интернет-адресами (а также локальные адреса на 2-м NIC) и настроив перенаправление портов.

Действительно ли это возможно сделать с единственным сервером Ubuntu?

Я попытался добавить больше виртуального NICs к своему единственному серверу Ubuntu, но столкнулся с проблемами маршрутизации, так как все эти дополнительные NICs были на той же интернет-подсети.

Настраивает отдельные серверы человечности для каждого порта вперед, я хочу сделать единственный способ выполнить это?

0
задан 5 February 2013 в 04:04

2 ответа

То, что Вы просите делать, не возможно (что я знаю о) с NAT. Нет действительно никакого пути к iptables для знания, куда отправить, какой трафик и Вы можете портировать вперед только один экземпляр сообщения 80.

Imo является более изящным решением, должен использовать nginx в качестве обратного прокси.

См.:

https://help.ubuntu.com/community/Nginx/ReverseProxy

http://bostinno.com/channels/nginx-as-a-reverse-proxy-with-wordpress/

Это работает хорошо, поскольку nginx является быстрым, легким весом, и можно передать различным серверам на основе URL ;)

Nginx раздает статическое содержание очень быстро, и апач раздает динамический контент (обычно php) очень быстро (см. вторую ссылку).

0
ответ дан 5 February 2013 в 04:04

Если у вас есть определенные внешние ips для определенных внутренних http-серверов, вы можете использовать iptables для NAT на правильный, как этот.

Предположим, у вас есть внутренние http-серверы с ips 10.10.10.2, 10.10.10.3 и 10.10.10.4, и каждый раз, когда внешний ip 50.35.100.10 вызывает порт 80, вы хотите, чтобы он переходил на сервер 10.10.10.2, чтобы вы могли используйте правило DNAT, подобное этому

iptables -t nat -A PREROUTING -i eth0 -s 50.35.100.10 -p tcp --dport 80 -j DNAT --to 10.10.10.2

, и правила сохраняют то же самое для других. Теперь, если у вас нет таких спецификаций, как говорилось в bodhi.zazen, нет способа сделать это только с помощью iptables.

0
ответ дан 5 February 2013 в 04:04

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

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