quarta-feira, 31 de outubro de 2012

Alteração do nome das interfaces de rede

Por vezes a designação das interfaces de rede de uma máquina não é a mais "correta", podendo ter interfaces salteadas entre elas.

Quando montei um servidor ubuntu 12.04 LTS com LAN onboard e mais três placas PCI, fiquei com a seguinte ordem:

  • eth0 - PCI1
  • eth1 - PCI3
  • eth2 - onboard
  • eth3 - PCI2
Para resolver a situação segui as preciosas instruções do Paolo Iannelli[1]:

  • Editar o ficheiro /etc/udev/rules.d/70-persistent-net.rules
  • Procurar uma linha imensa que começa e depois termina
    SUBSYSTEM=="net", ACTION=="add", (...) KERNEL=="eth1", NAME="eth1"
  • Alterar o valor do eth do NAME para o valor desejado e guardar.
  • Alterar as configurações de rede e afins em conformidade com os novos nomes
  • Reiniciar o serviço de rede

Recursos:

[1] http://www.paoloiannelli.com/2011/05/25/how-to-rename-network-interface-in-ubuntu-debian-suse-linux/ - Página de Paolo Iannelli que explica a alteração da designação das interfaces

terça-feira, 30 de outubro de 2012

iptables - Bloqueio de um cliente NAT

Após muitas pesquisas, nunca consegui resolver este problema:

Utilizando um router linux com iptables e NAT, como bloquear a rede a apenas um cliente.

Vários tutoriais e afins indicam a ação sobre a chain INPUT algo do género:
iptables -A INPUT -s 192.168.x.y -j DROP

Contudo, o cliente continua a enviar e a receber pacotes...

Como dizem que uma imagem vale mais do que mil palavras, só percebi realmente o funcionamento do iptables após, por acaso, deparar-me com um site[1] muito extenso e que no meio continha a seguinte imagem:
Após analisar o fluxo, e efetuar alguns testes, percebi finalmente que depois do NAT os pacotes poderiam ter dois caminhos, e testei o segundo: utilizar a chain FORWARD.

Assim, para bloquear o acesso de um cliente NAT por IP:
iptables -A FORWARD -s 192.168.10.10 -j DROP


Para bloquear o acesso de um cliente NAT por MAC:
iptables -A FORWARD -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP






Notas:
[1] http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html - Um tutorial muito interessante que permitiu finalmente chegar à solução.
[2] http://www.linuxguruz.com/forum/viewforum.php?f=35 - Coleção de diversos scripts e ligações sobre firewalls