TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Firewalls

Artigos Científicos: Firewalls. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  10/5/2013  •  1.081 Palavras (5 Páginas)  •  659 Visualizações

Página 1 de 5

FreeBSD

NAT (Network Address Translation)

IPFW2 + NATD

O NAT - Network Address Translation, ou Tradução de Endereço de Rede - é um mecanismo que permite por exemplo que máquinas com endereços IPs de redes privadas se comuniquem com máquinas na Internet, que possuem IPs válidos. O daemon que implementa o NAT no FreeBSD é o natd.

Um gateway rodando o natd irá alterar os pacotes que vão para a rede externa fazendo com que o IP de origem destes pacotes seja o endereço do gateway, e para cada pacote alterado cria uma entrada em uma tabela interna para registrar isso. A porta de origem também é alterada para indicar a entrada relacionada ao pacote na tabela. Todos os pacotes que chegam tendo como destino o gateway são verificados contra a tabela. Caso possua algum registro na tabela, o pacote é encaminhado para o IP interno e a porta correta.

Para fazer o NAT desta forma, é preciso que o daemon natd esteja rodando em uma porta específica. O IPFW filtra o tráfego decidindo o que deve ser encaminhado para NAT, e faz isso através de um socket divert.

Para que o NAT funcione com IPFW2, são necessárias as seguintes opções no kernel:

options IPFIREWALL

options IPFW2

options IPDIVERT

Veja maiores detalhes na seção de configuração do IPFW2, é importante saber como funciona, pois o NATD sozinho não fará nada. O firewall deverá estar configurado e funcionando.

Também é necessário que a máquina atua como Gateway. Para isso, insira a seguinte linha no arquivo /etc/rc.conf:

gateway_enable="YES"

Segue abaixo a descrição dos principais parâmetros do natd:

-log

Faz o log de algumas informações no arquivo /var/log/alias.log. Este arquivo é truncado cada vez que o natd for inicializado.

-deny_incoming

Não permite a passagem de pacotes que não possuam uma entrada na tabela interna de tradução.

-log_denied

Faz um log de cada pacote bloqueado, via syslog. É interessante direcionar este log para um arquivo, via /etc/syslog.conf.

-log_facility daemon

Faz o log com a "facilidade" do syslog especificada.

-use_sockets

Aloca um socket para cada conexão ftp data, permitindo melhor funcionamento do FTP.

-same_ports

Tenta manter a mesma porta quando altera os pacotes de saída. Com isso, protocolos como RPC têm mais chances de funcionar.

-verbose

Não se torna um daemon, fica rodando no console. Útil para debug.

-unregistered_only

Altera apenas os pacotes de saída que pertençam a redes privadas (RFC1918).

-redirect_port proto ipdestino:portadestino [ipalias:]portaalias [ipremoto[:portaremota]]

Redireciona conexões de entrada na porta "portaalias" para o host "ipdestino" na porta "portadestino". O parâmetro "proto" deverá ser tcp ou udp. O parâmetro "ipalias" pode ser utilizado para especificar o endereço da placa de rede onde a máquina deverá esperar este tipo de conexão. Os parâmetros "ipremoto" e "portaremota" podem ser especificados se você deseja determinar que somente as conexões vindas deste ip e porta deverão ser redirecionadas.

-redirect_proto proto iplocal [ippublico [ipremoto]]

Redireciona os pacotes de entrada do protocolo "proto" destinados ao endereço "ippublico" para o endereço "iplocal". Os protocolos se encontram listados em /etc/protocols. Se "ippublico" não for especificado, será utilizada a interface de tradução padrão. Se o parâmetro "ipremoto" for especificado, apenas os pacotes vindos deste endereço serão redirecionados.

-redirect_address iplocal ippublico

Redireciona o tráfego que chega em "ippublico" para o host "iplocal". Esta função é conhecida como SNAT - Static NAT, ou NAT Estático.

-redirect_port proto ipdestino:portadestino[,ipdestino:portadestino[,...]] [ipalias:]portaalias [ipremoto[:portaremota]]

-redirect_address iplocal[,iplocal[,...]] ippublico

Estes formatos de "-redirect_port" e "-redirect_address" são utilizados para distribuir de forma transparente a carga de um servidor entre vários. Essa função é conhecida como LSNAT - Load Sharing NAT - definida pela RFC2391. Cada conexão será direcionada para uma máquina, em ordem round-robin.

-port porta

Utiliza a porta especificada para operação. Note que trata-se de uma porta "divert". Se esta opção não for especificada, é utilizada a porta padrão do natd, que é 8668, conforme especificado em /etc/services.

-alias_address endereço

Utiliza o endereço especificado para fazer a tradução. Este endereço deverá ser de uma interface de rede da máquina local e geralmente é da interface conectada a rede externa. Esta opção ou a opção abaixo (uma das duas) deve ser sempre utilizada.

-interface interface

Especifica a interface de rede em que será feita a tradução. Similar ao "-alias_address endereço", geralmente é a interface que se conecta à rede

...

Baixar como (para membros premium)  txt (7.7 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com