Amarrar ip ao mac

1. Amarrar ip ao mac

Cesar Augusto Casett
cesarnt

(usa Debian)

Enviado em 01/02/2017 - 21:16h

Boa noite pessoal, sou novo no linux e muito novo no quesito firewall, queria saber se tem um jeito de amarrar o ip ao mac com um firewall e squid funcionando juntos. Tem alguma maneira de fazer isso sem ter que criar uma regra para cada mac, algo que faça automatico? Se não tiver qual melhor jeito de fazer?


  


2. Eu utilizo assim

Anderson Souza
Dersaooo

(usa CentOS)

Enviado em 18/04/2017 - 17:46h

Crie um arquivo com os macs e ip que deseja liberar, da seguinte forma:
Cada linha deve ser 1 computador da rede

A letra (a) indica que o computador que está com esse status liberado, se for (b) estará bloqueado e se for (c) bloqueará toda tipo de conexão originado, destinado e redirecionado para o ip correspondente. O nome o computador não irá importar para o script de firewall, só serve para organizar melhor a nossa lista.


a;192.168.253.2;00:0E:A6:8E:1F:F2;home
a;192.168.253.3;00:0F:EA:2A:E0:36;teste




MACLIST="/etc/configuracao_personalizada/macsliberadosfirewall"

#amarrar ip ao mac
for i in `cat $MACLIST`; do
#aqui cada linha do maclist é atribuída de cada vez

STATUS=`echo $i | cut -d ';' -f 1`
#o comando echo exibe o conteúdo da variável e o pipe "|" repassa a saída para outro comando,
# o cut por sua vez reparte cada linha em pedaços onde o delimitador (-d) é o ';' no parâmetro
#-f imprime na tela conteúdo da 1º coluna (status), a saída deste é enviada para STATUS;

IPSOURCE=`echo $i | cut -d ';' -f 2`
MACSOURCE=`echo $i | cut -d ';' -f 3`
MARK=`echo $IPSOURCE | cut -d '.' -f 4`
# neste caso o IPSOURCE e o MACSOURCE recebem as outras colunas da mesma linha, faço uma
#ressalva para o nome do computador que eu coloquei apenas para a organização do maclist,
#pois neste do script contará até a 3º coluna.

#aqui neste caso o comando if está dentro do laço for
#Se status = a então iptables libera a conexão através destes comandos construídos na tabela filter

if [ $STATUS = "a" ]; then
$IPTABLES -t filter -A FORWARD -d 0/0 -s $IPSOURCE -m mac --mac-source $MACSOURCE -j ACCEPT
$IPTABLES -t filter -A FORWARD -d $IPSOURCE -s 0/0 -j ACCEPT
$IPTABLES -t filter -A INPUT -s $IPSOURCE -d 0/0 -m mac --mac-source $MACSOURCE -j ACCEPT
$IPTABLES -t filter -A OUTPUT -s $IPSOURCE -d 0/0 -j ACCEPT
$IPTABLES -t mangle -A PREROUTING -s $IPSOURCE -j MARK --set-mark $MARK


# Se for = b então bloqueia o MAC, ele só executa este comandos se STATUS não for igual a "a".

else #se não
$IPTABLES -t filter -A FORWARD -m mac --mac-source $MACSOURCE -j DROP
$IPTABLES -t filter -A INPUT -m mac --mac-source $MACSOURCE -j DROP
$IPTABLES -t filter -A OUTPUT -m mac --mac-source $MACSOURCE -j DROP
fi # fim do se
done # fim do comando laço for
echo "Ativado a amarração do ip ao mac"
echo "ON .................................................[ OK ]"


Até mais






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts