Які переваги використання декількох 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 *:80

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

Якщо у вас на сервері працює кілька сайтів, на яких увімкнено декілька сайтів SSL, добре мати окремий IP-адресу для кожного сайту. Це відбувається тому, що сертифікати SSL обмінюються перед надсиланням заголовків HTTP. Якщо у вас на одному IP-адресі декілька vhosts, 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.