Есть выданный провайдером внешний IP (x.x.x.x), который как бы отдан локальному компу (через DNAT). Особенность заключается в том, что маршрут к этому IP со стороны провайдера прописан не через шлюз, а напрямую.
Поэтому при попытке переслать пакеты на этот IP, шлюз провайдера шлёт ARP-запрос "IP x.x.x.x, скажи свой MAC-адрес" в сторону моего шлюза.
На что мой шлюз должен ответить своим MAC-адресом и принять пакет.
И проблема как раз в том, что он почему-то этого не делает, не шлёт ARP-ответов.
Пробовал делать так:
arp -Ds x.x.x.x eth1 pub
sysctl net.ipv4.conf.eth1.proxy_arp=1
eth1 - карточка, смотрящая в сторону провайдера.
Запускаю "tcpdump -ni eth1 arp" и вижу одни ARP-запросы для x.x.x.x, ответов - ноль.
Ядро 2.4.31, ARP на интерфейсе не запрещен.
Пробовал сделать аналогичное (для теста) на своей рабочей тачиле (ядро 2.6.19.2) - результат тот же.
Раньше такое на этом же шлюзе, на этом же ядре заводилось с полпинка... Мой мозг уже сломался: в упор не понимаю в чем может быть проблема. Google тоже ничем не помог. Есть у кого-нибудь какие-нибудь мысли ?