http://conteudoopensource.blogspot.com/2010/05/introducao-ao-ipfw-instalando.html
Dica:
Esse processo do make para recompilar e instalar o novo kernel modificado, exige um pouco de memória RAM em torno de 292 MB, para não acabar utilizando o swap, se não houver memória suficiente o processo será morto pelo kernel e lançará uma excessão ocasionando na parada da instalação do novo kernel. Outro ponto importante é do espaço livre em disco utilize pelo menos 5 GB para a participação do seu FreeBSD.
O IPFW2 já vem nativo apartir da versão 5x do FreeBSD, não sendo necessária nenhuma modificação no kernel(inclusão do options IPFW2 no kernel) do sistema para utilizar o mesmo. A inclusão desse aopção acontecia apenas na versão 4x e anteriores do FreeBSD.
Utilizando para este artigo o FreeBSD 7.2
# cd /usr/src/sbin/ipfw
se o diretorio acima não existir você precisará instalar esses src's através do comando sysintall:
# sysinstall
Navegue pelo menu do sysinstall configure > distributions e marque a opção:
[ X ] ports
depois em configure > distributions > src maque as opções:
[ X ] base
[ X ] lib
[ X ] sbin
[ X ] sys
# vi /etc/make.conf
---> Insira:
IPFW2=true
Voltando ao userland :
# cd /usr/src/sbin/ipfw/
Recompile o ipfw:
# make clean
# make -DIPFW2
# make -DIPFW2 install
Recompile a libalias:
# cd /usr/src/lib/libalias/
# make clean
# make -DIPFW2
# make -DIPFW2 install
Vamos agora modificar o nosso kernel padrão(GENERIC) fazendo uma cópia do kernel default:
# cd /usr/src/sys/i386/conf/
# cp GENERIC NOME_DO_SEU_SERVIDOR
# vi NOME_DO_SEU_SERVIDOR
---> Procure a linha ident no kernel que foi copiado(NOME_DO_SEU_SERVIDOR) e modique-a colocando ao invés de:
ident GENERIC
para:
ident NOME_DO_SEU_SERVIDOR
Coloque essas linhas no final do kernel copiado(NOME_DO_SEU_SERVIDOR):
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPDIVERT
options DUMMYNET
-->salve e saia.
Vamos agora compilar e instalar o novo kernel(este passo é bastante demorado):
# cd /usr/src/
Compilando o kernel.
# make buildkernel KERNCONF=NOME_DO_SEU_SERVIDOR
Instalando o novo kernel.
# make installkernel KERNCONF=NOME_DO_SEU_SERVIDOR
Se tudo ocorreu bem, já temos o nosso kernel modificado bastando apenas reiniciar a máquina para utiliza-lo:
# reboot
Depois de reiniciar verifique que já estamos usando o novo kernel:
# uname -a
Instale um outro aplicativo que irá ajudar o ipfw a calcular os endereços de rede e host que são definidos no arquivo de regras do ipfirewall na forma "Ciderizada"(CIDR ex.: 189.87.34.2/21). Com isso você irá obter uma melhor perfomance no firewall:
# cd /usr/ports/net-mgmt/ipcalc/ && make install clean
Iremos configurar o rc.conf, para iniciar o firewall no boot e suas regras que serão pre-definidas por você, para isso basta editar /etc/rc.conf:
# vi /etc/rc.conf
-->Insira as seguintes linhas:
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# FIREWALL IPFW COM SUPORTE AO IPFW2 E IPV6
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
firewall_enable="YES"
firewall_type="/tools/firewall/ipfw.rules"
firewall_quiet="NO"
firewall_logging="YES"
--> Onde firewall_type é seu arquivo de regras, falerei mais sobre as regras em outra postagem...
Iremos agora ativar o log
Crie os aquivo de log:
# mkdir /var/log/ipfw && touch /var/log/ipfw/ipfw.log
Depois configure o syslog:
# vi /etc/syslog.conf
--> Insira no final deste arquivo as linhas:
!ipfw
*.* /var/log/ipfw/ipfw.log
salve e saia e depois na shell enviei um hungup para o syslog:
# killall -HUP syslogd
Nenhum comentário:
Postar um comentário