Re: ARP-Filter unter FreeBSD

From: Bjoern Engels <bj(at)0x20.net>
Date: Thu, 15 Nov 2007 15:10:41 +0100

On Thu, Nov 15, 2007 at 02:40:08PM +0100, Bernd Walter wrote:
> On Thu, Nov 15, 2007 at 01:17:18PM +0100, Bjoern Engels wrote:
> > ich bin derzeit auf der Suche nach Moeglichkeiten, unter FreeBSD 6.2
> > eingehende ARP-Requests zu filtern. Hintergrund ist, dass auf einem Set
> > von Maschinen, die hinter einem Loadbalancer stehen, ein und die selbe
> > IP-Adresse gebunden sein soll, ARP-Anfragen nach dieser Adresse darf
> > aber keine Maschine aus diesem Set beantworten.
> > Unter Linux kenne ich mehrere Moeglichkeiten, z.B. spezielle
> > Kernelpatches, sysctl-Setzungen, oder arptables. Gibt es unter FreeBSD
> > aehnliche Moeglichkeiten dazu? Meine eigenen Recherchen dazu waren
> > bisher leider ergebnislos.
>
> Klingt gebastelt, was mich bei Linux nicht mal wundert.
> Normalerweise legt man derartige IPs einfach aufs Loopback der
> Maschinen, also nicht aufs LAN und das Problem existiert gar nicht
> erst.

Gebastel war es einmal, bevor entsprechende Features in den Kernel
aufgenommen wurden. Aktuell ist die Moeglichkeit, arptables zu nutzen,
von Gebastel kann man da nicht sprechen.
Die Adressen auf's Loopback zu binden und fuer das Loopback-Interface
das no-ARP-Flag zu setzen ist die Version, die ich von SuSE
Enterprise-Linux kenne. Ich weiss nicht, ob die das selbst reingepatcht
haben, oder ob das ein Standard-Feature der eingesetzten Kernel-Version
ist. Dass FreeBSD ARP-Anfragen auf an's Loopback-Interface gebundene
Adressen nicht beantwortet, wusste ich nicht. Habe es gerade
ausprobiert, das sollte eigentlich genau das sein, wonach ich gesucht
habe. Danke :)
 
> Mal abgesehen davon verstehe ich nicht mal was du damit erreichen
> willst.
> Wenn der Loadbalancer davon ausgeht, dass die gleich IP mehrfach auf
> dem LAN existiert, warum sollte er dann erst auf die Idee kommen dafür
> ARP-Requests zu senden?
> Jeder Zugriff würde doch dann zwangsläufig in Timeouts landen und ist
> eh nicht zu gebrauchen.
> Du tauscht nur ein Symptom gegen ein anderes aus.

Nein, das Ganze funktioniert hier auf einigen High-Traffic-Sites
wunderbar. Es ist auch nicht der Loadbalancer, der die ARP-Requests
senden wuerde, sondern der Router des entsprechenden Netzes.
Diese duerfen nur vom Loadbalancer beantwortet werden, nicht von den
Realservern. (Loadbalancer UND Realserver haben die zu balancende
Adresse gebunden.) Sinn und Zweck der ganzen Aktion ist, dass man sich
sparen kann, auf dem Loadbalancer NAT oder einen Proxy nutzen zu
muessen, und dass der "Rueckweg" des Traffics nicht mehr ueber den
Loadbalancer gehen muss, sondern direkt an den anfragenden Client
geschickt wird. Falls es Dich interessiert, hier
http://www.lvserver.de/german/VS-DRouting.html gibt es eine
Beschreibung, die zwar alt ist, den Kern der Sache aber genau trifft.
(Ab "How to build the kernel" ist der Artikel veraltet.)

-- 
Viele Gruesse // Best regards
Bjoern Engels
                                                                    :wq!
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 15 Nov 2007 - 15:12:10 CET

search this site