У меня есть Linux-сервер S с двумя сетевыми картами, одна ('netA') на 192.168.1.x и другая (netB) на 192.168.2.x. NetB подключен Wi-Fi точка-точка с остальной частью NetB.
Чтобы получить карту netB для поиска netA, мне пришлось включить proxyARP на карте netB. Все было хорошо, пока я не попробовал пару программ, которые используют UDP для связи друг с другом (одна на netA, другая на netB).
Похоже, что сервер изменяет исходный IP-адрес приложения на стороне netA на IP-адрес netB. (контролируется удаленно с помощью 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
В результате клиентская программа в сети NetB не распознает отправителя.
На сервере не включен NAT.
Кто-нибудь может вспомнить причину этого перевода IP? И могу ли я на стороне netB определить реальный источник пакетов?