Bardzo prosto możesz przerobić pole info dla każdego komputera.
U mnie jest tak, że jeśli pole chkmac jest zaznaczone to oba adresy brane są z pola MAC, natomiast jeśli chkmac jej odznaczone, to do ethers leci sobie MAC z pola info. Do DHCP zawsze leci MAC z pola MAC. Jeśli nie ma MAC w polu info, to działa dynamiczny ARP.
No i dzięki temu wszystkie MACi są unikalne i nie muszę wyłączać sprawdzania unikalności przez LMS.
--
Przykładowy skrypt do generowania ethers + komentarze:
# jeśli są zdefiniowani klienci
{if (number(NODES))
# wykonuj pętlę od zera do ilości klientów - 1 for (i=0; i<number(NODES); i++)
# jeśli zaznaczono pole chkmac if (number(NODES[i].chkmac))
# generuj taką linię w pliku ethers NODES[i].mac"\t"NODES[i].ip"\n"
# w przeciwnym razie else
# pobierz ciąg znaków z pola info, aż do śrenika (który nie musi występować, a oddziela MAC od pozostałych informacji) mac = explode(";", NODES[i].info)[0]
# jeśli coś pobrałeś if (mac)
# usuń spacje mac = replace(" ", "", mac)
# zmień kreski na dwukropki mac = replace("-", ":", mac)
# testuj czy jest to poprawny adres MAC test = explode(":", mac)
# jeśli długość jest odpowiednia i ilość dwukropków if (len(mac)==17 && number(test)==6)
# zrób wpis w ethers mac"\t"NODES[i].ip"\n" /if /if /if /for /if}
-- Bez komentarzy:
{if (number(NODES)) for (i=0; i<number(NODES); i++) if (number(NODES[i].chkmac)) NODES[i].mac"\t"NODES[i].ip"\n" else mac = explode(";", NODES[i].info)[0] if (mac) mac = replace(" ", "", mac) mac = replace("-", ":", mac) test = explode(":", mac) if (len(mac)==17 && number(test)==6) mac"\t"NODES[i].ip"\n" /if /if /if /for /if}
!DSPAM:487f1fe6208821402712270!