5

У нас разные наборы IP-адресов в одной подсети на одном и том же интерфейсе для разных целей:

192.168.1.201..230 для серверов (все Linux)

192.168.1.1..199 для служб, работающих на этих серверах

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

Существуют некоторые службы, такие как ssh, которые не привязаны к определенному IP, но все "производительные" службы (прокси, DNS, NTP и т.д.) Привязаны к одному конкретному IP (и имени DNS), которое должно быть перемещен на другой сервер, если служба перемещена.

Теперь эта установка не может считаться "лучшей практикой", но до сих пор у нас не было никаких проблем, вызванных этим. Тем не менее, многие люди, с которыми я общаюсь по этому поводу, продолжают говорить, что «это просто вопрос времени, пока в такой обстановке не произойдут очень плохие вещи» - без возможности явно указать, что это может быть. Прямо сейчас мы обсуждаем, должны ли мы изменить настройки в долгосрочной перспективе, что потребует значительных усилий. В основном я ищу аргументы за и против изменения этого.

Так вот в чем вопрос: каких "плохих вещей" можно ожидать при такой настройке? Всегда ли этого можно избежать, делая или воздерживаясь от определенных действий? Есть ли какая-то проблема, которая может быть вызвана, чтобы продемонстрировать проблему и показать необходимость изменения настройки?

3 ответа3

7

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

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

Это не решит вашу проблему (но может уменьшить ее) - вы предоставили то, что кажется произвольными диапазонами IP - вместо этого, почему бы вам не расположить диапазоны в разных сетевых блоках - если пространство не является проблемой, возможно, последовательный класс C на границе /23, или, если проблема в пространстве, 1-190 и 193-254?

3

Пока вы можете связать все (или, по крайней мере, все, что имеет значение) с конкретным адресом, все будет хорошо.

Проблемы начинаются с приложений, которые не могут привязаться к определенному адресу: они выберут один из множества IP-адресов интерфейса в качестве адреса источника, и этот выбор может быть не совсем последовательным. Что может сломать вещи на другом конце.

Это также относится к пакетам, которые по какой-то причине отправляются ядром; они также выберут некоторые из множества исходных адресов.

Также будет иметь значение, если вы начнете делать более сложные сетевые вещи с iptables или tc.

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

1

Нет ничего плохого в наличии нескольких IP-адресов на сервере, и я иногда делаю это сам. Для более сложных установок я комбинирую это с BGP, чтобы можно было запускать несколько экземпляров службы с избыточностью.

Есть только три вещи, которые меня укусили при таких настройках, и одна из них на самом деле не имеет отношения к этому вопросу, так как она больше связана с BGP.

  1. Всегда связывайте адреса, особенно для UDP (например, DNS). Прослушивание 0.0.0.0 или * может вызвать сюрпризы. Если вы хотите прослушивать несколько адресов, часто лучше использовать несколько директив Listen (многие программы поддерживают это)
  2. При использовании BGP, будьте осторожны, чтобы случайно не создать службу anycast, если это не то, что вы намеревались. Пока вы убедитесь, что каждый IP-адрес запрашивается только одним сервером, это не может произойти.
  3. При переключении адресов между серверами обнаружение повторяющихся адресов может помешать серверу настроить адрес, если предыдущий владелец адреса все еще отвечает на него. Я задал вопрос об этом на обмене стека Unix.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .