Pessoal não manjo quase nada de shell e gostaria de uma ajudinha de vcs.
Tenho um firewall e para facilitar as coisas uso alguns comandos de shell dentro dele.
Por exemplo tenho um arquivo chamado clientes.liberados que é uma lista de todos os clientes que podem ter acesso a rede listados da seguinte forma:
cliente1
cliente2
cliente3
bom no firewall, uso o seguinte comando para dar acesso à esses clientes listados:
Código :if [ -f /clientes.liberados ]; then while read ips; do iptables -A INPUT -s $ips -j ACCEPT done < /clientes.liberados echo "INPUT: Clientes liberados - OK!" fi
Até ai tudo bem, só que agora quero fazer com que esse mesmo comando tambem amarre o MAC ao IP ou seja o cliente só consiga navegar com IP "X" e MAC "Y" se for diferente ele não navega.
Então para esse fim criei um arquivo com o nome macs.liberados que lista os macs da seguinte forma:
xx:xx:xx:xx:xx:xx
yy:yy:yy:yy:yy:yy
zz:zz:zz:zz:zz:zz
no firewall pensei em usar a variável $mac porem não sei como ler essa variavel do arquivo pois fazendo da mesma forma que a anterior não consigo colocar duas leituras no mesmo comando.
Código :if [ -f /clientes.liberados ]; then while read ips; do iptables -A INPUT -s $ips -m mac --mac-source $mac -j ACCEPT done < /clientes.liberados echo "INPUT: Clientes liberados - OK!" fi
Onde eu coloco o comando "read" ou outra coisa parecida para ler os macs no arquivo /macs.liberados?
Se alguem puder dar uma força ai eu agradeço! :wink: