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 [email protected] http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br

