O NAT já salvou muitos administradores pelo mundo a fora pela escassez do Endereço IP IPv4. Enquanto ainda não há adesão em massa do IPv6 vamos nos arrumando.
Compilando o kernel do FreeBSD para ativar o ipfw nat é simples:
Nas séries FreeBSD 6x siga http://markmail.org/message/duwvruotxds475w4 .
Agora se estiver usando FreeBSD 7x lá vai o procedimento.
Em seu arquivo de configuração do kernel adicione:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT # Aqui é ativo o NAT no kernel
options LIBALIAS # Necessário para o NAT
options IPDIVERT
options DUMMYNET
options HZ=1000
# cd /usr/src
# make buildkernel KERNCONF=SEUKERNEL
# make installkernel KERNCONF=SEUKERNEL
# reboot
Após subir a máquina você pode realizar alguns testes :
# ipfw nat 1 config if re0
# ipfw nat show config
Agora a idéia é documentar e trazer ambientes como balanceamento de saída e até de entrada.
Tiago
terça-feira, dezembro 23, 2008
NATD já era agora é ipfw nat no FreeBSD
Olá pessoal
O ipfw nat para quem não sabe é um módulo nativo, está no kernel, que faz o NAT do tráfego de saída e também redirecionamento de portas e conexões.
O interessante é que todo mundo usa o divert com ipfw, assim dependendo do natd rodando. Dizem que o ipfw nat é mais rápido por rodar direto sob o controle do kernel, por isso estou testando a parada de sucesso para ver onde vai dar.
Abaixo está as regras de ipfw nat que consegui testar:
#!/bin/sh
# Usando a funçao de NAT do ipfw disponivel no kernel
# Por Tiago Pires
# Liberando tráfego para o loopback
ipfw -q add pass all from any to any via lo0
ipfw -q add deny all from any to 127.0.0.0/8
ipfw -q add deny ip from 127.0.0.0/8 to any
# Criando uma instancia de Redirecionamento de portas ( Tudo que
# chega na porta 3389 pela
# interface externa vai para o host 192.168.0.2)
ipfw -q nat 1 config if le0 redirect_port tcp 192.168.0.2:3389 3389
# Criando uma instancia de NAT na interface de saida
ipfw -q nat 2 config if le0
# Relaciono a regra de NAT de redicionamento com ipfw , assim
# permitindo a conexão na porta
ipfw add nat 1 ip from any to any
# Relaciono a regra NAT criada com o ipfw, assim permitindo
# o trafego
ipfw add nat 2 log ip from any to any
# Libera o tráfego
ipfw add allow ip from any to any
Logo logo posto como está o andamento dos testes
O ipfw nat para quem não sabe é um módulo nativo, está no kernel, que faz o NAT do tráfego de saída e também redirecionamento de portas e conexões.
O interessante é que todo mundo usa o divert com ipfw, assim dependendo do natd rodando. Dizem que o ipfw nat é mais rápido por rodar direto sob o controle do kernel, por isso estou testando a parada de sucesso para ver onde vai dar.
Abaixo está as regras de ipfw nat que consegui testar:
#!/bin/sh
# Usando a funçao de NAT do ipfw disponivel no kernel
# Por Tiago Pires
# Liberando tráfego para o loopback
ipfw -q add pass all from any to any via lo0
ipfw -q add deny all from any to 127.0.0.0/8
ipfw -q add deny ip from 127.0.0.0/8 to any
# Criando uma instancia de Redirecionamento de portas ( Tudo que
# chega na porta 3389 pela
# interface externa vai para o host 192.168.0.2)
ipfw -q nat 1 config if le0 redirect_port tcp 192.168.0.2:3389 3389
# Criando uma instancia de NAT na interface de saida
ipfw -q nat 2 config if le0
# Relaciono a regra de NAT de redicionamento com ipfw , assim
# permitindo a conexão na porta
ipfw add nat 1 ip from any to any
# Relaciono a regra NAT criada com o ipfw, assim permitindo
# o trafego
ipfw add nat 2 log ip from any to any
# Libera o tráfego
ipfw add allow ip from any to any
Logo logo posto como está o andamento dos testes
sexta-feira, dezembro 12, 2008
Iproute avançado
route add default eeeeeee ????
Para o pessoal que tiver algum problema com meu artigo ( http://www.vivaolinux.com.br/artigo/Roteamento-de-entrada-saida-com-iproute-e-iptables/) de roteamento com 2 links de entrada, abaixo está uma dica valiosa:
Se você está marcando o pacote que entra, mas o danado não volta pelo link que entrou e sua estrutura está mais ou menos assim:
ip rule add prio 22 fwmark 4 from 192.168.1.3 table link2
ip rule add prio 23 fwmark 5 from 192.168.1.2 table link1
Faça dessa maneira:
ip rule add prio 22 fwmark 4 table link2
ip rule add prio 23 fwmark 5 table link1
Tire o from e seja feliz.
att
Tiago
Para o pessoal que tiver algum problema com meu artigo ( http://www.vivaolinux.com.br/artigo/Roteamento-de-entrada-saida-com-iproute-e-iptables/) de roteamento com 2 links de entrada, abaixo está uma dica valiosa:
Se você está marcando o pacote que entra, mas o danado não volta pelo link que entrou e sua estrutura está mais ou menos assim:
ip rule add prio 22 fwmark 4 from 192.168.1.3 table link2
ip rule add prio 23 fwmark 5 from 192.168.1.2 table link1
Faça dessa maneira:
ip rule add prio 22 fwmark 4 table link2
ip rule add prio 23 fwmark 5 table link1
Tire o from e seja feliz.
att
Tiago
Retorno dos Posts
Olá pessoal
Estarei com tempo até no fim de ano para escrever vários posts então aguardem.........
FreeBSD The Power To Serve .
att
Tiago
Estarei com tempo até no fim de ano para escrever vários posts então aguardem.........
FreeBSD The Power To Serve .
att
Tiago
Assinar:
Postagens (Atom)