ATENÇÃO A PARTIR DO KERNEL 2.4....... NÃO SE USA MAIS O IPCHAIM. FOI SUSBSTITUIDO PELO IPTABLES VEJA NESTE DIRETÓRIO iptables.txt ********************************************************************** Cara é o seguinte: No FireWall, você tem que ter três conceitos: IMPUT, OUTPUT e FORWARD onde IMPUT: todos os pacotes que vem diretamente para esta maquina, OUTPUT: Todos os pacotes que saem des máquina e FORWARD: Todos os pacotes que passam por esta máquina(esta máquina é um GATEWAY). Os pacotes podem receber atributos: ACCEPT:aceita normalmente como se não tivesse FW. DENY: o pacote é descartado. REJECT: O pacote pe descartado mas é gerada uma mensagem ICMP alertando que o pacote foi descartado. MASQ:(apenas p/ FORWARD) permite fazer o mascaramento (masquerading), ou seja, a máquina do FW "emprestará" o seu endereço IP p/ quem fizer acesso através dela. PS.: As ferramentas básicas p/ criar as regras de FW, p/ cada versão de kernel são: - ipfwadm: kernels 2.0.x - ipchains: kernels 2.1.x, 2.2.x (último 2.2.14) - netfilter: kernels 2.3.x e 2.4.x (quando disponível). Existe uma ferramente chamara kfirewall (p/ KDE) que permite a configuração de forma mais simples, pois evita saber todos os parâmetros para os programas. Atualmente suporta tato o ipfwadm quanto o ipchains. Regras default: INPUT - ACCEPT OUTPUT - DENY FORWARD - MASC / REJECT comandos ipchains: ipchains -A forward MASQ -p tcp -s 0.0.0.0./0 -d 10.0.10/24 80 -j ACCEPT -l -A= Para adicionar um serviço. -p tcp= tipo do serviço (FTP) 0.0.0.0/0= permissão para o mundo. (vc deverá efetuar um cáculo de IP-MASCARAMENTO p/ ver qual é a liberação) 10.0.10/24=mascara origem /24 significa qtde de bits. 80= porta do serviço (FTP) -j ACCEPT= aceitar o serviço. -l= opcional, apenas para incluir no messages para você controlar o que está acontecendo. Cride ( Curitiba-PR) > To precisando urgente de um exemplo de configuraçao de firewall tanto no modo > terminal com o ipchains, como no linuxconf. ********************************************************************** basicamente, se o IPCHAINS estiver instalado vc vai ter q dar este comando: IPCHAINS -A forward -s xxx.yyy.www.zzz/255.255.255.0 -d 0/0 -j MASQ onde xxx.yyy.www.zzz é o endereço IP de sua rede... normalmente é algo assim: 10.10.5.0 ou 192.168.1.0 e 255.255.255.0 é a mascara de rede que suponho que voce esteja usando. Só isso ja deve funcionar... São apenas exemplos.. aí você faz as alterações necessárias. Leonardo Costa wrote: > > Coloquei o micro com linux 3.0 conectiva como servidor de proxy da minha > rede win95/98. O servidor está conectado à uma rede externa (condominio, que > tem conexão direta com a internet) e conectado com a rede local. Toda > configuração já está correta, o servidor linux acessa a internet e já > configurei estações para acessar a internet por ele através do Squid. > Configurei o Internet Explorer para acessar através do servidor proxy e > funciona. > Agora quero configurar o ip masquerade para que outros aplicativos > funcionem. Alguem pode me ajudar??? ********************************************************************** Dê uma verificada neste link: http://tsmservices.com/masq/ Muito bom, pelo menos para quem tem problemas relacionados com mascaramento. ********************************************************************** Eu estava com uns problemas de download por aqui, eu uso um cabo com 1.5MB para download e 128 para upload, Uso o Linux como o meu gateway para o meu cliente windowse tava achando que 90kbps em download estava muito baixo, para uma conexão deste tipo. Então resolvi fazer um teste de performance no meu sistema usando este link: http://www.dslreports.com/stest/0 Tem outros testes também, mas, o resultado do meu sistema foi muito pior do que eu esperava, é mais baixo que um modem de 56k????? Aqui tem tudo o que vc precisa saber sobre os resultados, informações de velocidades etc. http://www.dslreports.com/tweaks#key No linux eu fiz algumas modificações no meu script de firewall que deram um ganho extra de 10kbps, não é muito mas é alguma coisa. Eu adcionei o seguinte: # Para ftp ipchains -A input -p tcp -i eth0 -s 0/0 21 -d 211.14.228.111 -j ACCEPT -t 0x01 0x10 # Para www # ipchains -A input -p tcp -i eth0 -s 0/0 80 -d 211.14.228.111 -j ACCEPT -t 0x01 0x10 Que significa: -t 0x01 0x10 = Minimum Delay -t 0x01 0x08 = Maximum Throughput -t 0x01 0x04 = Maximum Reliability -t 0x01 0x02 = Minimum Cost Com isso a taxa de download aumentou para 100kbps+-, nada mal, depois eu aumentei o window das placas de rede de 0 para 16384 ( 1024*16 ) mas alguns sistemas poderão funcionar melhor com 8192(1024*8) ou até mesmo com 4096(1024*4) descubra qual é o melhor para vc. Verifique com netstat -rn. Depois no mesmo link (http://www.dslreports.com/tweaks#key) eu peguei o programa para windows, modifiquei o registro e dei um reboot. Esperimentei fazer o download ( sempre pelo mesmo link )e a taxa subiu para 215kbps. Not bad, not bad... Na net tá rolando uma conversa sobre este programa(http://www.speedbit.com/) peguei ele e esperimentei fazer o download novamente, usando o programa ele mostra uma taxa de 258~301 kbps. No linux as coisas ficaram rápidas também, usando o gnapster, se eu pegar mp3 de alguém que esteja servindo em T1 dependendo dá música ( 2.5MB +-) vem em 30~35 segundos, que antes dava 1 minuto/1 minuto e meio. Esperimentem e veja como fica. Se alguém conhecer outras modificações para o acelerar mais o network do Linux eu gostaria de saber. T+ ********************************************************************** Voce simplesmente digita : /sbin/ipchains -A input -p tcp -i eth0 -d 0.0.0.0/0 6667:8000 -j DENY Com isso ele vai bloquear esta faixa de portas. Abracos, At 11:50 08/08/2000 -0300, you wrote: >/sbin/ipchains -A input -p tcp -i eth0 -d 0.0.0.0/0 6667-8000 -j DENY >/sbin/ipchains -A input -p udp -i eth0 -d 0.0.0.0/0 6667-8000 -j DENY -------------- >>Supondo que atualmente existam muitos servidores de irc com muitas portas, >>tem como fecha-las ao mesmo tempo? >>tipo, um lote de 6667 a 8000..etc... ********************************************************************** Edite o script que esta iniciando seu ip_masquerading e adicione as linhas que precisar: #! /bin/sh . /etc/rc.d/init.d/functions . /etc/sysconfig/network echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/ipchains -P forward DENY /sbin/ipchains -A forward -s 192.168.10.0/255.255.255.0 -j MASQ /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_quak /sbin/modprobe ip_masq_irc <--- esse é o modulo irc /sbin/modprobe ip_masq_user /sbin/modprobe ip_masq_raudio /sbin/modprobe ip_masq_cuseeme > Você precisa configurar o IP_Masquerading para permitir o > trafégo de pacotes do mirc. Você esta usando o ipchains ? > Assunto: (linux-br) CTM - Ip_masquerading: COmo fazer pra funcionar com > irc??? > > >To com o IP_Masquerading funcionando aqui pra Homepages e Email.. > >mas o Comp cliente (windows) naum consegue usar o mirc... ********************************************************************** > ipchains -A input -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 www REDIRECT 8080 Faltou um ítem: ipchains -A input -t tcp -s 0/0 -d 0/0 www -j REDIRECT 8080 ^^ O 0/0 é equivalente à 0.0.0.0/0 e, fora isto, eu recomendaria usar o endereço da sua rede interna no campo "-s" (source - origem). O que faltou foi o "-j" para ir a uma regra da cadeia. +-----------------------------------------------------------------------+ ********************************************************************** >(pop3+smtp), no entanto estou com dificuldades. É facil configurar o IP >Mascarading para prover o acesso a internet inteira para o usuario, porem >preciso que o ip-mascarading deixe passar apenas pacores pop3 e smtp. >Estou fazendo assim : > >ipchains -A forward -p tcp -j MASQ -s 192.168.0.150/24 110 >ipchains -A forward -p tcp -j MASQ -s 192.168.0.150/24 25 > >mas nao ta dando certo. Você quer restringir a porta no DESTINO, e não na ORIGEM. A sua regra deixa passar somente pacotes com porta de ORIGEM 25 e 110. O correto seria liberar a porta no DESTINO. O correto seria: ipchains -A forward -p tcp -j MASQ -s 192.168.0.150/24 -d 0.0.0.0/0 110 ipchains -A forward -p tcp -j MASQ -s 192.168.0.150/24 -d 0.0.0.0/0 25 E deixe passar também DNS, senão nada funcionará: ipchains -A forward -p udp -j MASQ -s 192.168.0.150/24 -d 0.0.0.0/0 53 ipchains -A forward -p tcp -j MASQ -s 192.168.0.150/24 -d 0.0.0.0/0 53 ********************************************************************** Bem, por DEFAULT, o ipchains não loga nada. Mas para que ele passe a logar, basta que você inclua a opção '--log' na linha que você libera o Masquerading pra sua rede. A partir desse momento, TUDO relacionado àquela regra será logado no /var/log/messages ( ou o arquivo de log do kernel, que pode variar de acordo com sua distribuição de Linux ). Nesse log consta a interface de rede de onde veio o pacote, tipo de protocolo, porta de origem, porta de destino, ip de origem, ip de destino, tamanho do pacote, etc etc.... Agora já vou avisando. Ele não loga endereços tipo www.playboy.com.br não. Ele loga somente IP. Caso você queira um log do que o seu pessoal NAVEGA, sugiro que procure um Squid + Transparent Proxy, já que para navegação os logs do Squid são MUUUUUUUUUUUUITO mais interessantes que os logs puros do Masquerading. Atenciosamente, Leonado Rodrigues > Olá a todos,.... tenho um gateway fazendo mascaramento para uma rede >virtual de mais ou menos 50 micros, gostaria de saber se as requesições >oriundas destas estações são armazenadas em algum lugar ??? O ipchains gera >algum arquivo de log mostrando qual é o ip da máquina e o serviço >requesitado ??? ********************************************************************** eh um pouco dificil solucionar todos os seu problemas com um unico email- vou passar uma receita de bolo, imaginando que voce possa fazer o que vou pedir .. 1) crie uma regra de firewall para mascarar seus ips internos .. ipchains -A forward -d 0.0.0.0/0.0.0.0 -s 192.168.0.0/24 -j MASQ * caso sua rede interna seja diferente de 192.168.0, subistitua a tal .. 2) feche todas as portas de entrada ( uma linha dessa para cada porta) ipchains -I input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0.0/0.0.0.0 80 -p tcp -i ppp0 -j DENY 3) carregue os modulos extras do IP MASCARADO modprobe ip_masq_ftp modprobe ip_masq_irc agora seus usuarios ja podem navegar, fazer ftp, pop, smtp etc... se nao for bem isso que voce quer ,, mande novamente suas duvidas com mais informacoes > Seguinte, estou com um super problema, e peco ajuda aos entendidos: > - Preciso saber se configurando o ipchains eu consigo acessar a web,ftp, pop, > smtp e icq diretamente das maquinas da minha rede interna, semo uso de squid, > sendmail, e afins. Isso eh possihvel? ********************************************************************** > # conexao Internet > > echo 1 > /proc/sys/net/ipv4/ip_forward > > modprobe ip_masq_ftp > > /sbin/ipchains -F flush, ou seja, apaga todas as regras de todas as chains. > /sbin/ipchains -X expurge, apaga todas as chais definidas pelo usuario. esses dois comandos server para limpar todas as chains e apagar as nao padrao. > > > O que significa estas duas ultimas linhas??? /sbin/... buenas, o programa em questao (ipchains) ew um firewall implementado no kernel do linux. ele possui chains (INPUT, OUTPUT e FORWARD) INPUT refere-se aos pacotes que chegam em determinada interface OUTPUT ew o mesmo q input mas ew quando os pacotes estao saindo. FORWARD ew pra repasse de pacotes, ou seja, quando tu tem uma sub-rede e quer fazer mascaramento, compartilhando a sua conexao internet com a sub-rede. em resumo, um pacote pode estar chegando (input) ou saindo (output) , estes podem ser (ou nao) repassados para a sub-rede (forward) a primeira linha habilita o repasse de pacotes (echo 1 > /proc/sys/net/ipv4/ip_forward). se vc nao tem uma sub-rede, comente esta linha e as duas outras pode deixar como esta, nao tem galho. a segunda linha carrega um modulo para grenciar conexoes ftp entre a sub rede e o mundo exterior. assim como tem ftp, te tmbm icq, real_audio, e por ai vai. maiores detalhe (ipchains-howto (muito bom) e man ipchains ********************************************************************** DIALPAD.COM LIGAR PARA USS Olá pessoal... não sei se alguém aqui conhece o DIALPAD.COM (www.dialpad.com) é um site que oferece um serviço de ligações somente para os E.U.A. O papo é o seguinte a secretária aqui pediu a mim para que eu configurasse o software para ela... Só que eu não preciso configurar nada, é só acessar o site e fazer o cadastro e pronto! É só sair falando, certo? Errado! Não conseguia falar nada... somente conseguia ouvir a outra pessoa! Minha voz não chegava lá! Ou seja, depois de algumas pesquisas... vi que tinha que configurar o Firewall para passar a voz. Pois bem configurei o IPMASQADM com as seguintes regras: /usr/sbin/ipmasqadm autofw -A -v -u -r udp 51200 51201 -c tcp 7175 /usr/sbin/ipmasqadm autofw -A -v -u -r udp 51210 51210 -c tcp 7175 e coloquei essa regra no /etc/rc.d/rc.local blz... funcionou direitinho! Ambas as pessoas conseguiram ouvir uma a outra. O problema agora é o seguinte.... Instalei o Squid, e configurei para fazer cache etc.. tudo na porta 3128, mas agora depois que instalei o Squid, parou de funcionar!!! Ninguém ouve mais ninguém!!! Alguém já passou por isso? ********************************************************************** > > Estou tentando usar o exemplo das regras de Firewall do IPCHAINS-HOWTO > Mas ta dando deny pra quase todos os sentidos! Aquele esquema não é ruim de entender, é PÉSSIMO. Abaixo vai um que eu fiz. Está mais "didático". #! /bin/sh -x #echo "################################################################" >> /var/log/firewall.log ALDEBARAN="200.237.249.3" ALDEBARAN2="200.237.249.253" OMEGA="200.237.247.50" ESCRIT="200.237.247.96/27" RAS="200.237.247.192/27" LCMI="150.162.14.0/24" BACKUP="200.237.247.110" OMEGA2="200.237.247.100" WEBCALL="200.237.247.120" ipchains -F ipchains -P input DENY ipchains -A input -j ACCEPT -p tcp -s 0/0 -d ${OMEGA} 22 ipchains -A input -j ACCEPT -p tcp -s 0/0 -d ${BACKUP} 22 ipchains -A input -j ACCEPT -p udp -s 0/0 -d ${OMEGA} 53 ipchains -A input -j ACCEPT -p udp -s 0/0 -d ${OMEGA2} 53 ipchains -A input -j ACCEPT -p tcp -s ${ALDEBARAN} -d ${OMEGA} 53 ipchains -A input -j ACCEPT -p udp -s ${ALDEBARAN} -d ${OMEGA} 53 ipchains -A input -j ACCEPT -p icmp -d ${OMEGA} ipchains -A input -j ACCEPT -p tcp -s 0/0 -d ${OMEGA} 80 ipchains -A input -j ACCEPT -s localhost -d localhost -i lo ipchains -A input -j ACCEPT -p udp -s 0/0 -d ${OMEGA} 500:1000 ipchains -A input -j ACCEPT -p udp -s 0/0 -d ${OMEGA} 1024: ipchains -A input -j ACCEPT ! -y -p tcp -s 0/0 -d ${OMEGA} 1024: ipchains -A input -j ACCEPT -p tcp -s ${ALDEBARAN} 22 -d ${OMEGA} ################## # Rede interna ################# ipchains -A input -j ACCEPT -s ${ESCRIT} -d 0/0 ipchains -A input -j ACCEPT -s ${RAS} -d 0/0 ipchains -A input -j ACCEPT -p tcp -s 0/0 22 -d ${ESCRIT} # NetBus ipchains -A input -j DENY -l -p tcp -d ${ESCRIT} 12345:12346 # NetBus 2 ipchains -A input -j DENY -l -p tcp -d ${ESCRIT} 20034 # BackOrifice ipchains -A input -j DENY -l -p tcp -d ${ESCRIT} 31337 ipchains -A input -j ACCEPT ! -y -p tcp -s 0/0 -d ${ESCRIT} 1024: # traceroute ipchains -A input -j ACCEPT -p udp -d ${ESCRIT} 33434:33465 ipchains -A input -j ACCEPT -p udp -s 0/0 -d ${ESCRIT} 1024: ipchains -A input -j ACCEPT -p tcp -s 0/0 -d ${WEBCALL} 80 ipchains -A input -j ACCEPT -p icmp -s 0/0 -d ${ESCRIT} ipchains -A input -j ACCEPT -p tcp -s 0/0 20 -d ${ESCRIT} ipchains -A input -j ACCEPT -p tcp -s 0/0 -d ${ESCRIT} 113 # backup ipchains -A input -j ACCEPT -p tcp -s ${ALDEBARAN2} -d ${BACKUP} 514 ipchains -A input -j ACCEPT -p tcp -s ${ALDEBARAN2} -d ${BACKUP} 1020:1025 ipchains -A input -l -j DENY ipchains -L ********************************************************************** > 3)fiz o bash assin: > #!/bash > > /sbin/ipchains - F # zerei tudo p/ nao ter prob. Grande passo!!! > /sbin/ipchains -P input ACCEPT > /sbin/ipchains -P output ACCEPT > /sbin/ipchains -P forward DENY > > /sbin/ipchains -M -S 7200 60 600 # tentei com e sem esta linha Olha, eu nao uso essa opcao e funciona.... > > /sbin/modprobe ip_masq_ftp #aprincipio ftp p/ teste se OK ativo o rst. > > echo 1 > /proc/sys/net/ipv4/ip_forward Isso deveria ser a primeira linha , antes até de flush (-F) > /sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ # esta ultima linha > # tentei tantas conbinaçoes que se fosse conbinaçao da senha tinha > acertado..... Só por essa regra , já deveria funcionar!?!? > # /sbin/ipchains -A forward -s 192.168.1.0/24 -d 0/0 -i ppp0 -j MASQ > # FIM do bash Se nao me engano, com essa ultima regra vc esta fazendo um grande favor aos crakers/ spoofers : Esta roteando tudo que *vier* pela interface ppp0 com endereco 192.168.1.X . Se o spoofer fizer um endereço falso , 192.168.1.bla , ele pode usar sua maquina p/ atacar outra (corrijam-me se estiver errado, please!). O certo talvez fosse: # /sbin/ipchains -A forward -s 192.168.1.0/24 -d 0/0 -i eth0 -j MASQ Só roteia o q vier da placa eth0. Use o comando de listar regrase veja se esta de acordo: ipchains -L Por essas regras, ja deveria funcionar http, pop,smtp, etc. FTP precisa de ip_masq_ftp. Ping e tracert precisa de suporte a ICMP no kernel. Tente isolar o problema, nem tudo é culpa do ipchains. []s -- >Do departamento dicas-de-2-centavos: >Bla.h not found? ble.so.0 nao achado? xyz: no such a file or directory? >Nao deixe de instalar um programa por causa disso.Use http://www.google.org: >Procure por "bla.h rpm" e saiba qual pacote rpm a contem! ********************************************************************** http://www.webzona.com.br/apostilas tem um monte de apostilas muito boas la. ********************************************************************** Falae Guilherme, realmente só faltava isso que vc disse, no meu caso ficou assim: ipchains -A -s 172.22.16.0/255.255.255.0 -d 0.0.0.0/0.0.0.0 -j MASQ descobri tb que tem que rodar outras linhas pra tudo funcionar corretamente, então criei um Script que executa na inicialização do Sistema.. Agora tá tudo funcionando perfeitamente, afinal é 100% LINUX ... VALEW ae pela dica cara !!! Subject: Re: [ano2001] Gateway, o que falta ? Com o IPCHAINS, você não faria roteamento, mas tornaria seu pc um gateway por uma técnica chamada IP MASQUERADING. Você teria que usar o squid + a regra do ipchains, que eu devo lembrar de cabeça: opchains -A -s 192.168.100.0/255.255.255.0 -d 0.0.0.0/0.0.0.0 -j MASQ presumindo que sua rede interna seja da faixa 192.168.100.0/255.255.255.0, eh este o comando que habilita o ip masquerading. Se o seu kernel eh padrão, deve funcionar, se não, procure um howto de ip masquerading. Subject: [ano2001] Gateway, o que falta ? Falae Galera, Estou com um problema de configuração de Gateway. Tenho uma máquina com 2 placas de rede, uma com IP fornecido pelo provedor da LP + Roteador Sisco ( eth1 - 200.x.x.x/255.255.255.248) e a outra placa com IP classe B ( eth0 - 172.22.16.1/255.255.255.0), essa máquina está cmo CL 5.1 e alcança os IPs internos pela eth0 e os externos pela eth1, configurei o SQUID neste servidor e os clientes estão funcionando blz através desse proxy. Mas não consigo fazer os clientes terem acesso a Internet sem o proxy, não consigo pingar nenhum IP externo, não consigo receber e-mails. Configurei a rota padrão no Servidor Linux com o IP do Gateway do Provedor e deixei habilitado o roteamente através dele, deixei os clientes configurados com o IP do meu servidor como Gateway. Tenho que rodar IPCHAINS para que as máquinas consigam acessar os demais serviços pela Internet ?? Ficando IPCHAINS + SQUID para fazer o roteamento ?? Ou dá pra rotear sem usar o IPCHAINS ?? ********************************************************************** o ipchains lhe dá recursos para isso ! Se não me engano pode ser assim : Regra: /sbin/ipchains -A input -s IP DA REDE INTERNA -d IP DA HOME PAG/80 -p all -l -j REJECT Se estiver errado por favor alguem dá uma dica ai !! >Tenho em minha maquina instalado o ipchains dando acesso a internet a outros >computadores, posso através dele bloquear o acesso a uma pagina qquer (ex. >www.bizarre.net ) ? Se ele não me dá recurso para isto, o que preciso usar >ou instalar no linux . ********************************************************************** ********************************************************************** ********************************************************************** **********************************************************************