Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Linux
ちょっと実運用環境で必要になったので調査。net.ipv4.ip_forward = 1 の環境が前提です。

Kernel 2.2 より前では、netmask と pub flag を付けて arp コマンドを実行すれば良いらしい。
Kernel 2.2 以降では、routable な IP アドレスに対する ARP request であり、かつ、net.ipv4.conf.${DEVICE}.proxy_arp = 1 に設定されている ${DEVICE} からの request であれば、自身のインタフェースの MAC アドレスを使って ARP response が行われるようだ(これ、複数のサーバで設定すると危険ですね)。ちなみに、上の arp + netmask + pub flag を使おうとすると、SIOCSARP: Invalid argument と怒られます(manpage には残ってるので、間違えて使わないように注意)。

読むべきマニュアルは、arp(7), arp(8), route(8)。
実験の際は経路上の switch の arp table に注意しましょう。

Comments

Leave Yours...
Name:
E-mail / URL (optional):
Comment:
Are You Robot?: