Na verdade, isso é para um cluster Redis. Tenho 3 IPs mestres e 3 IPs escravos. Preciso produzir 3 pares de endereços IP onde os endereços do par estão em sub-redes /24 diferentes.
Ou em outras palavras, dada uma lista de n
endereços IP ( n
sendo um número par e não mais da metade dos endereços IP estando na mesma /24
sub-rede), como particioná-los em n
pares /2 onde os dois endereços em cada par estão em diferentes sub-redes /24?
Os pares devem ser armazenados como chave e valores de um ip_map
array associativo. Por exemplo, dada uma lista de endereços IP armazenados em um $ips
array:
ips=(
"172.211.91.63"
"172.211.90.61"
"172.211.91.30"
"172.211.90.173"
"172.211.89.233"
"172.211.89.166"
)
O resultado poderia ser:
declare -A ip_map=(
[172.211.91.63]=172.211.90.61
[172.211.91.30]=172.211.89.233
[172.211.90.173]=172.211.89.166
)