Podemos utilizar um computador com linux e duas interfaces de rede como roteador.
Um roteador recebe informações que chegam através do seu sinal de banda larga através de um modem, decifra os dados e os entrega ao seu computador. O roteador também escolhe a melhor rota para o pacote de dados para que você receba as informações rapidamente.
Em um próximo post mostraremos como usar o roteador linux para utilizar duas conexões internet.
A nossa rede funciona como ilustrado na figura abaixo. A rede interna funciona com endereços privados, na faixa de 192.168.0.0 a 192.168.0.255 ou 192.168.0.0/24. Utilizamos o Ubuntu LTS 14.04.5 para os exemplos de configuração a seguir. Caso você esteja utilizando uma outra versão de linux, as configurações podem ser diferentes.
Vamos conferir as interfaces que possuimos usando ifconfig.
Veja que em eth0 foi configurado o endereço 10.0.2.15 que foi fornecido pelo nosso provedor e é por ele que faremos o acesso à internet. Enquanto em eth1 está configurado o endereço 192.168.0.1 que configuramos manualmente no arquivo "interfaces".
Vamos ver se conseguimos acessar do roteador algum computador na internet, antes de continuar as configurações. Para isto iremos dar um ping no endereço 8.8.8.8, que é o DNS público do Google. Caso isto não funcione, deve ter algum erro de conexão ou configuração. Neste post não entraremos nestes detalhes.
Podemos ver na saída do ping que conseguimos alcançar o endereço, portanto nossa internet está ok.
Todo o procedimento abaixo é realizado como root.
Para fazer isto precisamos de criar uma regra no iptables e habilitar um recurso chamado "forwarding". Isto é feito com os comandos abaixo.
Ok. Isto é suficiente para os computadores da rede interna poderem acessar a internet.
Só tem um problema. Ao reiniciar o roteador, o comando do iptables é perdido.
Assim precisamos garantir que este comando seja aplicado toda vez que o roteador for reiniciado.
Para isto vamos criar um pequeno script de inicialização em /etc/init.d denominado firewall.
Vamos precisar ainda de gravar a configuração atual do iptables. Para esta segunda parte usaremos iptables-save para gerar o arquivo, como mostrado abaixo:
Note na saída mostrada na tela pelo comando a regra com POSTROUTING MASQUERADE.
Vamos criar o arquivo de inicialização do firewall. A imagem abaixo mostra como criar o arquivo.
As linhas com # (exceto a primeira linha do arquivo) são somente comentários e podem ser removidas.
Note que é necessário executar chmod para dar permissão de execução ao arquivo.
Agora basta criar os links para que este script seja chamado nos inits 2, 3, 4 e 5. Isto pode ser feito com as quatro linhas de comando mostradas abaixo:
Pronto, agora o roteador está funcional e pode ser reiniciado que retornará corretamente.
Em outro post trataremos de melhorar a segurança da rede com outros comandos iptables.
Lembre-se que toda vez que alterar alguma configuração via iptables, ela deve ser gravada usando o comando iptables-save > /etc/firewall/iptables-save.dat.
Um roteador recebe informações que chegam através do seu sinal de banda larga através de um modem, decifra os dados e os entrega ao seu computador. O roteador também escolhe a melhor rota para o pacote de dados para que você receba as informações rapidamente.
Em um próximo post mostraremos como usar o roteador linux para utilizar duas conexões internet.
A nossa rede funciona como ilustrado na figura abaixo. A rede interna funciona com endereços privados, na faixa de 192.168.0.0 a 192.168.0.255 ou 192.168.0.0/24. Utilizamos o Ubuntu LTS 14.04.5 para os exemplos de configuração a seguir. Caso você esteja utilizando uma outra versão de linux, as configurações podem ser diferentes.
Configurando as interfaces
Precisamos editar o arquivo /etc/network/interfaces.Vamos conferir as interfaces que possuimos usando ifconfig.
Veja que em eth0 foi configurado o endereço 10.0.2.15 que foi fornecido pelo nosso provedor e é por ele que faremos o acesso à internet. Enquanto em eth1 está configurado o endereço 192.168.0.1 que configuramos manualmente no arquivo "interfaces".
Vamos ver se conseguimos acessar do roteador algum computador na internet, antes de continuar as configurações. Para isto iremos dar um ping no endereço 8.8.8.8, que é o DNS público do Google. Caso isto não funcione, deve ter algum erro de conexão ou configuração. Neste post não entraremos nestes detalhes.
Podemos ver na saída do ping que conseguimos alcançar o endereço, portanto nossa internet está ok.
Criando NAT
O próximo passo é criar um NAT, isto é, fazer com que o linux pegue todo o tráfego de rede da rede interna (que vem de eth0) que é destinado à internet e faça a conexão como se fosse o computador interno, usando o endereço da interface externa (eth1). Assim o linux fica transferindo as requisições internas para o computador correto que está na internet e quando este computador da internet responde o linux manda para o computador da rede intena (192...) que fez a requisição. Assim todos os computadores da rede interna podem navegar.Todo o procedimento abaixo é realizado como root.
Para fazer isto precisamos de criar uma regra no iptables e habilitar um recurso chamado "forwarding". Isto é feito com os comandos abaixo.
Ok. Isto é suficiente para os computadores da rede interna poderem acessar a internet.
Só tem um problema. Ao reiniciar o roteador, o comando do iptables é perdido.
Assim precisamos garantir que este comando seja aplicado toda vez que o roteador for reiniciado.
Para isto vamos criar um pequeno script de inicialização em /etc/init.d denominado firewall.
Vamos precisar ainda de gravar a configuração atual do iptables. Para esta segunda parte usaremos iptables-save para gerar o arquivo, como mostrado abaixo:
Note na saída mostrada na tela pelo comando a regra com POSTROUTING MASQUERADE.
Vamos criar o arquivo de inicialização do firewall. A imagem abaixo mostra como criar o arquivo.
As linhas com # (exceto a primeira linha do arquivo) são somente comentários e podem ser removidas.
Note que é necessário executar chmod para dar permissão de execução ao arquivo.
Agora basta criar os links para que este script seja chamado nos inits 2, 3, 4 e 5. Isto pode ser feito com as quatro linhas de comando mostradas abaixo:
Pronto, agora o roteador está funcional e pode ser reiniciado que retornará corretamente.
Em outro post trataremos de melhorar a segurança da rede com outros comandos iptables.
Lembre-se que toda vez que alterar alguma configuração via iptables, ela deve ser gravada usando o comando iptables-save > /etc/firewall/iptables-save.dat.
Comentários
Postar um comentário