From: "Anton L. Vinokurov" <anton@inorg.chem.msu.ru>
Date: Tue, 31 Aug 99 16:33:21 +0800
Subject: [FreeBSD] патч который делает arp-таблицу статической
> Появились у нас в конторе шибко умные юзеры.
> Сидя во внутренней сети на IPX+Novell прописывают себе сами IP адрес и
> лазят, черти, в Интернет через прокси сервер. Административные меры
> применить не удается (администрация ..., госконтора).
> Так вот, как бы отрезать им Инет напрочь ? Прокси (Squid), он же роутер
> между двумя физическими сегментами сети (внутр. и внешней), работает на
> FreeBSD. При этом известны МАС-адреса сетевых карт всех юзеров. Как бы
> эффективнее отсекать таких "умников" с учетом того, что они периодически
> меняют себе IP-адреса ?
Есть патч к ядру FreeBSD, который делает arp-таблицу статической. Он внизу.
Соответственно man arp на предмет -f и грузить всю таблицу при загрузке
машины.
Это не спасет от умников, которые на своих машинах перепрошивают MAC-адрес
(для некоторых типов плат это возможно).
--
Anton Vinokurov, ALV-RIPN, ALV9-RIPE, ALV26
anton@inorg.chem.msu.ru ICQ:29041781
-------------------------------
- --- netinet/if_ether.c.orig Wed Mar 17 10:37:34 1999
+++ netinet/if_ether.c Wed Mar 17 11:41:02 1999
@@ -482,6 +482,19 @@
itaddr = myaddr;
goto reply;
}
+#ifdef ARP_PERMNOOVER
+ la = arplookup(isaddr.s_addr, 0, 0);
+ if (la && (rt = la->la_rt))
+ if (!rt->rt_expire) {
+ if ((sdl = SDL(rt->rt_gateway)) && sdl->sdl_alen && +
bcmp((caddr_t)ea->arp_sha, LLADDR(sdl), sdl->sdl_alen)) + log(LOG_ERR,
+ "arp: %6D is using permanent IP address %s of %6Dn", +
ea->arp_sha, ":",
+ inet_ntoa(isaddr), (u_char *)LLADDR(sdl), ":");
+ goto reply;
+ }
+#endif /* ARP_PERMNOOVER */
la = arplookup(isaddr.s_addr, itaddr.s_addr == myaddr.s_addr, 0); if (la
&& (rt = la->la_rt) && (sdl = SDL(rt->rt_gateway))) { if (sdl->sdl_alen &&