Это плохая практика слушать 0.0.0.0? Зачем?

2049
Joao Milasch

Скажем, я хочу развернуть программное обеспечение, которое действует как сервер, и я хочу избежать сценариев, когда меняются интерфейсы, меняются IP-адреса и т. Д.

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

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

Будут ли сетевые администраторы недовольны этим? (У меня сложилось впечатление, что они будут). Если да, то почему?

Надеюсь, что это не вопрос, основанный на мнении, и есть факты, подтверждающие ответы.

4
Я не думаю, что существует объективный ответ на этот вопрос, но у меня не возникло бы никаких проблем с ним, при условии, что у меня была возможность привязаться к определенному интерфейсу, если бы была причина для этого. В ситуации, которую вы описываете, определенно обязательна менее явная привязка. Frank Thomas 8 лет назад 0
Дайте сетевым администраторам возможность выбора IP-адреса для привязки. barlop 8 лет назад 1

2 ответа на вопрос

4
barlop

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

Будут ли сетевые администраторы недовольны этим?

Это было бы плохой практикой, если в этом нет необходимости.

Для некоторых сетей это может быть необходимо. И ты не узнаешь. Это не ваше решение.

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

Добавлено примечание для уточнения

Не вам решать, какой IP-адрес привязать, и не давать администратору сети возможность изменить его (о чем вы говорите). Это нормально, что вы предлагаете дефолт.

не могу сказать, что я согласен. многие базовые службы linux привязываются к 0.0.0.0 по умолчанию, и это абсолютно 100% работа разработчика / упаковщика, чтобы гарантировать, что действительный и широко принятый параметр по умолчанию предоставляется для всех параметров конфигурации, до тех пор, пока администратор не решит переопределить это (например, это не только решение разработчика, это их обязанность сделать это). Frank Thomas 8 лет назад 1
@FrankThomas ответственность за выбор по умолчанию лежит на разработчике (он не может быть кем-то другим), но ответственность за решение без ответственности сетевого администратора не лежит на разработчике. barlop 8 лет назад 0
@ barlop Почему это будет плохой практикой, если не нужно? Это просто основано на том факте, что можно было бы выделить порт на всех интерфейсах и не сделать его доступным для других потенциальных сервисов? Я бы предположил, что наличие разных служб в одних и тех же портах для разных интерфейсов может привести к путанице (по крайней мере для меня) в дальнейшем для диагностики проблем. Joao Milasch 8 лет назад 0
@JoaoMilasch Причина привязки сервера к локальной сети, даже если есть брандмауэр, который может ограничивать соединения. Если брандмауэр не выполняет работу по ограничению доступа к серверу, то те, кто не должен, могли подключиться. Так что это вторая линия обороны. barlop 8 лет назад 0
@JoaoMilasch, и это не значит, что они могут запускать разные / больше серверов с одинаковым номером порта, но с разными интерфейсами, исключительно для сохранения портов. Имеется так много номеров портов 65535, что такой трюк не понадобится, и это может сбить с толку многих и, таким образом, будет считаться плохой практикой. Если в системе было много сетевых карт, и каждая из них должна была работать на отдельном сервере, то запуск этих разных серверов, вероятно, не был бы плохой практикой - это не могло бы сбить с толку, если бы это было ожидаемо или задокументировано. тренируйтесь, если для этого нет причин! barlop 8 лет назад 0
2
tastytea

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

Если у вас есть более активные интерфейсы, например, в подсетях 10.0.0.0/24 и 10.0.1.0/24, и вы хотите, чтобы только люди из подсети 10.0.0.0/24 могли подключаться, вам придется каждый раз перезапускать службу получить новый ip или привязать к 0.0.0.0 и заблокировать трафик с помощью брандмауэра.

Можно утверждать, что во втором случае, если вы связываетесь с 0.0.0.0, вы вводите дополнительную точку возможного сбоя (брандмауэр), но я бы сказал, что риск незначителен.

Я ценю ответ, хотя я понимаю технически. Дискуссия, которую я поднимаю, заключается в том, почему это вообще будет плохой практикой? Joao Milasch 8 лет назад 0
О, я понял это неправильно, извините. Я согласен с Фрэнком Томасом и несемся по этому вопросу. tastytea 8 лет назад 0