Вопрос: Как несколько веб-серверов и IP-адресов в одной физической сети


Я делаю веб-разработку из небольшого офиса и должен иметь несколько физических и виртуальных серверов, к которым можно получить доступ из Интернета. У меня также есть несколько устройств (компьютеры, ноутбуки, планшеты, принтеры и т. Д.), Которые также нуждаются в соединениях. Я получил подсеть из 8 IP-адресов от своего интернет-провайдера, и хотя это достаточно для веб-серверов, это слишком мало для всего, что требует доступа к сети.

Мой маршрутизатор - это ASUS RT-N16, работающий с DD-WRT. Я достаточно умен, чтобы эта тема маршрутизации была опасной, подумайте, что 2 года с волшебным маркером. Я хотел бы сохранить свою внутреннюю сеть NAT в сети 192.168.x.x и маршрутизировать трафик 68.69.x.x 255.255.255.248 непосредственно на серверы. Физическая сеть состоит из 4-портового маршрутизатора DD-WRT и неуправляемого коммутатора. У меня есть волоконная связь с офисом, который работает как порт Ethernet. Другими словами, я могу подключить свой ноутбук непосредственно к нему и получить доступ к Интернету. Нет логина или пароля, и маршрутизатор настроен для получения DHCP от интернет-провайдера и для предоставления адресов DHCP для внутренней сети.

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

Мои вопросы:

  1. Это лучший способ настроить сеть?

  2. Как ты делаешь это? Сети VLAN? Несколько маршрутизаторов?

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


6
2017-10-31 18:42


Источник


Ваш ISP почти наверняка ожидает, что вы статически назначаете второй IP-адрес из этого диапазона на боковой интерфейс WAN вашего маршрутизатора. Первым адресом будет адрес шлюза в интернет-провайдере. Для остальных шести адресов они ожидают, что вы настроите один-на-один NAT на своем маршрутизаторе. - Zoredache
То, что вы говорите, имеет смысл, но я не знаю, как это сделать на самом деле. В качестве дополнительной информации провайдер предоставил мне один статический IP-адрес, который указывает на маршрутизатор и может использоваться для переадресации портов, и сеть xx.xx.xx.16, xx.xx.xx.17 gateway, xx.xx.xx .18-22 usable, xx.xx.xx.23 broadcast, 255.255.255.248 маска подсети. - jsigned


Ответы:


Прежде всего, этот вопрос будет лучше отвечать на Serverfault.com, поскольку он ориентирован на бизнес-среду, а не на вопросы, связанные с отдельными пользователями. Хотя некоторые из них обсуждаются. В качестве альтернативы вам понадобится либо найти консультанта сетевого инженера для его разработки, либо выполнить целую кучу чтения в области IP-маршрутизации и маршрутизации vlan.

Вы можете сделать это несколько разных способов в зависимости от вашего бюджета, но я бы рассмотрел решение cisco, для того, чтобы иметь маршрутизируемые vlans и IP NAT (Network Address Translation). В этом случае у вас будет несколько Vlans, работающих на коммутаторе Cisco (может использовать коммутатор уровня 2 и ваш маршрутизатор маршрутизирует vlans или уровень 3 для вас), а маршрутизатор Cisco, обслуживающий NAT для всех ваших внешних IP-адресов на ваши внутренние адреса и Vlans. При настройке IP-маршрутизации на маршрутизаторах CIsco вы ограничиваете доступ, настраивая acls и отправляете на vlan с помощью меток dot1q.

Вот пример дизайна:

1-2 Открытый IP-адрес, назначенный частным IP-адресам Vlan 2 (ноутбуки, планшеты и т. Д.) 1-2 Публичный IP-адрес, назначенный для 3-го этапа vlan (среда тестового тестирования) 2-6 Публичные IP-адреса, связанные с веб-серверами vlan 4

Удачи..


1
2017-11-01 23:05



Я попробую в Serverfault Спасибо - jsigned
Быстрое наблюдение: также рассмотрите, как пострадают ваши IP-адреса в сети, когда ваш IPv6 будет представлен вашим провайдером. - onxx


Назначьте один статический адрес шлюзу, NAT - все остальное и запустите каждый веб-сервер на другом порту. Настройте маршрутизатор для перенаправления соответствующих портов (80) на каждый локальный IP-адрес серверов.


0
2017-10-31 20:20



Я уже давно использую переадресацию портов. Пока есть только одно физическое / виртуальное устройство, оно работает нормально. Но я хотел бы дать своим клиентам иллюзию, что я знаю, что я делаю. Говорить им, чтобы они отправились на свой сайт_messed_up_website.com:6666, не помогают <lol> Правда, один клиент хочет использовать сервер Windows, другой - устаревший код, который не будет работать на исправленном хосте, и у меня есть мои серверы. Множество IP-адресов - это путь. Если я смогу понять, как это сделать. - jsigned
так как это работает, когда site1.com размещается на сервере1 и site2 размещен на сервере2. И site1, и site2 будут использовать порт 80. Часть того, что я делаю, это хост-сайты для клиентов, они, по понятным причинам, не захотят рекламировать свой сайт с назначением порта. - jsigned
Да, приведенная выше конфигурация требует ввода двоеточия с номером порта, добавленным к URL-адресу, который, как вы сказали, нежелателен для большинства. Существует способ, которым вы можете заставить это работать, но требует, чтобы внутренний прокси-сервер принимал HTTP-запросы и локальный DNS-сервер, который он может запрашивать, чтобы самостоятельно разрешать ваши веб-серверы. Ознакомьтесь с этой статьей. jansipke.nl/multiple-webservers-behind-one-ip-address - Scandalist


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

По сути, внешние DNS-запросы отправляются на ваши внутренние DNS-серверы в вашей сети. Как только это произойдет, браузеры будут отправлять HTTP-запросы через NAT-шлюз только для перехвата обратным прокси-сервером, который затем анализирует домен из заголовков, самостоятельно решает связанные имена и перенаправляет запрос на правильный сервер.


0
2017-11-02 00:23



он имеет 6 общедоступных IP-адресов для использования. - Segfault


Учитывая то, что я вижу здесь, есть несколько вещей:

  • Port-forward статический IP-порт-80 для тех серверов, которые un_messed_up достаточно, чтобы гарантировать это.
  • Для случайного доступа к внутреннему устройству любой из ваших статических IP-адресов можно использовать в качестве IP-исходящего IP-адреса. Лучше всего зарезервировать один IP-адрес только для целей репутации IP, но с только 6 используемыми IP-адресами для работы, это может быть неразумно.
  • Для специальных снежинок вы можете получить довольно HAProxy конфиги. Вы можете настроить правила на основе имени сервера (это предполагает, что SSL не задействован), которые затем направляются на настроенные серверы на основе этого имени. Kinda, как vhosts, но обрабатывается на уровне Proxy, а не на самом веб-сервере.

Замечание: вот почему IPv6 будущее, эта проблема вроде бы уходит. Но это не поможет вам сейчас (если, конечно, у ваших клиентов нет поддержки v6).

Ваша конфигурация выглядит довольно нормально для небольшой настройки офиса.


0
2017-11-14 03:33