Estamos tentando montar uma caixa com placas LAN duplas (digamos Externa e Interna), onde a placa LAN Interna deve atuar como um gateway padrão na rede à qual está conectada.
Esta caixa está executando o Ubuntu. O objetivo básico desta caixa é receber mensagens geradas na rede interna, trabalhar com elas e encaminhá-las pela placa LAN externa para um servidor. A rede interna é completamente isolada com apenas um switch comum conectando a placa LAN interna a duas outras caixas.
Essas outras caixas enviam mensagens multicast (que a placa LAN interna está escutando) ou enviam mensagens unicast destinadas ao servidor que não está nesta rede interna. Portanto, precisamos que a placa LAN interna atue como um gateway padrão, para onde essas mensagens unicast serão enviadas, e o código na caixa da placa LAN dupla poderá então interceptar e encaminhar essas mensagens para o servidor.
Pergunta: 1. Como configuramos a placa LAN para ser o gateway padrão (ela precisa de alguma configuração no Ubuntu)? 2. Depois de configurar essa configuração, basta ouvir a interface para interceptar as mensagens recebidas?
Qualquer ajuda (indicações na direção certa) é apreciada.
Obrigado.
Responder1
Você não precisa de nenhuma configuração especial na NIC para torná-la o gateway padrão. Você só precisa configurar as máquinas na LAN interna para usar este IP NIC como gateway padrão.
Para rotear os pacotes entre as duas sub-redes, você precisa habilitar o encaminhamento IPv4 usando:
# echo 1 > /proc/sys/net/ipv4/ip_forward (as root)
Para torná-lo permanente, edite o arquivo /etc/sysctl.conf
e remova o comentário da linha:
net.ipv4.ip_forward=1
Para interceptação de pacotes, você pode escrever um programa em C/C++. Você pode usar o libpcap para obter o tráfego que chega à sua NIC interna e fazer qualquer processamento necessário. Não posso fornecer mais detalhes porque não sei o tipo de processamento que você deseja fazer.