Eu tenho um servidor linux S, com dois netcards, um ('netA') em 192.168.1.xe o outro (netB) em 192.168.2.x. O netB é conectado por wifi ponto-a-ponto ao resto do netB.
Para obter o cartão netB para encontrar o netA, tive que habilitar o proxyARP no cartão netB. Tudo estava bem até que eu tentei um par de programas que usam UDP para se comunicar uns com os outros (um na netA, outro na netB).
O servidor parece alterar o IP de origem da solicitação de aplicativo do lado da netA para o IP do netB. (monitorado remotamente com o tcpdump):
# On netA's card:
11:42:36.107179 IP 192.168.1.102.4321 > 192.168.2.101.4321: UDP, length 17
# One netB's side:
11:43:02.172829 IP 192.168.2.115.4321 > 192.168.2.101.4321: UDP, length 17
O resultado é que o programa cliente no netB não reconhece o remetente.
Nenhum NAT está ativado no servidor.
Alguém pode pensar em uma causa dessa tradução de IP? E eu, do lado do netB, posso identificar a fonte real do pacote?
Tags networking arp udp