FreeBSD - Servidor NAT Wireless com Controle de Banda 
1- Configurando o Kernel
cd /usr/src/sys/i386/conf
cp GENERIC NOVOKERNEL
ee NOVOKERNEL 


A- Depois de editar o Kernel
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE_LIMIT=300
options IPDIVERT
options IPSTEALTH
options DUMMYNET
options TCP_DROP_SYNFIN

B- Compilando
execute os seguintes comandos:
config NOVOKERNEL
cd ../../compile/SEUKERNEL
make depend
make
make install
fastboot

Veja abaixo as explicações sobre cada opção que foi inserida no Kernel

options IPFIREWALL Ativando o ipfw  
options IPFIREWALL_DEFAULT_TO_ACCEP Assume a característica ACCEP aberta ou 
DENY para fechada
options IPFIREWALL_DEFAULT_TO_ACCEPT 
options IPFIREWALL_DEFAULT_TO_DENY 
options IPFIREWALL_VERBOSE_LIMIT=300 Aqui você pode dar um limite de entras 
máximas para os logs no caso abaixo 300 
options IPDIVERT  Para maquina que irá fazer natd 
options DUMMYNET Essa regra ativa pipes para limitar banda na sua rede e no 
servidor. 
options IPSTEALTH  Para evitar traceroute 
options TCP_DROP_SYNFIN Evitar tentavias de portscan 

 


-----------------------------------------------------------------------------
---

Configurações das interfaces de rede no /etc/rc.conf

ee /etc/rc.conf
ifconfig_rl0="inet 100.100.100.2 netmask 255.255.255.192"
ifconfig_rl1_alias0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_rl1_alias1="inet 192.168.2.1 netmask 255.255.255.248"
defaultrouter="100.100.100.1"
hostname="servidor"
gateway_enable="YES"
pccard_enable="YES"
sshd_enable="YES"

O comando "ifconfig" você esta configurando os IPs para as interfaces de 
rede. Veja que a rl0 tem apenas um IP. Mas a rl1 tem dois IPs na mesma 
interface, por isso a necessidade de especifica alias0 e alias1. Fique a 
vontade e coloque quantos alias for necessário.
Veja que no caso nos só utilizamos um gateway o 100.100.100.1 que e o 
padrão. Nesse caso o Link que tem saída para Internet.
hostname="servidor" - Nome da maquina.
gateway_enable="YES" - Ativa o roteamento. Lembre-se sem essa opção a NAT 
não vai funcionar.
sshd_enable="YES" - Ativa o acesso remoto por SSH a esse servidor.
sh /etc/gbs/iniciar.gbs - Iremos criar logo mais para iniciar determinados 
arquivos.


-----------------------------------------------------------------------------
---

Interfaces de NAT

Crie um diretório com o nome “gbs” dentro de /etc/ ou o nome que melhor lhe 
convier "mkdir /etc/gbs", depois crie os seguintes arquivos de configurações 
detro desse diretorio. 

ee /etc/gbs/natd.conf
interface rl0
dynamic yes
same_ports yes
use_sockets yes

Esse arquivo será executado dessa forma “natd –f /etc/gbs/natd.conf".

interface rl0 - Indica a interface que tem saída para a Internet nesse caso 
a rl0.


-----------------------------------------------------------------------------
---

Liberando as redes que irão fazer NAT

"ee /etc/gbs/rc.filters" com o conteúdo abaixo
#!/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add 51 allow ip from any to any via lo0
/sbin/ipfw add 52 deny ip from any to 127.0.0.0/8
/sbin/ipfw add 53 divert 8668 all from any to any via rl0

Esse arquivo será executado com o comando sh “sh /etc/gbs/rc.filters".

