CARP muda no FreeBSD 10

2

Estou tendo problemas para configurar interfaces de carpas no FreeBSD 10-RELEASE.

A configuração a seguir funciona.

#/boot/loader.conf
carp_load="YES"


#/etc/rc.conf
ifconfig_em1="inet 192.168.1.10 netmask 255.255.255.0"
ifconfig_em2="inet 192.168.2.10 netmask 255.255.255.0"

ifconfig_em1_alias0="vhid 11 advskew 210 pass PASSWORD 192.168.1.11/32"
ifconfig_em1_alias1="vhid 12 advskew 210 pass PASSWORD 192.168.1.12/32"
ifconfig_em1_alias2="vhid 13 advskew 210 pass PASSWORD 192.168.1.13/32"

ifconfig_em2_alias0="vhid 20 advskew 210 pass PASSWORD 192.168.2.20/32"
ifconfig_em2_alias1="vhid 21 advskew 210 pass PASSWORD 192.168.2.21/32"
ifconfig_em2_alias2="vhid 22 advskew 210 pass PASSWORD 192.168.2.22/32"

Estou com problemas com o alias.

Parece que cada alias por interface deve ser numerado começando com 0. Também parece que cada número de alias deve ser seqüencial, ignorando números resultará na interface não sendo criada.

Por exemplo, se eu comentar ifconfig_em1_alias0 , o restante falhará.

Alguém sabe se esta é a implementação pretendida?

    
por Aaron Renoir 13.02.2014 / 02:15

3 respostas

1

Ok, de acordo com a página do manual rc.conf , esta é o comportamento pretendido.

Na seção network_interfaces, ele lê.

For each ifconfig_<interface>_alias<n> entry with an address 
family keyword, its contents are passed to ifconfig(8).  
Execution stops at the first unsuccessful access, 
so if something like this is present:

ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff"
ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff"
ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff"
ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff"

Then note that alias4 would not be added since the search
would stop with the missing ''alias3'' entry. Because of
this difficult to manage behavior, there is ifconfig_<interface>_aliases variable, 
which has the same functionality as ifconfig_<interface>_alias<n>   
    
por 13.02.2014 / 03:41
2

Primeiramente, se você estiver atribuindo vários endereços na mesma sub-rede para a mesma interface, os endereços secundários devem ter a máscara de sub-rede / 32 e serem prefixados com a palavra alias:

ifconfig_em1="inet 38.111.159.78 netmask 192.168.1.10" ifconfig_em2="inet 38.111.159.78 netmask 192.168.2.10"

ifconfig_em1_alias0="vhid 11 advskew 210 passa SENHA PASSWORD 192.168.1.11/32" ifconfig_em1_alias1="vhid 12 advskew 210 passa SENHA PASSWORD 192.168.1.12/32" ifconfig_em1_alias2="vhid 13 advskew 210 pass SENHA PASSWORD 192.168.1.13/32"

ifconfig_em2_alias0="vhid 20 advskew 210 passa SENHA PASSWORD 192.168.2.20/32" ifconfig_em2_alias1="vhid 21 advskew 210 passe SENHA PASSWORD 192.168.2.21/32" ifconfig_em2_alias2="vhid 22 advskew 210 pass SENHA PASSWORD 192.168.2.22/32"

Nota: em uma configuração geral, onde você quer apenas ligar endereços IP e pular as coisas _alias0 _alias1, você pode usar:

ipv4_addrs_em1="192.168.2.20-22 / 24"

Mas isso não funciona quando você precisa indicar um vhid para cada endereço IP.

    
por 13.02.2014 / 03:04
0

Você não precisa usar o aliasN para definir os IPs adicionais, embora eu não saiba ao certo o quão bem ele funcionará para as interfaces de carpas, existe outra sintaxe, conforme listada na man page do rc.conf:                                                 ...Por causa de                  esta difícil gerir o comportamento, não é                  ifconfig_ aliases variável, que tem o mesmo                  funcionalidade como ifconfig _alias e pode ter                  todas as entradas em uma variável como as seguintes:

             ifconfig_ed0_aliases="\
                     inet 127.0.0.251 netmask 0xffffffff \
                     inet 127.0.0.252 netmask 0xffffffff \
                     inet 127.0.0.253 netmask 0xffffffff \
                     inet 127.0.0.254 netmask 0xffffffff"

Esse método permite que você evite ignorar acidentalmente uma interface, pois não é necessário garantir que o aliasN seja incrementado em 1

    
por 29.07.2015 / 00:29

Tags