Múltiplos IPs da mesma rede na mesma interface má ideia? Por quê?

5

Temos diferentes conjuntos de IPs na mesma sub-rede na mesma interface para diferentes propósitos:

192.168.1.201..230 são para servidores (todos Linux)

192.168.1.1..199 são para serviços executados nesses servidores

Como consequência, cada servidor tem vários IPs - podem ser dois ou até mais - na mesma interface física. A ideia era poder mover um serviço de um servidor para outro com facilidade.

Existem alguns serviços - como o ssh - que não estão vinculados a um IP específico, mas todos os serviços "produtivos" (proxy, DNS, NTP, etc.) estão vinculados a um IP específico (e nome DNS) que é deveria ser movido para outro servidor se o serviço for movido.

Agora, essa configuração pode não ser considerada "melhor prática", mas até agora não tivemos nenhum problema causado por isso. No entanto, muitas pessoas com quem falo sobre isso continuam dizendo que "é apenas uma questão de tempo até que coisas muito ruins aconteçam em tal configuração" - sem ser possível declarar explicitamente o que isso poderia ser. No momento, estamos discutindo se devemos mudar a configuração a longo prazo, o que exigiria uma quantidade significativa de esforço. Basicamente, estou procurando argumentos a favor e contra a mudança.

Então, essa é a pergunta: que "coisas ruins" podem ser esperadas em tal configuração? É algo que sempre pode ser evitado fazendo ou evitando fazer certas coisas? Existe algum problema que pode ser "desencadeado" para demonstrar o problema e mostrar a necessidade de alterar a configuração?

    
por Thomas 16.07.2018 / 10:15

3 respostas

7

Como outras pessoas adicionaram, isso funcionará bem, desde que os serviços vinculem-se a todos os endereços OP e você não será originário de solicitações desses servidores que precisem ser vistas de um endereço específico.

Dependendo da natureza dos serviços, talvez você também queira considerar as implicações de segurança / firewall de sua configuração de rede, particularmente a maior complexidade dos firewalls exigidos e o aumento do risco de ataques / propagação comprometida lateralmente.

Ele não resolverá seu problema (mas poderá reduzi-lo) - você forneceu o que parece ser intervalos IP arbitrários - em vez disso, por que você não organiza os intervalos em diferentes netblocks - se o espaço não for um problema, talvez classe C seqüencial em um limite / 23, ou se o espaço é um problema, 1-190 e 193-254?

    
por 16.07.2018 / 11:36
3

Desde que você possa vincular tudo (ou pelo menos tudo o que é importante) a um endereço específico, tudo bem.

Os problemas começam com aplicativos que não podem se vincular a um endereço específico: eles escolherão um dos muitos IPs na interface como endereço de origem, e essa escolha pode não ser particularmente consistente. Que pode quebrar as coisas do outro lado.

Isso também se aplica aos pacotes que são enviados pelo kernel por algum motivo; eles também escolherão alguns dos muitos endereços de origem.

Também será importante se você começar a fazer coisas de rede mais complicadas com iptables ou tc.

Se nada disso se aplicar ao seu servidor, você ficará bem. Se tudo isso começar a se materializar, você sempre poderá adicionar um namespace de rede (para todos os seus serviços ou para coisas que não podem ser vinculadas e devem ser garantidas para usar o endereço "principal" único do servidor).

    
por 16.07.2018 / 10:57
1

Não há nada de errado em ter vários endereços IP em um servidor, e ocasionalmente faço isso sozinho. Para configurações mais avançadas, eu combino isso com o BGP para que eu possa executar várias instâncias de um serviço com redundância.

Existem apenas três coisas que me morderam com configurações como essa, e uma delas não é realmente relevante para esta questão, pois é mais relacionada ao BGP.

  1. Sempre liga os endereços, especialmente para o UDP (como o DNS). Ouvir 0.0.0.0 ou * pode causar surpresas. Se você quiser ouvir em vários endereços, geralmente é melhor usar várias diretivas Listen (muito software suporta isso)
  2. Ao usar o BGP, tenha cuidado para não criar acidentalmente um serviço anycast se não for esse o seu propósito. Contanto que você tenha certeza de que cada endereço IP seja reivindicado por apenas um servidor, isso não pode acontecer.
  3. Ao alternar endereços entre servidores, a Detecção de Endereços Duplicados pode impedir que um servidor configure um endereço se o proprietário anterior do endereço ainda responder nele. Fiz uma pergunta sobre esse na pilha Unix troca .
por 16.07.2018 / 15:00