Ajuda com CARP
-
Pessoal boa tarde,
Configurei 2 pfsenses 2.3.2-RELEASE com CARP, e o sincronismo está funcionando entre eles, o MASTER replica normalmente para o BACKUP, porém eu não pingo nem o IP virtual da LAN nem o da WAN, somente dentro do próprio master eu pingo o IP virtual.
Exemplo.
pfsense01:
WAN: 192.168.0.1/24
LAN: 192.168.1.1/24
SYNC: 192.168.3.1/24
VIP WAN: 192.168.0.3/24
VIP LAN: 192.168.1.3/24pfsense02:
WAN: 192.168.0.2/24
LAN: 192.168.1.2/24
SYNC: 192.168.3.2/24
VIP WAN: 192.168.0.3/24 (recebido via CARP)
VIP LAN: 192.168.1.3/24 (recebido via CARP)As interfaces LAN estão em um switch, e as interfaces SYNC tem um cabo diretamente conectado entre eles.
Os dois pfsense se pingam normalmente via LAN e via WAN.
De uma máquina na mesma LAN, eu pingo os dois pfsense (192.168.1.1 e 192.168.1.2) porém nao pingo o VIP (192.168.1.3).
De dentro do MASTER eu pingo o VIP. Se parar o CARP no MASTER, eu pingo o VIP de dentro do BACKUP.Pensei que poderia ser o switch, mas eu vejo no MASTER que ele recebe arp-request para o IP do VIP mas não responde com arp-reply:
[2.3.2-RELEASE][admin@pfsense01.localdomain]/root: ifconfig bge1
bge1: flags=8943 <up,broadcast,running,promisc,simplex,multicast>metric 0 mtu 1500
options=c009b <rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,vlan_hwtso,linkstate>ether 00:0a:f7:9a:6f:0b
inet6 fe80::20a:f7ff:fe9a:6f0b%bge1 prefixlen 64 scopeid 0x2
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 vhid 1
nd6 options=21 <performnud,auto_linklocal>media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
carp: MASTER vhid 1 advbase 1 advskew 0[2.3.2-RELEASE][admin@pfsense01.localdomain]/root: ping -c 1 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.019 ms–- 192.168.1.3 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.019/0.019/0.019/0.000 ms[2.3.2-RELEASE][admin@pfsense01.localdomain]/root: tcpdump -nn -i bge0 host 192.168.1.3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on bge0, link-type EN10MB (Ethernet), capture size 65535 bytes
21:45:17.575071 ARP, Request who-has 192.168.1.3 tell 192.168.1.4, length 46
21:45:18.592551 ARP, Request who-has 192.168.1.3 tell 192.168.1.4, length 46
21:45:19.594875 ARP, Request who-has 192.168.1.3 tell 192.168.1.4, length 46Alguém pode me dar uma luz onde estou errando?</full-duplex></performnud,auto_linklocal></rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,vlan_hwtso,linkstate></up,broadcast,running,promisc,simplex,multicast>
-
testa um serviço no lugar de testar a comunicação via ping. Coloca o vip como gateway da estação por exemplo e vê se navega.
-
testa um serviço no lugar de testar a comunicação via ping. Coloca o vip como gateway da estação por exemplo e vê se navega.
Vou fazer esse teste mas antes já adianto a pergunta: se a estação não tem o MAC do VIP, como vai mandar pacote pra ele?
-
Vou fazer esse teste mas antes já adianto a pergunta: se a estação não tem o MAC do VIP, como vai mandar pacote pra ele?
monitora com o tcpdump para ver até onde vai (tcpdump -nn -i bge0 arp por exemplo). Na 2.3 o carp mudou bastante. Nas versões anteriores, o pfSense subia uma interface para cada vip.
-
Vou fazer esse teste mas antes já adianto a pergunta: se a estação não tem o MAC do VIP, como vai mandar pacote pra ele?
monitora com o tcpdump para ver até onde vai (tcpdump -nn -i bge0 arp por exemplo). Na 2.3 o carp mudou bastante. Nas versões anteriores, o pfSense subia uma interface para cada vip.
Sim, tinha feito exatamente esse teste.
O pfSense reponde o arp-request, mas a estação não recebe o arp-reply.
Parece então um problema no switch, alguma configuração a ser feita.Muito obrigado!
-
Pra atualizar e caso alguem tenha o mesmo problema:
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/net/2011-10/msg00229.html
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=141023O pfsense responde o arp-reply com o MAC do VIP, mas esse pacote vai com o MAC da interface local.
Com isso, alguns equipamentos ignoram.