# [iptables]Filtrado de maquinas en red (Open)

## Eleazar Anzola

Buenas estimados,

Tiempo sin postear, pero no sin leer a diario  :Razz: 

El problema que se me presenta es el siguiente, tengo a cargo un par de redes donde hasta no hace mucho tiempo no era imprescindible establecer quien podia ó no hacer algunas cosas, entre ellas navegar en la web, usar p2p, impresoras, etc.

Por algún motivo en el tiempo y el camino la gerencia ha tomado la determinación de dar solo acceso a unas pocas maquinas y aquí es donde comienza Cristo a padecer y viene el dilema. Hay que hacerlo con guantes de seda, ya que no se quiere entrar en discusión con los afectados, por lo que han solicitado haga un filtrado de las que pueden acceder mediante MAC, esto debido a que el server usa dhcp para todos.

Ya he visto con iptables que le puedo decir esta MAC  pasa y esta no, pero con las reglas actuales como están en el Guía de enrutamiento doméstico aunque especifique las MAC también todo lo demás pasa.

¿Como seria la regla que indica estas MACs pasan y el resto  no aunque tengan ip asignada dentro del rango de la red?

Se penso en un router, pero alli estoy limitado por la cantidad de MACs que puedo filtrar y permitir, que pudieran llegar a ser unas 30 ó 45.

Tambien me he visto tentado con ZeroShell, pero me encanta Gentoo por lo que preferiria ajustarlo y colocarlo lo más similar a ZeroShell, con su administrador web ¿Alguien lo ha hecho ó tiene idea de como hacerlo?

Gracias de antemano por cualquier luz ó ayuda que pudieran prestar.

----------

## ZaPa

Hola.

Como tu bien dices, iptables permite establecer reglas de concordancia de direcciones fisicas de ethernet (MAC) gracias al modulo adicional mac.

(Se puede cargar haciendo: -m mac)

Estableciendo esta regla:

```

$INTERFAZLAN=eth0

$MAC=00:11:22:33:44:55

iptables -t filter -A INPUT -i $INTERFAZLAN -m mac --mac-source $MAC -j DROP

```

Con esta regla. Le decimos a iptables que haga un DROP (eliminación del paquete sin aviso) a la mac 00:11:22:33:44:55...

¿Como podemos revertir esto? Muy fácil  :Very Happy: ... Sería utilizando el caracter (!)...

Podriamos construir esta nueva regla, para que SOLO TENGA ACCESO A LA RED LA MAC LISTADA...

```

$INTERFAZLAN=eth0

$MAC=00:11:22:33:44:55

iptables -t filter -A INPUT -i $INTERFAZLAN -m mac --mac-source ! $MAC -j DROP

```

En este caso ya le estamos indicando totalmente lo contrario...

Haz un DROP a los paquetes cuya mac NO SEA 00:11:22:33:44:55 .

Con esto CREO que resolveria tu problema.

IMPORTANTISIMO!!: Para poder ofrecer esta concordancia a iptables. Se debe tener configurado el kernel con CONFIG_IP_NF_MATCH_MAC activado.

Un saludo.

----------

