| ||
1. Apresentação O NAT é uma técnica usada para fazer uma rede acessar outra na qual não possue rota para ela, mas, ela possua uma máquina com acesso a essa outra rede. Em outras palavras: técnica usada para uma rede local acessar a internet, contendo apenas 1 endereço IP válido. 1.1 Exemplo: Rede local: 192.168.0.1 ao 192.168.0.254 - Máscara: 255.255.255.0 Endereço de Internet: 200.xxx.yyy.120 - Gateway: 200.xxx.yyy.1 1.2 Esquema do Servidor de Internet eth0: 200.xxx.yyy.120 eth1: 192.168.0.1 Gateway: 200.xxx.yyy.1 2. Passagem de Pacotes / Firewall Inicialmente, para o Linux habilitar a passagem de arquivos entre as interface de rede, é preciso habilitar a opção de IP-FORWARD. Para isso, digite no console: # echo "1" > /proc/sys/net/ipv4/ip_forward Com isso, essa máquina já está pronta transmitir os pacotes de uma interface para outro. 2.1 Regra de Firewall Agora, como a internet desconhece a existem de sua rede local, você precisa fazer com que suas estações internas acessem a internet como se fosse a máquina com acesso normal. Para isso, digite: # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE 3. Explicações básicas Aqui, vejamos alguns comentários a respeito da linha de comando usada no iptables. iptables = programa para controlar as requisições TCP/IP (Firewall) -t nat = Informa que iremos colocar uma regra na Tabela de NAT (-t = tabela) -A POSTROUTING = Adicionar uma regra no Pós-Roteamento (após passar entra as interfaces) -s 192.168.0.0/24 = Endereço de origem (Source) das requisições -o eth0 = Interface de Saída (-o = saída/OUT) -j MASQUERADE = tarefa a executar (job), que no caso é o MASCARAMENTO (MASQUERADE) 4. Configurando as estações Não importa qual é o sistema operacional, a configuração é padrão para todos. IP da estação, precisa fazer parta de rede local Então, precisa estar entre: 192.168.0.2 até o 192.168.0.254 O IP 192.168.0.1, não pode ser usado, pois já está em uso pelo servido Default Gateway / Gateway Padrão / Rota Padrão: 192.168.0.1 Nesta opção, é necessário colocar o IP da rede local, referente ao Linux. DNS / Servidores de Nome / Name Server Ser provedor de acesso precisa lhe fornecer tal informação, mas existe alguns públicos. Um exemplo funcional, seria usar: 200.190.77.11 Pronto, com isso, sua rede local já pode acessar a internet, através de uma máquina Linux. Como esse tutorial é estremamento simples, recomendo buscar mais importações a respeito. Informações para controlar e/ou melhor aproveitar sua conexão com a internet. 5. Exemplo de Mini-Firewall O Firewall, é usado para dar maior proteção para sua rede. Mas, importante lembrar que ele sozinho não garante total segurança. Para ter uma segurança na rede, é preciso ter controle desde os usuários internos até mesmo a utilização feita da internet. Então, vamos a um exemplo simples de firewall: Para isso, é necessário ter o pacote do nmap instalado em seu Linux (Servidor). 5.1 Editando Script Edite um arquivo, no caso chamado: firewall.sh - - - - - Copiar - - - - - #!/bin/bash ## Variaveis de controle fw=`which iptables` inet=`route -n | awk '/UG/ {print $8}'` ip=`ifconfig $inet | awk '/inet/ { print $2}' | awk -F ":" '{ print $2 }'` ## Executando PortScan no Servidor port_tcp=`nmap -n $ip -sT | awk -F "/" '/open/ { print $1 }'` port_udp=`nmap -n $ip -sU | awk -F "/" '/open/ { print $1 }'` ## Limpando regras anteriores $fw -F $fw -t nat -F ## Gerando regras de bloqueio for i in $port_tcp; do $fw -A INPUT -p tcp -i $inet --dport $i -j DROP; done for i in $port_udp; do $fw -A INPUT -p udp -i $inet --dport $i -j DROP; done ## Habilitando o compartilhamento de Internet $fw -t nat -A POSTROUTING -o $inet -j MASQUERADE echo "1" > /proc/sys/net/ipv4/ip_forward echo "AutoFirewall - Firewall Habilitado ! # FIM - do arquivo - - - - - Colar - - - - - Com isso, o script irá verificar as portas abertas em seu servidor, irá gerar regras de bloqueio e também irá compartilhar a conexão de internet. 5.2 Tornando o Script Executável Agora, você precisa dar status de executável para esse arquivo. Digite o comando: # chmod 0700 ./firewall.sh 5.3 Executando o Script Para carregar o firewall, digite: # ./firewall.sh 5.4 Download do Script Versão para download: firewall.sh EMotaWeb | Textos | Programação | Linux | Wireless | Contato | Topo ^ |