FreeBSD

29 de novembro de 2016

Configurando o NAT no FreeBSD

Mais artigos de »
Escrito por: Leonardo Souza
Tags:

Configurando o NAT no FreeBSD

Network address translation (NAT) é um protocolo responsável por realizar a tradução de endereços IPs da rede local para a internet. Através dele os IPs de redes locais (por exemplo, 192,168.1.0/24, 175.10.10.1/24, 10.1.1.0/24. etc.), são traduzidos para IPs públicos roteáveis na internet, já que estes IPs (de redes privadas) não são roteáveis neste ambiente de internet.




Na prática, este recurso é utilizado para compartilhar a internet, bastando apenas configurar um computador para que utilize como gateway padrão o servidor do serviço NAT. Neste artigo vamos configurar o NAT no FreeBSD, fazendo com que nosso servidor compartilhe a internet com outras máquinas da rede local.

nat

O dispositivo da rede responsável por realizar esta tradução de endereços é o servidor NAT e pode ser tanto um roteador, firewall ou até mesmo uma máquina na rede configurada com esta finalidade. Neste artigo veremos como configurar o NAT no FreeBSD. Dessa forma, nosso servidor compartilhará a internet com os computadores da rede local.

Normalmente um servidor NAT possui também um servidor DHCP, assim os computadores recebem um IP válido para a rede local automaticamente e também terão acesso á internet através do servidor que a compartilha.

Configurando o NAT no FreeBSD

Para configurar o NAT no FreeBSD precisaremos habilitar o firewall  IPFW, que por padrão vem desabilitado no FreeBSD. Existem basicamente duas formas de habilitá-lo, por meio de módulos do Kernel ou estaticamente carregando diretamente no Kernel e compilando-o novamente. Por ser mais seguro e por se tratar de uma configuração permanente faremos isso por meio da segunda opção, que já explicamos no artigo Kernel do FreeBSD.

Vamos considerar aqui que você já leu o artigo a respeito do kernel e também que já sabe como compilá-lo. Sendo assim, vamos compilar o kernel do FreeBSD com as seguintes opções:

NAT no FreeBSD

Com a opção “IPFIREWALL” habilita o uso de firewall no FreeBSD, as opções subsequentes habilitam o encaminhamento de pacotes, o registro de logs do firewall e definem este firewall como aberto, por padrão. Cada uma destas opções será melhor explicada no artigo sobre o IPFW.

Depois de compilar o kernel, o IPFW estará carregado nele e precisaremos apenas configurá-lo para iniciar junto com o sistema. Perceba que são duas coisas distintas, no kernel habilitamos seu uso, agora vamos configurá-lo para iniciar junto com o sistema.

Para isso abra o arquivo /etc/rc.conf com o editor de textos ee, ou outro de sua preferenciae insira as seguintes linhas:

rc_conf_natd

Estas linhas significam o seguinte:

firewall_enable=”YES”:  inicia o firewall durante o boot do sistema.

firewall_tipe=”OPEN”: define o tipo do firewall, o IPFW possui alguns tipos de configuração pré-definidas. Neste caso escolhemos OPEN (ABERTO), porém esta linha pode ser omitida, já que configuramos o kernel com a opção IPFIREWALL_DEFAULT_TO_ACCEPT, que funciona da mesma forma.

firewall_quiet=”YES”: esta linha configura o firewall para iniciar sem apresentar mensagens durante o boot.

gateway_enable=”YES”: habilita o FreeBSD para responder como um gateway, ou seja, encaminhando pacotes.

natd_enable=”YES”: habilita o daemon NATD, responsável pelo NAT, para iniciar juntamente com o boot do sistema.

natd_interface=”em0”: nesta opção especificamos qual a interface de rede fará o NAT.

natd_flags=”-f /etc/natd.conf”: neste campo especificamos flags específicas para o serviço e informamos o arquivo responsável pela configuração do NAT.

Finalizada a configuração, salve as alterações e feche o arquivo. Agora vamos configurar o arquivo /etc/natd.conf.

Crie o arquivo /etc/natd.conf e insira as seguintes linhas nele:

natd_conf

Salve as alterações e feche o arquivo.  Agora vamos criar a regra no IPFW que realiza o NAT no sistema.

IPFW

Por padrão, quando habilitamos o IPFW aberto, é habilita uma série de regras que o transformam em um firewall aberto e isso inclui o suporte a NAT. Isso significa, que ao habilitarmos este recurso a regra já é habilitada por default. Por outro lado, se definirmos o IPFW como sendo de outro tipo de firewall, como fechado, por exemplo, precisamos adicionar a seguinte linha no arquivo /etc/rc.firewall:

${fwcmd} add numero_da_regra divert natd ip4 from any to any via interface_nat

regra_divert

As regras do IPFW serão explicadas melhor no artigo sobre ele. Por hora basta saber que esta regra habilita o recurso NAT no firewall. Pronto, nosso NAT já está configurado e totalmente funcional. Podemos agora configurar os computadores da rede para utilizar nosso servidor como gateway padrão, e assim eles poderão acessar a internet.

Como quase tudo no FreeBSD, compartilhar a internet é algo muito simples de se fazer.

Espero que o conteúdo tenha sido útil, em caso de dúvidas utilize os comentários.






Sobre o Autor

Foto de perfil de Leonardo Souza
Leonardo Souza
Bacharel em Informática, pós graduado em Segurança de Redes de Computadores e analista de Segurança da Informação. Entusiasta de Segurança da Informação e usuário FreeBSD, porém sem xiismo.




0 Comments


Seja o Primeiro a Comentar!


You must be logged in to post a comment.