Каковы преимущества использования нескольких IP-адресов на сервере?


17

С помощью ifconfigя могу настроить несколько IP-адресов на одной сетевой карте . Зачем мне это делать, и как позже я буду использовать несколько адресов, например, как программное обеспечение узнает, какой использовать?

До сих пор я использовал только сетевые интерфейсы с одним IP-адресом.

Ответы:


31

Некоторые (но не все) причины:

  • Для размещения нескольких сайтов SSL, как уже упоминалось
  • Потому что вы можете объединять сервисы с нескольких хостов и вам нужно сохранить адреса
  • Для того, чтобы использовать IP-адрес, который впоследствии можно перенести на другой хост
  • Чтобы компенсировать хост, который не работает в этот момент, добавив его IP-адрес к другому
  • Если у вас есть несколько IP-сетей в одной физической / логической сети / vlan, это предотвратит обмен трафиком через шлюз, ускоряя работу и уменьшая нагрузку.
  • Чтобы настроить устройство с IP-адресом по умолчанию и, следовательно, вам необходимо добавить адрес в той же сети
  • Чтобы использовать разные публичные IP-адреса, чтобы избежать брандмауэров или избежать попадания в черный список в фильтрах спама
  • Чтобы сделать вещи менее очевидными для внешних людей. Например, вы можете запускать apache на IP-адресе 1.2.3.4 и разрешать SSH только на 1.2.3.5. Таким образом, если кто-то попытается атаковать IP-адрес за сайтом, он не найдет работающий SSH.
  • Чтобы запустить один и тот же сервис несколько раз
  • Чтобы использовать разные имена хостов в обратном поиске DNS. Например, если вы подключаетесь с этого хоста к чему-то внешнему и хотите, чтобы вас представляли как два разных имени домена / хоста
  • Чтобы не выявлять общности между сервисами. Например, если вы размещаете site1.example.com и site2.example.org и сопоставляете их с разными IP-адресами вместо использования CNAME, между ними не будет очевидной связи

1
Увеличить количество подключений к одному физическому интерфейсу. См .: stackoverflow.com/questions/410616/…
Homer6

4

В случае веб-сервера это зависит. Если у вас есть несколько виртуальных хостов, то в Apache, например, сервер знает, какой IP-адрес использовать из блока VirtualHost.

 <VirtualHost 10.10.10.1:80>
   ...
 </VirtualHost>

Вы также можете прослушивать VirtualHost на всех доступных интерфейсах, которые в настоящее время прослушивает Apache (например, с помощью директивы Listen. Listen *:80

 <VirtualHost *:80>
   ...
 </VirtualHost>

В случае, если у вас есть несколько сайтов, работающих на сервере, где для нескольких сайтов включена поддержка SSL, хорошо иметь отдельный IP для каждого сайта. Это связано с тем, что сертификаты SSL обмениваются до отправки заголовков HTTP. Если у вас есть несколько vhosts на одном IP, то Apache не будет знать, какой сайт вы пытаетесь получить без заголовка хоста.

Я уверен, что есть много других вариантов использования, это распространенный.


Вы забыли, что SSL больше не имеет значения, и есть способ преодолеть ограничение в TLS;)
0xC0000022L

1

Желательно иметь отдельный ip для отдельных сервисов, тогда, когда вам нужно будет перенести один из сервисов на другое оборудование / место, будет прозрачно для других компонентов.

Некоторые службы используют один и тот же номер порта, поэтому для запуска этих служб на одном сервере требуется несколько ips.

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


Если я использую веб-сервер, как он узнает, какой IP-адрес использовать? Устанавливается ли он для использования основного IP по умолчанию?
Николай Лещов

3
Это настраивается. По умолчанию это Listenили Bindsкаждому IP на хосте.
Фази

1

несколько IP-адресов позволяет вам иметь служебные IP-адреса, другими словами, вы можете сопоставить IP-адрес с конкретной службой, например, в sendmail вы делаете:

DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=192.168.1.25')dnl

и так далее. его можно использовать для высокой доступности, для тестирования и сетевой маршрутизации ^^

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.