Hi,
Cred ca am gasit o solutie rapida si facila pentru ARP static (va mai
amintiti problema, cred: un provider de Internet pe cablu trebuie sa
controleze statiile care au acces la Internet dupa IP, iar adresele MAC
ale statiilor trebuie fixate pe anumite IP-uri).
Dupa o gramada de timp si ezitari[*] am pus mana si am facut teste pe
varianta "dezactivare ARP dinamic pe interfata si instalare lista
permanenta de mapping-uri IP <-> MAC". Deci:
Se presupune situatia: interfata xl0, adresa 10.0.0.1/24, pe care este
conectat cablul catre clienti.
1). Se trece interfata pe care este cablul cu pricina in modul non-ARP:
# ifconfig xl0 -arp
2). Se instaleaza lista de mapari statice MAC <-> IP:
# arp -f /etc/mac-list.txt
unde fisierul /etc/mac-list.txt are forma (din arp(8)):
10.0.0.2 0:60:8:93:44:24
10.0.0.3 0:60:4:a0:32:c0
. . . . . . . . . . . .
3). Se instaleaza pachetul "choparp" din ports/net si se lanseaza in
background:
# choparp xl0 <MAC_xl0> 10.0.0.1 0xffffffff &
unde <MAC_xl0> este adresa MAC de pe interfata xl0 (o gasiti in
output-ul de la 'ifconfig xl0'.
De ce este nevoie de pasul 3 ? Pentru ca odata ce s-a dezactivat ARP
pe interfata, pe linga faptul ca sistemul nu va mai invata MAC-urile
pentru IP-urile clientilor prin retea, nici interfata nu va mai raspunde
la randul ei la cererile ARP ale clientilor. Ori clientii trebuie sa
afle ce adresa MAC are adresa gateway-ului (10.0.0.1), intrebare pe care
o vor pune periodic (datorita timpului de expirare pentru tabelele ARP
de pe statiile clientilor).
Optional se poate face si pasul 4: instalare pachet "arpwatch", care va
monitoriza traficul ARP si va notifica periodic, prin e-mail, ce se
intampla prin tabelele MAC. In situatia noastra n-ar trebui sa se
intample prea multe, dar clientii sunt fie prea inventivi, fie nu prea
destepti... :)
In rezumat, pentru a face permanente setarile, ar fi cam asa:
* in /etc/rc.conf:
ifconfig_xl0="inet 10.0.0.1 netmask 255.255.255.0 -arp"
* in /etc/rc.local:
arp -f /etc/mac-list.txt
choparp xl0 <MAC_xl0> 10.0.0.1 0xffffffff &
[*] Cineva imi spusese la un moment dat ca nu functioneaza si o luasem
de-a buna.
Daca mai testeaza cineva solutia as vrea sa aud de rezultate!
Thanks,
Ady (@rofug.ro)
____________________________________________________________________
| An age is called Dark not because the light fails to shine, but |
| because people refuse to see it. |
| -- James Michener, "Space" |
__________________________________________________________
Send 'unsubscribe rofug' to [EMAIL PROTECTED] to unsubscribe