Итак, есть машина с linux и 3 сетевыми интерфейсами:
ath0 Link encap:Ethernet HWaddr 00:1B:11:B1:A6:69
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
eth0 Link encap:Ethernet HWaddr 00:02:44:BF:8A:B6 с внешним честным айпи
eth1 Link encap:Ethernet HWaddr 00:19:5B:87:19:F9
inet addr:192.168.0.1 Bcast:192.168.0.255
SNAT all -- 192.168.0.0/24 anywhere to:extip
SNAT all -- 10.0.0.0/24 anywhere to:extip
Естественно включен форвард и т.д. Основная проблема такова:
10:40:36.434726 arp who-has 10.0.0.1 tell 213.109.83.17
10:40:36.434773 arp reply 10.0.0.1 is-at 00:02:44:bf:8a:b6
с какой радости на арп-запрос по 10.0.0.1 моя машина возвращает мак внешнего интерфейса, т.е eth0 00:02:44:BF:8A:B6. И как заставить ее этого не делать? Провайдерскому свичу это не нравится.
Нагугленые рецепты не помогли:
net.ipv4.conf.lo.arp_filter = 1
net.ipv4.conf.all.arp_filter = 1
net.ipv4.conf.default.arp_filter = 1
net.ipv4.conf.wifi0.arp_filter = 1
net.ipv4.conf.eth0.arp_filter = 1
net.ipv4.conf.eth1.arp_filter = 1
net.ipv4.conf.ath0.arp_filter = 1
# cat /proc/sys/net/ipv4/conf/eth0/proxy_arp
0