Referencia
http://linux.die.net/man/8/arptables
lamentablemente hay pocos ejemplos de arptables en Internet pero es una buena forma de proteger la cahe arp de posibles modificaciones y secuestros de MAC , el siguiente ejemplo es la configuración arptables en un proxy , si se tiene una maquina expuesta al Internet que no esconde una red interna detrás de ella bastara con esta configuración
arptables -P INPUT DROP
arptables -P OUTPUT ACCEPT
estamos rechazando todas las solicitudes arp pero dejamos salir las nuestras, esto nos dará la posibilidad de tener contacto con nuestro proveedor web , pero ya que ahora hablamos de la configuración de un proxy con arptables necesitamos que las solicitudes arp de nuestra LAN interna sean atendidas
eth2=internet (Ip dinámica vía dhcp)
eth1=lan = 210.93.45.0
las dos direcciones de mi proxy son 210.93.45.1 ->LAN
ip publica -> 200.37.113.152 -> en este caso realmente puede variar
en el archivo /etc/resolv.conf tenemos la dirección de nuestros proveedores , si no querer complicarte la vida mirad la cache arp de la maquina proxy apr -v
en mi caso
Dirección TipoHW DirecciónHW Opciones Máscara Interfaz
resolver1.opendns.com (incompleto) eth1
200.37.113.1 ether 00:00:CA:FE:4C:0A C eth2
ubuntu.local (incompleto) eth1
Entradas: 3 Ignoradas: 0 Encontradas: 3↵
en este caso la ip que tenemos es la que nos interesa que vendría a ser nuestro proveedor isp 200.37.113.1 ahora implementaremos las reglas arp vamos a permitir la comunicación de las caches arp de nuestra red y de nuestro proveedor ips estas direcciones las saque de lo que hay en el archivo /etc/resolv.conf es por ello las 4 direcciones diferentes
arptables -A INPUT -i eth1 -s 210.93.45.0 -d 210.93.45.1 -j ACCEPT
arptables -A INPUT -i eth2 -s 200.60.37.2 -j ACCEPT
arptables -A INPUT -i eth2 -s 200.48.211.2 -j ACCEPT
arptables -A INPUT -i eth2 -s 208.67.222.222 -j ACCEPT
arptables -A INPUT -i eth2 -s 200.37.113.1 -j ACCEPT
la primera regla permite la comunicación de la red con el proxy si no se pone de destino la ip estática del proxy podría no funcionar ya que debemos recordar que tenemos 2 ips en el proxy , es recomendable poner la ip que nos salga en el resultado de la invocación al comando arp -v sera la ip que esta atendiéndonos en el momento y las otras direcciones son servidores secundarios bueno una vez hecho esto ya podemos correr nuestro script
que quedara así
#/bin/bash
# este script es bajo licencia GPL
#puedes copiar distribuir y Modificar siempre y cuando no se cambie esta licencia
#julio Cesar Vera Moralesarptables -P INPUT DROP
arptables -P OUTPUT ACCEPTarptables -A INPUT -i eth1 -s 210.93.45.0 -d 210.93.45.1 -j ACCEPT
arptables -A INPUT -i eth2 -s 200.60.37.2 -j ACCEPT
arptables -A INPUT -i eth2 -s 200.48.211.2 -j ACCEPT
arptables -A INPUT -i eth2 -s 208.67.222.222 -j ACCEPT
arptables -A INPUT -i eth2 -s 200.37.113.1 -j ACCEPT
Fueente: http://www.esdebian.org/wiki/pequena-configuracion-proxy-arptables