Помогите разобраться с ARP-балансировкой.
Балансирую два роутера FreeBSD_8.2, на каждом поднимаю по два CARP интерфейса с одним общим ip (192.168.1.10/16) но разными vhid, и разумеется включаю net.inet.carp.arpbalance=1 и net.inet.carp.preempt=1:routerA:
ifconfig_em0="inet 192.168.1.2 netmask 255.255.0.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass testpass 192.168.1.10/16"
cloned_interfaces="carp1"
ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.10/16"
routerB:
ifconfig_em0="inet 192.168.1.3 netmask 255.255.0.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.10/16"
cloned_interfaces="carp1"
ifconfig_carp1="vhid 2 pass testpass 192.168.1.10/16"
Все делаю по man'y!
И вот что получается:
routerA# ifconfig
carp1: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
inet 192.168.1.10 netmask 0xffff0000
carp: BACKUP vhid 1 advbase 1 advskew 100
routerB# ifconfig
carp1: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
inet 192.168.1.10 netmask 0xffff0000
carp: MASTER vhid 1 advbase 1 advskew 0
Поднимается только по одному carp, на роутере A - бэкап, на B - мастер, и в итоге весь трафик обрабатывает только роутер B, хотя отказоустойчивость работает - вырубаю B, сразу же включается A.
Я так понимаю что для балансировки нужно чтобы на роутере А должен быть один carp - мастер (с vhid 1), а другой carp - бэкап (c vhid2); а на роутере B одни carp - бэкап (с vhid1), а другой carp - мастер (c vhid2)... тогда и будет балансироваться!
Может я что-то не допонимаю? Кто с carp'ом имел дело, поясните что сделал не так, пожалуйста?