24 de mar. de 2010

Proxy ARP

Quando se deseja que um serviço rodando em uma máquina da sua rede interna (192.168.y.z) possa ser acessado a partir da internet podemos fazer duas coisas.
A primeira é com o iptables, mas esta solução fica um tanto complicada quando a máquina possui muitos serviços que devam ser acessados.
A segunda muito mais simples de ser implementada é com a ferramenta ip do pacote iproute2. Segue abaixo a linha de comando.
ip neigh add lladdr 00:16:76:fe:41:9b proxy v.x.y.z dev ppp0
Onde:
v.x.y.z é o IP da sua interface de saída para a internet no caso ppp0
Não esqueça de habilitar o suporte ao proxy-ARP em seu Kernel
echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo "1" > /proc/sys/net/ipv4/conf/eth1/proxy_arp
Lembrando apenas que a máquina em questão deve ter seu endereço MAC listado na tabela ARP do seu gateway caso deseje uma tabela ARP estática você pode criar um arquivo /etc/ethers conforme a listagem abaixo:
192.168.10.10 00:16:76:fe:41:9b
192.168.10.20 00:18:ff:1f:d1:ba
Para carrega-la basta digitar o comando arp -f
Uma outra alternativa mais completa e elegante é usar a ferramenta ip para criar uma tabela estática, conforme os comandos abaixo:
ip neigh add 192.168.10.10 lladdr 00:16:76:fe:41:9b dev eth0
ip neigh add 192.168.10.20 lladdr 00:18:ff:1f:d1:ba dev eth0
Onde: eth0 é a interface de rede do gateway que dá para sua rede interna.
Paz e saúde!

Nenhum comentário:

Postar um comentário