O / etc / hosts não suporta round robin, mas você pode escrever um script bash simples para substituir uma entrada marcada com um comentário #RoundRobin (ou qualquer outra tag que você deseja usar, basta refleti-la na linha grep do script) .
#!/bin/bash
fqdnips=( $(nslookup sub.domain.com|grep Address:|awk -F\ '{ print $2 }'|grep -v '#') )
new=`printf "${fqdnips[@]}"`
old=`grep "#RoundRobin" /etc/hosts|awk -F\ '{ print $1 }'`
sed -i "s/$old/$new/g" /etc/hosts
O script acima pega a saída do nslookup para sub.domain.com e a armazena em uma matriz. Em seguida, imprime o valor mais alto em $ new e pega o valor existente para a tag #RoundRobin atribuída em / etc / hosts ... por fim, executa uma substituição sed
A entrada do arquivo / etc / hosts ficaria assim
127.0.0.1 localhost
::1 localhost
11.12.13.14 sub.domain.com #RoundRobin
Por fim, coloque esse script no crontab da raiz para executar a cada hora mais ou menos e agora você terá um round-robin / etc / host.
Isso é particularmente útil se você tiver uma página codificada que está obtendo alguns dados de uma API e a pesquisa DNS do servidor da API estiver causando muito tempo de espera na execução do script da página ... resultando em alto consumo de CPU para o que de outra forma parece ser uma página simples. Para evitar a dispendiosa pesquisa de DNS (principalmente se o seu site faz centenas deles por minuto para tráfego pesado), você deve usar o / etc / hosts para resolver o FQDN do servidor remoto da API. Isso reduzirá drasticamente o uso da CPU para extrair os dados da API e gerar a página.