Configurando NAT no kernel do FreeBSD

OBSERVAÇÕES: Este procedimento foi retirado do livro "Compartilhe a Internet usando FreeBSD+Squid". O que está descrito aqui somente configura o kernel para realizar NAT. Para compartilhar a conexão com sua rede interna são necessárias muitas outras coisas não descritas aqui.

Fazer um backup da configuração original (usualmente GENERIC)

# cd /usr/src/sys/i386/conf/
# cp -p GENERIC MEUKERN

editar o MEUKERN inserindo o seguinte:

# define a politica aberta do firewall
options IPFIREWALL_DEFAULT_TO_ACCEPT
# ativa ipfw
options IPFIREWALL
# ativa log do ipfw atraves do syslog
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
# ativa NAT
options IPFIREWALL_FORWARD
#ativa o redirecionamento de porta atraves do socket "divert"
options IPDIVERT

Salvar o arquivo, voltar para o shell e fazer o seguinte:
# cd /usr/src
# make buildkernel KERNCONF=MEUKERN
# make isntallkern KERNCONF=MEUKERN

No /etc/rc.conf iserir as linhas:

firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="dc0"
natd_flags=""

O natd_interface é a interface que vai NATear os pacotes, ou seja, a interface que vai se conectar a internet. Por isso pode ter nome diferente de dc0 (varia de acordo com o chipset da placa de rede).

Em seguida reiniciar a máquina.
# shutdown -r now

Fazer adaptações se necessário. ;-)

tags:

comments powered by Disqus