A regra 51 em questão, permite todo tráfego proveniente da interface de 
loopback (a lo0).
A regra 52 bloqueia todo o tráfego direcionado à rede localhost (127.0.0.0).
A regra 51 é necessária pra permitir comunicação inter-processos locais 
(local IPC), e a regra 52 evita que qualquer pacote externo adentre o 
endereço de host local (localhost address), que é o endereço de loopback, 
protegendo assim o tráfego local.
Já a regra 53 diz que todos os pacotes vindo de algum lugar para qualquer 
lugar irão fazer nat pela porta 8668 na rl0. Essa regra libera todos os IPs 
(as redes) para fazer nat através da rl0. 
Com isso é só configurar suas maquinas clientes você já vai estar navegando.


-----------------------------------------------------------------------------
---

Bloqueando e Liberando IPs pelo endereço MAC.

Crie um arquivo chamando arp.conf.

ee /etc/arp.conf
192.168.1.2 00:02:44:0a:ff:22
192.168.1.5 ff:ff:ff:ff:ff:ff

Esse arquivo será executado com o comando arp. Primeiro digite "arp -d -a“ 
depois "arp -f /etc/gbs/arp.conf".

Veja que o IP 192.168.1.2 foi atrelado a um endereço MAC, isso quer dizer 
que só o computador que possua a placa de rede com esse endereço MAC poderá 
usar aquele IP para fazer a NAT.
Já o 192.168.1.5 Qualquer computador que usar esse IP não ira fazer NAT 
(navegar na Net).
Já os IPs que não estão dentro desse arquivo vão poder ser usados em 
qualquer computador que irão fazer NAT.


-----------------------------------------------------------------------------
---

Controle de Banda por IP

Crie um arquivo chamando cbanda.conf, "ee /etc/gbs/cbanda".

/sbin/ipfw add 1000 pipe 1000 ip from any to 192.168.1.10 in via wi0 
/sbin/ipfw add 1001 pipe 1001 ip from 192.168.1.10 to any out via wi0 
/sbin/ipfw pipe 1000 config bw 128kbit/s delay 5ms queue 16kbytes 
/sbin/ipfw pipe 1001 config bw 128kbit/s delay 5ms queue 16kbytes 

A primeira linha, regra 1000 Cria um tunel 1000 de entrada para o IP 
192.168.1.10.
A segunda linha, regra 1001 Cria um tunel 1001 de saida para o IP 
192.168.1.10.
A terceira linha, "pipe 1000" cotrola o traffco de entrada pelo tunel 1000.
A quanta linha, A terceira linha, "pipe 1001" cotrola o traffco de saída 
pelo tunel 1001.

Esse arquivo será executado com o comando sh “sh /etc/gbs/cbanda".

pipe ->    Keyworld usado pelo DUMMYNET para criar um “túnel”.
config -> keyworld para indicar que estamos configurando o “túnel” criado. 
bw ->      Indica a quantidade de dados/s , eles podem ser : bit/s, Byte/s, 
Kbit/s, KByte/s Mbit/s e Byte/s
delay ->  Determina o atraso dos pacotes ,por exemplo para atrasar em 5ms 
usamos.



-----------------------------------------------------------------------------
---

Executando os arquivos no carregamento do sistema.

Para isso crie um arquivo “ee /etc/gbs/iniciar.gbs” e digite no seu conteúdo.

/sbin/natd –f /etc/gbs/natd.conf
/bin/sh /etc/gbs/rc.filters
/bin/sh /etc/gbs/cbanda
/sbin/arp –a –d
/sbin/arp –f /etc/gbs/arp.conf

Edite o arquivo “ee /etc/rc.conf” e acrescente a 
linha “/bin/sh /etc/gbs/iniciar.gbs”


-----------------------------------------------------------------------------
---

Utilizando um servidor DNS

Crie o arquivo resolve.conf para você poder resolver nomes localmente 
colocando nele o endereço IP de seu servidor DNS

“ee /etc /resolv.conf”
nameserver 200.200.200.5

Teste com "ping www.uol.com.br" veja se vai obter resposta. É muito 
importante lembrar-se desse detalhe coso você queira fazer alguma instalação 
pelo PORTS.




_______________________________________________
Freebsd mailing list
Freebsd@fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br

Responder a