Firewall simplificado [Redirecionamento de usuários]

Fórum destinado a discussões gerais e ajuda aos usuários do BrazilFW 2.x, para os idiomas (Inglês, Espanhol, Português e outros)
BrazilFW 2.x - Ayuda en general (todos los idiomas)
Foro de discusión general y ayudar a los usuarios BrazilFW 2.x para idiomas (Inglés, español, portugués y otros)
BrazilFW 2.x - Help in General (All Languages)
Forum for general discussions and help for users of BrazilFW 2.x, for languages (English, Spanish, Portuguese and others)

Firewall simplificado [Redirecionamento de usuários]

Mensagempor mastigozinho » Dom Jan 28, 2007 1:30 pm

Olá! Estou afastado do fórum por motivos superiores. Acho que esta dúvida quem poderar responder é o Claúdio! Meu colega estava adicionando regras para redirecionar usuários no firewall simplificado(editar regras personalizadas) e depois recarregava para que as regras entrassem em vigor... O problema era para retirar... Ele tirava as regras, porém elas não sumiam (pela lógica normal, porém por "recarregar firewall" não é normal).. E se ele não fizesse nenhuma alteração e mandasse recarregar o firewall as regras se repetiam... Tentei mandar limpar as regras, mas acabou retirando regras que já existiam...

O que aconteci quando clicko em "recarregar firewall" na tela "Configuração Simplificada do Firewall"?

Quero uma solução em relação a retirar as regras quando necessario... No shell isso é possível, porém gostaria de fazer isso pela própria tela onde meu colega adiciona as regras por causa da facilidade.

Para ser mais específico: adiciono duas regra na tabela nat (POSTROUTING) e depois quero tira-lás... Sei que existe duas formas de fazer isso... posso limpar POSTROUTING(iptables -t nat -F POSTROUTING) ou retirar as regras levando em consideração as suas posições em POSTROUTING (iptables -t nat -D POSTROUTING 1) ... Quado clicko em "carregar firewall" não deveria fazer isso automaticamente?... na verdade ele iria zerar tudo e depois colocar só as regras padrões!

Agradeço pela resposta!
Editado pela última vez por mastigozinho em Seg Jan 29, 2007 8:45 pm, em um total de 2 vezes.
mastigozinho
 

Mensagempor Claudio » Dom Jan 28, 2007 1:55 pm

Você está usando as tabelas da página do firewall simplificado ou está digitando comandos iptables manualmente nas regras personalizadas?

Informe exatamente como estão os seus arquivos de configuração.

Quando se recarrega o firewall o sistema só retira as regras dele. O que você põe, você tira.
Não dou suporte via mensagem privada e e-mail.
Por favor, não insista.
Avatar do usuário
Claudio
BFW Founder
BFW Beneméritos
 
Mensagens: 7553
Registrado em: Qui Ago 25, 2005 9:10 am
Localização: Vitória - ES - Brasil
BrazilFW Box:

Re: Firewall simplificado

Mensagempor mastigozinho » Dom Jan 28, 2007 2:25 pm

Estava usando comandos manualmente do iptables nas regras personalizadas... isso na versão 2.29BFW.. quando click em recarregar o firewall ele não apaga as regras... e se mandar recarregar ele duplica as regras...

Não mando o arquivo porque estou sem acesso a eles no momento...
mastigozinho
 

Mensagempor Claudio » Dom Jan 28, 2007 6:32 pm

OK,

Mas vou precisar ver os comandos para te orientar sobre como removê-los.
Não dou suporte via mensagem privada e e-mail.
Por favor, não insista.
Avatar do usuário
Claudio
BFW Founder
BFW Beneméritos
 
Mensagens: 7553
Registrado em: Qui Ago 25, 2005 9:10 am
Localização: Vitória - ES - Brasil
BrazilFW Box:

Mensagempor Marcos do Vale » Dom Jan 28, 2007 7:28 pm

Olha só como eu faço:

#Cria a chain msnblock
iptables -X msnblock
iptables -N msnblock
iptables -F msnblock
#Insere a chain como alvo nas conexões do msn
iptables -I FORWARD -d 65.54.0.0/16 -j msnblock
...

Assim fica fácil de administrar a regras personalizadas.
É só criar uma chain nova e redirecionar e tráfego da chain padrão do iptables para a sua chain.
Marcos do Vale
 

Mensagempor mastigozinho » Dom Jan 28, 2007 9:09 pm

Marcos do Vale escreveu:Olha só como eu faço:

#Cria a chain msnblock
iptables -X msnblock
iptables -N msnblock
iptables -F msnblock
#Insere a chain como alvo nas conexões do msn
iptables -I FORWARD -d 65.54.0.0/16 -j msnblock
...

Assim fica fácil de administrar a regras personalizadas.
É só criar uma chain nova e redirecionar e tráfego da chain padrão do iptables para a sua chain.


Tinha pensado nessa posibilidade! Obrigado pela idéia!!!

Claúdio olha aí as minhas regras personalizadas... Será que da pra colocar a idéia do Marcos como um recurso do Bfw?


# Local Custom Firewall rules

# Level 7 Filtering example:
#iptables -t mangle -A POSTROUTING -m layer7 --l7proto edonkey -j DROP

# Attention: To enable the commands below can cause some side effects
# Syn-flood and DOS protection
#iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Port Scanners protection
#iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#iptables -A FORWARD -p tcp --tcp-flags ALL SYN,ACK -j DROP
# Ping-of-dead protection
#iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Speed UP DNS
iptables -t mangle -A OUTPUT -p udp --dport 53 -j TOS --set-tos 0x08
iptables -t mangle -A PREROUTING -p udp --dport 53 -j TOS --set-tos 0x10

# Speed UP HTTP
iptables -t mangle -A OUTPUT -p tcp -j TOS --sport 80 --set-tos 0x08
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TOS --set-tos 0x08
iptables -t mangle -A OUTPUT -p tcp -j TOS --sport 80 --set-tos 0x10
######################################################################

# Redirecionamento de usuários

## 1° usuário
#redireciona para 192.168.1.1 porta 81 (Slackware + apache + squid[transparent])
iptables -t nat -I PREROUTING -s 192.168.10.2/32 -p tcp --dport 80 -d ! 192.168.1.1 -j DNAT --to-destination 192.168.1.1:81
# Bloqueia o resto
iptables -t nat -I POSTROUTING -s 192.168.10.2/32 -p tcp --dport ! 80:81 -j DROP

## 2° usuário
#redireciona para 192.168.1.1 porta 81 (Slackware + apache + squid[transparent])
iptables -t nat -I PREROUTING -s 192.168.10.3/32 -p tcp --dport 80 -d ! 192.168.1.1 -j DNAT --to-destination 192.168.1.1:81
# Bloqueia o resto
iptables -t nat -I POSTROUTING -s 192.168.10.3/32 -p tcp --dport ! 80:81 -j DROP


Nessa idéia queria que quando clicka-se no recarregar firewal limpa-se as regras e adiciona-se novamente... Na sua idéia da certo Marcos, mas quanto as referências que criamos a nova chain vai dar problema pois elas não são apagadas quando retiramos das regras personalizadas!
mastigozinho
 

Mensagempor mastigozinho » Seg Jan 29, 2007 5:49 am

Olá Claúdio! Graças ao Deus Eterno apareceu uma solução aqui! Diga onde pode ser melhorada!

Editamos o arquivo /etc/rc.d/rc.inet e adicionamos:



# Criar regras para redirecionamento
iptables -t nat -N BLOQUEAR
iptables -t nat -N REDIRECIONAR
iptables -t nat -I PREROUTING -d ! 192.168.1.1 -p tcp --dport 80 -j REDIRECIONAR
iptables -t nat -I POSTROUTING -d ! 192.168.1.1 -p tcp --dport ! 80:81 -j BLOQUEAR



Criamos um script

#!/bin/sh
PATH=$PATH:/usr/sbin

# Arquivo com os ip's
arquivo=/etc/ip.log

# Limpa as regras anteriores! Segredinho...
iptables -t nat -F REDIRECIONAR
iptables -t nat -F BLOQUEAR

clear

if [ -r $arquivo ]; then
for lista in `cat $arquivo`; do
IP=`echo $lista`
iptables -t nat -A REDIRECIONAR -s $IP -d ! 192.168.1.1 -p tcp --dport 80 \
-j DNAT --to-destination 192.168.1.1:81
iptables -t nat -A BLOQUEAR -s $IP -d ! 192.168.1.1 -p tcp --dport ! 80:81 -j DROP
done
fi

E criamos o arquivo /etc/ip.log com os ip's que queremos bloquear...


Editamos o arquivo /etc/coyote/firewall.local e deixamos ele assim:

# Executa script para bloquear ou desbloquear os usuarios
/etc/controle_usuario.sh



Alteramos a tela "Configuração simplificada do firewall"

o conteúdo do arquivo /var/http/htdocs/cgi-bin/sfirewall.cgi ficou assim (final do arquivo):

Código: Selecionar todos
table class=maintable tr td class=row1
$Egf /td td class=row2 /b a href=$SCRIPT?ACTION=RELOAD u $Pau /u /a   |  
a href="editconf.cgi?CONFFILE=/etc/coyote/firewall&DESCFILE=Firewall Configuration" u $Pav /u /a    |  
Parte que alteramos  a href="editconf.cgi?CONFFILE=/etc/coyote/firewall.local&DESCFILE=Custom Firewall Rules" u $Pdh /u /a  |
a href="editconf.cgi?CONFFILE=/etc/ip.log&DESCFILE=Controle de Usuários" u Controle de Usuários /u /a ] /td /tr /table br
CLEOF
#rm -f /tmp/sfw_* 1> /dev/null 2> /dev/null
cl_footer2

(tiramos os sinais <> por que não estavamos conseguindo motrar a alteração efetuada)

Dessa maneira ficou agradavél! Quando reiniciamos o computador ele volta com as regras normalmente.. E quando queremos tirar as regras é só retirar editando o arquivo apartir da tela do firewall simplificado( a alteração permiti acessar o arquivo dos ip's)... Quando você me pediu as regras para me falar onde colocá-las pensei que tinha um local certo para elas... E é verdade mesmo!!! Obrigado pelo ajuda Claúdio!! Fale onde pode melhorar! E é lógico! Está meio cazeiro, mas é uma idéia primitiva do que o pessoal do tópico( viewtopic.php?t=56049 ) estão querendo fazer (não sei se conseguiram)...

Essa idéia leva em consideração outro servidor (no caso, Slackware 10.2) rodando o apache na porta 81 por causa dos outros serviços... No computador onde tem o proxy transparente o apache não poderar rodar na porta 80

Só para lhe informar: Está dando uns erros quando tento acessar o fórum. Será que o problema é no meu computador(tenho 99% de não)? Mostra uma mensagem dizendo que deu um erro na conexão com o banco de dados e as vezes diz assim: "

phpBB : Critical Error

Could not connect to the database

"

Se tiver algum erro de ortográfia tenham paciência... é só olhar a hora que escrevi...

Dou Graças a Deus pois deu tudo certo! Mesmo que não tivesse dado eu também daria graças a Ele! Não agradecemos só as coisas boas, mas as ruins também pois tudo é permissão Dele! :)
mastigozinho
 

Mensagempor Claudio » Seg Jan 29, 2007 8:32 am

Essa é uma ótima solução.
Exatamente o que eu iria sugerir que você fizesse.

Realmente a referencia aos chains personalizados não é apagada, mas isso não traz nenhum problema já que você esvaziou o chain.

Só para lhe informar: Está dando uns erros quando tento acessar o fórum. Será que o problema é no meu computador(tenho 99% de não)? Mostra uma mensagem dizendo que deu um erro na conexão com o banco de dados e as vezes diz assim: "


Isso é um pequeno problema com nosso provedor. Felizmente o suporte deles é muito bom e já está sendo resolvido.
Não dou suporte via mensagem privada e e-mail.
Por favor, não insista.
Avatar do usuário
Claudio
BFW Founder
BFW Beneméritos
 
Mensagens: 7553
Registrado em: Qui Ago 25, 2005 9:10 am
Localização: Vitória - ES - Brasil
BrazilFW Box:

Mensagempor mastigozinho » Seg Jan 29, 2007 11:07 am

Claudio escreveu:Essa é uma ótima solução.
Exatamente o que eu iria sugerir que você fizesse.

Realmente a referencia aos chains personalizados não é apagada, mas isso não traz nenhum problema já que você esvaziou o chain.

Só para lhe informar: Está dando uns erros quando tento acessar o fórum. Será que o problema é no meu computador(tenho 99% de não)? Mostra uma mensagem dizendo que deu um erro na conexão com o banco de dados e as vezes diz assim: "


Isso é um pequeno problema com nosso provedor. Felizmente o suporte deles é muito bom e já está sendo resolvido.


Essa idéia (de todos nós) poderia está presente no Bfw como default?
mastigozinho
 

Mensagempor Claudio » Seg Jan 29, 2007 12:14 pm

Essa idéia (de todos nós) poderia está presente no Bfw como default?


Como assim???
Não dou suporte via mensagem privada e e-mail.
Por favor, não insista.
Avatar do usuário
Claudio
BFW Founder
BFW Beneméritos
 
Mensagens: 7553
Registrado em: Qui Ago 25, 2005 9:10 am
Localização: Vitória - ES - Brasil
BrazilFW Box:

Mensagempor mastigozinho » Seg Jan 29, 2007 1:27 pm

Claudio escreveu:
Essa idéia (de todos nós) poderia está presente no Bfw como default?


Como assim???


Tipo assim: uma tela no webadmin para colocarmos o ip do usuário para ser redirecionado e o ip do webserver que pode ser o próprio bfw.

Essa tela poderia ser parecida com a do dhcp... nela teria um checkbox para dizermos se o usuário está redirecionado ou não... Poderia usar o arquivo do dhcp ou do qos como base para a configuração!

Falo isso porque têm muitos colegas que estão fazendo "gambiarras" com o bfw... Nós sabemos que ele pode fazer isso, falta organização!

Essa idéia irar beneficiar muitas pessoas! Temos certeza disso!

Uma informação relacionada a esse assunto: tem como através de um link efetuar log no bfw(cgi) e mandar ele recarregar o firewall(rc.firewall)?

Estou perguntando porque quero automatizar o bloqueio(redirecionamento) ou o desbloqueio sem depender de nenhum outro programa a não ser o navegador!

Obrigado pela atenção!
mastigozinho
 

Mensagempor vanderlpp » Seg Jan 29, 2007 5:23 pm

aprovo a ideia de ter isso fixo no BFW... seria muito bom... eu ate hj nao implementei isso por falta de tempo pra mexer nas gambiarras feitas... teria de ser uma coisa local, senao perderia acesso ao bfw... ja que eu nao fico na rede onde tenho os bfws...
em atualização ...

aguarde...
Avatar do usuário
vanderlpp
BFW Master
 
Mensagens: 1605
Registrado em: Qua Ago 02, 2006 10:49 am
Localização: Rio de Janeiro
BrazilFW Box:

Mensagempor joselbjr » Seg Jan 29, 2007 5:38 pm

mastigozinho escreveu:
Claudio escreveu:
Essa idéia (de todos nós) poderia está presente no Bfw como default?


Como assim???


Tipo assim: uma tela no webadmin para colocarmos o ip do usuário para ser redirecionado e o ip do webserver que pode ser o próprio bfw.

Essa tela poderia ser parecida com a do dhcp... nela teria um checkbox para dizermos se o usuário está redirecionado ou não... Poderia usar o arquivo do dhcp ou do qos como base para a configuração!

Falo isso porque têm muitos colegas que estão fazendo "gambiarras" com o bfw... Nós sabemos que ele pode fazer isso, falta organização!

Essa idéia irar beneficiar muitas pessoas! Temos certeza disso!

Uma informação relacionada a esse assunto: tem como através de um link efetuar log no bfw(cgi) e mandar ele recarregar o firewall(rc.firewall)?

Estou perguntando porque quero automatizar o bloqueio(redirecionamento) ou o desbloqueio sem depender de nenhum outro programa a não ser o navegador!

Obrigado pela atenção!


Se for possível, será "totalmente excelente"..
Ficaria muito mais amistoso, assim como o sistema se propõe e é....
Além disso, será possível algum dia redirecionar para uma página, ao invés de Ip e porta, pergunto isso porque poderíamos criar vários avisos em sites de hospedagem grátis, que não fornecem o IP real do site...
pois nem sempre vc quer bloquear o cliente..Eu por exemplo tô querendo colocar o BFW pra controlar a minha rede sem fio, eu queria que qq um com antena sem fio pudesse se cpnectar e ser direcionado pra uma página simples, com os dados do provedor (sem ter que pagar um servidor pra isto), mas não conseguisse navegar...rsrs. detsa forma, eu manteria o servidor do BFW (webcontrol) com a função de bloquear os inadimplentes...
No mais, é isso!
:P
Parabéns a todos!!!
joselbjr
 

Mensagempor Claudio » Seg Jan 29, 2007 6:12 pm

Se for possível, será "totalmente excelente"..
Ficaria muito mais amistoso, assim como o sistema se propõe e é....


Sim, é possivel. Vou colocar isso na lista de pendencias.

Além disso, será possível algum dia redirecionar para uma página, ao invés de Ip e porta,


Aí não. Só com um proxy.
Roteador só reconhece ip e porta.
Não dou suporte via mensagem privada e e-mail.
Por favor, não insista.
Avatar do usuário
Claudio
BFW Founder
BFW Beneméritos
 
Mensagens: 7553
Registrado em: Qui Ago 25, 2005 9:10 am
Localização: Vitória - ES - Brasil
BrazilFW Box:

Mensagempor joselbjr » Seg Jan 29, 2007 6:29 pm

Além disso, será possível algum dia redirecionar para uma página, ao invés de Ip e porta,


Aí não. Só com um proxy.
Roteador só reconhece ip e porta.[/quote]

Obrigado pela prestatez, Cláudio.
Desculpe o meu pouco conhecimento, mas se eu instalar o squid no BFW eu conseguiria fazer o que eu descrevi acima? :?: :oops:
Parabéns pelo Projeto!! :lol:
joselbjr
 

Mensagempor Claudio » Seg Jan 29, 2007 8:08 pm

Eu não conheço o squid profundamente. Pergunte no forum sobre proxies.
Não dou suporte via mensagem privada e e-mail.
Por favor, não insista.
Avatar do usuário
Claudio
BFW Founder
BFW Beneméritos
 
Mensagens: 7553
Registrado em: Qui Ago 25, 2005 9:10 am
Localização: Vitória - ES - Brasil
BrazilFW Box:

Mensagempor joselbjr » Seg Jan 29, 2007 8:16 pm

Claudio escreveu:Eu não conheço o squid profundamente. Pergunte no forum sobre proxies.


Já estou indo pra lá!
Muito obrigado pela prestatez.
joselbjr
 

Mensagempor mastigozinho » Seg Jan 29, 2007 8:45 pm

Claudio escreveu:
Sim, é possivel. Vou colocar isso na lista de pendencias.


Obrigado Claúdio pela atenção! O pessoal vai gostar dessa "novidade"!
Vou esperar pra ver eesa função no BFW! Vai ficar bonito o negócio!!!

Valeu!!!

Com Deus podemos fazer tudo! Sem Deus nada feito! :)
mastigozinho
 

Mensagempor luapufo » Ter Fev 27, 2007 11:57 pm

Mastigozinho,
Tentei fazer esta regra sua e quando mando regarregar o Firewall, ele me diz isso:

Configuring firewall rules...
Configuring custom firewall rules...
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
Try `iptables -h' or 'iptables --help' for more information.
Bad argument ` '
/etc/controle_usuario.sh: /etc/controle_usuario.sh: 20: -j: not found
iptables: No chain/target/match by that name
Configuring port forwarding for internal hosts...
Running Line UP Scripts...
Checking need for update...
Current IP...: x.x1.x2.x2
Old IP.......: x.x1.x2.x
The update of bqinvelox.no-ip.biz is not needed


uso BFW 2.30, tirei o tinyproxy e mesmo assim, não funciona
luapufo
 

Mensagempor mastigozinho » Qua Fev 28, 2007 2:42 am

luapufo1 escreveu:Mastigozinho,
Tentei fazer esta regra sua e quando mando regarregar o Firewall, ele me diz isso:

Configuring firewall rules...
Configuring custom firewall rules...
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
Try `iptables -h' or 'iptables --help' for more information.
Bad argument ` '
/etc/controle_usuario.sh: /etc/controle_usuario.sh: 20: -j: not found
iptables: No chain/target/match by that name
Configuring port forwarding for internal hosts...
Running Line UP Scripts...
Checking need for update...
Current IP...: x.x1.x2.x2
Old IP.......: x.x1.x2.x
The update of bqinvelox.no-ip.biz is not needed


uso BFW 2.30, tirei o tinyproxy e mesmo assim, não funciona


Rapaz tá com um erro no script /etc/controle_usuario_sh(na regra usando o iptables)... copie e cole ele aqui que dou uma olhada... pareci que é na linha vinte do arquivo...
mastigozinho
 

Mensagempor luapufo » Qua Fev 28, 2007 7:17 am

meu arquivo controle_usuario.sh

#!/bin/sh
PATH=$PATH:/usr/sbin

# Arquivo com os ip's
arquivo=/etc/ip.log

# Limpa as regras anteriores! Segredinho...
iptables -t nat -F REDIRECIONAR
iptables -t nat -F BLOQUEAR

clear

if [ -r $arquivo ]; then
for lista in `cat $arquivo`; do
IP=`echo $lista`
iptables -t nat -A REDIRECIONAR -s $IP -d ! 192.168.0.1 -p tcp --dport 80 \
-j DNAT --to-destination 192.168.0.1:80
iptables -t nat -A BLOQUEAR -s $IP -d ! 192.168.0.1 -p tcp --dport ! 80:80 -j DROP
done
fi
luapufo
 

Mensagempor mastigozinho » Sex Mar 02, 2007 1:22 am

luapufo1 escreveu:meu arquivo controle_usuario.sh

#!/bin/sh
PATH=$PATH:/usr/sbin

# Arquivo com os ip's
arquivo=/etc/ip.log

# Limpa as regras anteriores! Segredinho...
iptables -t nat -F REDIRECIONAR
iptables -t nat -F BLOQUEAR

clear

if [ -r $arquivo ]; then
for lista in `cat $arquivo`; do
IP=`echo $lista`
iptables -t nat -A REDIRECIONAR -s $IP -d ! 192.168.0.1 -p tcp --dport 80 \
-j DNAT --to-destination 192.168.0.1:80
iptables -t nat -A BLOQUEAR -s $IP -d ! 192.168.0.1 -p tcp --dport ! 80:80 -j DROP
done
fi


Revise se você fez direitinho o primeiro passo...

Editamos o arquivo /etc/rc.d/rc.inet e adicionamos:

# Criar regras para redirecionamento
iptables -t nat -N BLOQUEAR
iptables -t nat -N REDIRECIONAR
iptables -t nat -I PREROUTING -d ! 192.168.1.1 -p tcp --dport 80 -j REDIRECIONAR
iptables -t nat -I POSTROUTING -d ! 192.168.1.1 -p tcp --dport ! 80:81 -j BLOQUEAR

Obs:No primeiro passo deixe assim a última regra:
iptables -t nat -I POSTROUTING -d ! 192.168.0.1 -p tcp --dport ! 80 -j BLOQUEAR

Depois vá no arquivo /etc/controle_usuario.sh e altere estas linhas:
iptables -t nat -A REDIRECIONAR -s $IP -d ! 192.168.0.1 -p tcp --dport 80 \ -j DNAT --to-destination 192.168.0.1
iptables -t nat -A BLOQUEAR -s $IP -d ! 192.168.0.1 -p tcp --dport ! 80:80 -j DROP

deixe assim:
iptables -t nat -A REDIRECIONAR -s $IP -d ! 192.168.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1
iptables -t nat -A BLOQUEAR -s $IP -d ! 192.168.0.1 -p tcp --dport ! 80 -j DROP

Veja se dá tudo certo aí e me diz uma resposta!
mastigozinho
 

Mensagempor luapufo » Sex Mar 02, 2007 7:42 am

vou postar os arquivos que alterei:

rc.inet

#!/bin/sh
# Coyote INET Startup Script
# Author: Joshua Jackson <jjackson>

[ -r /tmp/netsubsys.state ] && rm -f /tmp/netsubsys.state
[ -r /tmp/ready ] && rm -f /tmp/ready
[ -e /tmp/realdns* ] && rm -rf /tmp/realdns*

[ -n "$MAX_CONNTRACK" ] && echo $MAX_CONNTRACK > /proc/sys/net/ipv4/ip_conntrack_max

[ -e /etc/ppp/pap-secrets ] && rm -rf /etc/ppp/pap-secrets

# Set the interfaces to use for Internet / Internal Networks
if [ -z "$IF_LOCAL" ]; then
IF_LOCAL=eth0
fi

if [ -z "$IF_INET" ]; then
if [ "$INETTYPE" != "PPPOE" ] || ip link set eth1 mtu 1500 >/dev/null 2>&1; then
IF_INET=eth1
else
IF_INET=$IF_LOCAL
fi
fi

if [ -n "$DMZ_IPADDR" ] ; then
if [ -z "$IF_DMZ" ]; then
if [ "$INETTYPE" = "PPP" ] ; then
IF_DMZ=eth1
else
IF_DMZ=eth2
fi
fi
DMZ_UP=DOWN
fi

INET_UP=DOWN
LOCAL_UP=DOWN

. /usr/sbin/write_state.sh

if [ -n "$MAC_SPOOFING" ]; then
echo "Setting up MAC address $MAC_SPOOFING on $IF_INET ..."
ifconfig $IF_INET hw ether $MAC_SPOOFING
fi

# Set the hostname
[ -z "$HOSTNAME" -a -n "$DHCPHOSTNAME" ] && HOSTNAME="$DHCPHOSTNAME"
[ -z "$HOSTNAME" ] && HOSTNAME="brazilfw"
hostname $HOSTNAME

# Set the domainname
[ -z "$DOMAINNAME" -a -n "$DHCPD_DOMAIN" ] && DOMAINNAME="$DHCPD_DOMAIN"
[ -z "$DOMAINNAME" ] && DOMAINNAME="localdomain"


# Some additional IP security tweaks
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
for i in /proc/sys/net/ipv4/conf/*; do
echo 0 > $i/send_redirects
echo 0 > $i/accept_redirects
echo 1 > $i/secure_redirects
echo 0 > $i/accept_source_route
echo 0 > $i/bootp_relay
echo 0 > $i/proxy_arp
done

# Criar regras para redirecionamento
iptables -t nat -N BLOQUEAR
iptables -t nat -N REDIRECIONAR
iptables -t nat -I PREROUTING -d ! 192.168.1.1 -p tcp --dport 80 -j REDIRECIONAR
iptables -t nat -I POSTROUTING -d ! 192.168.0.1 -p tcp --dport ! 80 -j BLOQUEAR




# Clear existing firewall rule sets
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X

# Create Masquerade rulesets
iptables -t nat -N nat-masks
iptables -t nat -I POSTROUTING -j nat-masks

# Create the Simplified Firewall rulesets
iptables -N user-filter
iptables -N port-filter
iptables -t mangle -N l7-filter
iptables -t mangle -N Subnet_qos
iptables -I FORWARD -j port-filter
iptables -I FORWARD -j user-filter
iptables -t mangle -I POSTROUTING -j l7-filter
iptables -t mangle -I POSTROUTING -j Subnet_qos

# Create the port-forward rulesets
iptables -N autofw-acl
iptables -t nat -N auto-forward
iptables -N portfw-acl
iptables -t nat -N port-forward
iptables -N access-acl
iptables -t nat -N nat-acl
iptables -t nat -N dns-preroute
iptables -t nat -N dns-postroute
iptables -I FORWARD -j portfw-acl
iptables -I FORWARD -j autofw-acl
iptables -I FORWARD -j access-acl
iptables -t nat -I PREROUTING -j port-forward
iptables -t nat -I PREROUTING -j auto-forward
iptables -t nat -I PREROUTING -j dns-preroute
iptables -t nat -I POSTROUTING -j dns-postroute
iptables -t nat -I PREROUTING -j nat-acl

# Create the remote administration rule
iptables -N remote-admin
iptables -I INPUT -j remote-admin
iptables -A INPUT -j user-filter

# Create Interface Filtering rulesets
iptables -N if-filter
iptables -N log-and-drop

# Accept Established Connections
iptables -I INPUT -m state --state INVALID -j DROP
iptables -I INPUT -m state --state established,related -j ACCEPT
iptables -I FORWARD -m state --state INVALID -j DROP
iptables -I FORWARD -m state --state established,related -j ACCEPT

# Bring up the loopback interface
ip link set lo up
ip addr add 127.0.0.1/8 dev lo

# Configure the LAN network
echo "Configuring LAN network interface..."
eval `ipcalc -p $LOCAL_IPADDR $LOCAL_NETMASK`
if [ -z $LOCAL_NETWORK ]; then
eval `ipcalc -n $LOCAL_IPADDR $LOCAL_NETMASK`
LOCAL_NETWORK=$NETWORK
echo "LOCAL_NETWORK=$NETWORK" >> /etc/coyote/coyote.conf
fi
if [ -z $LOCAL_BROADCAST ]; then
eval `ipcalc -b $LOCAL_IPADDR $LOCAL_NETMASK`
LOCAL_BROADCAST=$BROADCAST
echo "LOCAL_BROADCAST=$BROADCAST" >> /etc/coyote/coyote.conf
fi
ip link set $IF_LOCAL up
ip addr add $LOCAL_IPADDR/$PREFIX broadcast $LOCAL_BROADCAST dev $IF_LOCAL
if [ $? = 0 ]; then
LOCAL_UP=UP
if [ ! -z $LOCAL_IPADDR2 ]; then
eval `ipcalc -p $LOCAL_IPADDR2 $LOCAL_NETMASK2`
ip addr add $LOCAL_IPADDR2/$PREFIX broadcast + dev $IF_LOCAL
fi
if [ ! -z $LOCAL_IPADDR3 ]; then
eval `ipcalc -p $LOCAL_IPADDR3 $LOCAL_NETMASK3`
ip addr add $LOCAL_IPADDR3/$PREFIX broadcast + dev $IF_LOCAL
fi
else
LOCAL_UP=DOWN
echo "The Local Network Interface Card was not set properly"
logger "The Local Network Interface Card was not set properly"
fi

# Configure the DMZ network
if [ ! -z $DMZ_IPADDR ]; then
DMZ_UP=DOWN
echo "Configuring DMZ network interface..."
eval `ipcalc -p $DMZ_IPADDR $DMZ_NETMASK`
if [ -z $DMZ_NETWORK ]; then
eval `ipcalc -n $DMZ_IPADDR $DMZ_NETMASK`
DMZ_NETWORK=$NETWORK
echo "DMZ_NETWORK=$NETWORK" >> /etc/coyote/coyote.conf
fi
if [ -z $DMZ_BROADCAST ]; then
eval `ipcalc -b $DMZ_IPADDR $DMZ_NETMASK`
DMZ_BROADCAST=$BROADCAST
echo "DMZ_BROADCAST=$BROADCAST" >> /etc/coyote/coyote.conf
fi
ip link set $IF_DMZ up
ip addr add $DMZ_IPADDR/$PREFIX broadcast $DMZ_BROADCAST dev $IF_DMZ
if [ $? = 0 ]; then
DMZ_UP=UP
if [ ! -z $DMZ_IPADDR2 ];then
eval `ipcalc -p $DMZ_IPADDR2 $DMZ_NETMASK2`
ip addr add $DMZ_IPADDR2/$PREFIX broadcast + dev $IF_DMZ
fi
if [ ! -z $DMZ_IPADDR3 ]; then
eval `ipcalc -p $DMZ_IPADDR3 $DMZ_NETMASK3`
ip addr add $DMZ_IPADDR3/$PREFIX broadcast + dev $IF_DMZ
fi
else
DMZ_UP=DOWN
echo "The DMZ Network Interface Card was not set properly"
logger "The DMZ Network Interface Card was not set properly"
fi
fi

# Configure the LAN2 network
if [ ! -z $LOCAL2_IPADDR ]; then
LOCAL2_UP=DOWN
echo "Configuring LAN2 network interface..."
eval `ipcalc -p -n -b $LOCAL2_IPADDR $LOCAL2_NETMASK`
ip link set $IF_LOCAL2 up
ip addr add $LOCAL2_IPADDR/$PREFIX broadcast $BROADCAST dev $IF_LOCAL2
if [ $? = 0 ]; then
LOCAL2_UP=UP
else
LOCAL2_UP=DOWN
echo "The LAN2 Network Interface Card was not set properly"
logger "The LAN2 Network Interface Card was not set properly"
fi
fi

# Configure the WLAN network
if [ ! -z $WLAN_IPADDR ]; then
WLAN_UP=DOWN
echo "Configuring WLAN network interface..."
eval `ipcalc -p -n -b $WLAN_IPADDR $WLAN_NETMASK`
ip link set $IF_WLAN up
ip addr add $WLAN_IPADDR/$PREFIX broadcast $BROADCAST dev $IF_WLAN
if [ $? = 0 ]; then
WLAN_UP=UP
else
WLAN_UP=DOWN
echo "The WLAN Network Interface Card was not set properly"
logger "The WLAN Network Interface Card was not set properly"
fi
fi

# Configure the INET2 network
if [ ! -z $INET2_IPADDR ]; then
INET2_UP=DOWN
echo "Configuring INET2 network interface..."
eval `ipcalc -p -n -b $INET2_IPADDR $INET2_NETMASK`
ip link set $IF_INET2 up
ip addr add $INET2_IPADDR/$PREFIX broadcast $BROADCAST dev $IF_INET2
if [ $? = 0 ]; then
INET2_UP=UP
else
INET2_UP=DOWN
echo "The INET2 Network Interface Card was not set properly"
logger "The INET2 Network Interface Card was not set properly"
fi
fi

# Configure the INET3 network
if [ ! -z $INET3_IPADDR ]; then
INET3_UP=DOWN
echo "Configuring INET3 network interface..."
eval `ipcalc -p -n -b $INET3_IPADDR $INET3_NETMASK`
ip link set $IF_INET3 up
ip addr add $INET3_IPADDR/$PREFIX broadcast $BROADCAST dev $IF_INET3
if [ $? = 0 ]; then
INET3_UP=UP
else
INET3_UP=DOWN
echo "The INET3 Network Interface Card was not set properly"
logger "The INET3 Network Interface Card was not set properly"
fi
fi

# Configure the INET4 network
if [ ! -z $INET4_IPADDR ]; then
INET4_UP=DOWN
echo "Configuring INET4 network interface..."
eval `ipcalc -p -n -b $INET4_IPADDR $INET4_NETMASK`
ip link set $IF_INET4 up
ip addr add $INET4_IPADDR/$PREFIX broadcast $BROADCAST dev $IF_INET4
if [ $? = 0 ]; then
INET4_UP=UP
else
INET4_UP=DOWN
echo "The INET4 Network Interface Card was not set properly"
logger "The INET4 Network Interface Card was not set properly"
fi
fi

USEDYNADDR=YES

. /usr/sbin/write_state.sh

[ -n "$DNS1" ] && echo "$DNS1" > /tmp/realdns1
[ -n "$DNS2" ] && echo "$DNS2" > /tmp/realdns2
[ -n "$DNS3" ] && echo "$DNS3" > /tmp/realdns3

# The system loggers need to be started after the network in case remote
# logging is needed
syslogd $SYSLOG_OPTS
klogd

if [ "$LOCAL_UP" = "UP" ]; then
echo "Starting SSH daemon..."
if [ -z "$SSH_PORT" ] ; then SSH_PORT=22 ; fi
/usr/sbin/sshd -p $SSH_PORT

/etc/rc.d/rc.dnsmasq
fi

if [ -r /var/http/htdocs/cgi-bin/inetconf.cgi ]; then
rm /var/http/htdocs/cgi-bin/inetconf.cgi
fi
case "$INETTYPE" in

"ETHERNET_DHCP")
# Set the webadmin Internet configuration link
ln -s ethernet-conf.cgi /var/http/htdocs/cgi-bin/inetconf.cgi

# Attempt to configure the Internet interface with DHCP if so configured
# DHCP Assigned Internet Address
. /etc/rc.d/rc.dhcp
. /usr/sbin/write_state.sh

echo 1 > /proc/sys/net/ipv4/ip_dynaddr
;;
"ETHERNET_STATIC")
echo "Setting up Static Address Internet connection..."
# Static IP Address
# Set the webadmin Internet configuration
ln -s ethernet-conf.cgi /var/http/htdocs/cgi-bin/inetconf.cgi
USEDYNADDR=NO
eval `ipcalc -p $IPADDR $NETMASK`
if [ -z "$BROADCAST" ]; then
eval `ipcalc -b $IPADDR $NETMASK`
#ifconfig $IF_INET $IPADDR netmask $NETMASK
fi
ip link set $IF_INET up
ip addr add $IPADDR/$PREFIX broadcast $BROADCAST dev $IF_INET
if [ ! $? = 0 ]; then
INET_UP=DOWN
echo "The Internet Network Interface Card was not set properly"
logger "The Internet Network Interface Card was not set properly"
else
if [ ! -z $IPADDR2 ]; then
eval `ipcalc -p $IPADDR2 $NETMASK2`
ip addr add $IPADDR2/$PREFIX broadcast + dev $IF_INET
fi
if [ ! -z $IPADDR3 ]; then
eval `ipcalc -p $IPADDR3 $NETMASK3`
ip addr add $IPADDR3/$PREFIX broadcast + dev $IF_INET
fi
fi
ip route add 0.0.0.0/0 via $GATEWAY
if [ $? = 0 ]; then
INET_UP=UP
else
INET_UP=DOWN
echo "The Internet Network Interface Card was not set properly"
logger "The Internet Network Interface Card was not set properly"
fi
. /usr/sbin/write_state.sh
if [ "$LOCAL_UP" = "UP" ] ; then
. /etc/rc.d/rc.line_up
fi
;;
"PPPOE")
# PPPoE Support
# Set the webadmin Internet configuration
ln -s pppoe-conf.cgi /var/http/htdocs/cgi-bin/inetconf.cgi
echo "Setting up PPPoE Internet connection..."
# rc.pppoe is responsible for setting INET_UP status
. /etc/rc.d/rc.pppoe
. /usr/sbin/write_state.sh
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
;;
"PPP")
echo "Setting up PPP Internet connection..."
# Dialup PPP Sharing
# Set the webadmin Internet configuration
ln -s ppp-conf.cgi /var/http/htdocs/cgi-bin/inetconf.cgi
. /etc/rc.d/rc.ppp
. /usr/sbin/write_state.sh
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
;;
*)
echo "-------------------- !! ERROR !! ---------------------"
echo " This copy of BrazilFW is not properly configured "
echo
echo " No valid Internet Connection type has been specified "
echo "------------------------------------------------------"
;;
esac

# Enable kernel level IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

touch /tmp/ready

if [ "$INETTYPE" != "ETHERNET_STATIC" ] ; then
echo "Giving PPPoE or DHCP a chance to go up"
sleep 5
. /tmp/netsubsys.state # Reload status
fi

NET_OK=YES
[ "$INET_UP" = "READY" ] && NET_OK=READY
[ "$INET_UP" = "DOWN" ] && NET_OK=NO
[ "$LOCAL_UP" = "DOWN" ] && NET_OK=NO
[ -n "$DMZ_IPADDR" -a "$DMZ_UP" = "DOWN" ] && NET_OK=NO

if [ "$NET_OK" = "NO" ]; then
echo "----------------------------------------------------------------"
echo "ERROR: One or more network subsystems failed to start."
echo
echo "LAN network: $LOCAL_UP"
echo "WAN network: $INET_UP"
[ -n "$DMZ_IPADDR" ] && echo "DMZ network: $DMZ_UP"
echo "----------------------------------------------------------------"
echo -e -n "\a"
sleep 2
fi
if [ "$NET_OK" = "READY" ]; then
echo "----------------------------------------------------------------"
echo "ATTENTION : Your internet interface is not connected now."
echo "----------------------------------------------------------------"
fi
ac
luapufo
 

Mensagempor luapufo » Sex Mar 02, 2007 7:44 am

meu arquivo

controle_usuario.sh

#!/bin/sh
PATH=$PATH:/usr/sbin

# Arquivo com os ip's
arquivo=/etc/ip.log

# Limpa as regras anteriores! Segredinho...
iptables -t nat -F REDIRECIONAR
iptables -t nat -F BLOQUEAR

clear

if [ -r $arquivo ]; then
for lista in `cat $arquivo`; do
IP=`echo $lista`
iptables -t nat -A REDIRECIONAR -s $IP -d ! 192.168.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1
iptables -t nat -A BLOQUEAR -s $IP -d ! 192.168.0.1 -p tcp --dport ! 80 -j DROP
done
fi
luapufo
 

Mensagempor luapufo » Sex Mar 02, 2007 7:49 am

meu arquivo

firewall.local

# Local Custom Firewall rules

# Level 7 Filtering example:
#iptables -t mangle -A POSTROUTING -m layer7 --l7proto edonkey -j DROP

# Attention: To enable the commands below can cause some side effects
# Syn-flood and DOS protection
#iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Port Scanners protection
#iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#iptables -A FORWARD -p tcp --tcp-flags ALL SYN,ACK -j DROP
# Ping-of-dead protection
#iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Speed UP DNS
#iptables -t mangle -A OUTPUT -p udp --dport 53 -j TOS --set-tos 0x08
#iptables -t mangle -A PREROUTING -p udp --dport 53 -j TOS --set-tos 0x10

# Speed UP HTTP
#iptables -t mangle -A OUTPUT -p tcp -j TOS --sport 80 --set-tos 0x08
#iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TOS --set-tos 0x08
#iptables -t mangle -A OUTPUT -p tcp -j TOS --sport 80 --set-tos 0x10

# Libera acesso ao WebAdmin de fora da rede
#iptables -A remote-admin -p tcp --sport 1024: --dport 8180 -j ACCEPT
#iptables -A remote-admin -p tcp --sport 1024: --dport 8181 -j ACCEPT

# Executa script para bloquear ou desbloquear os usuarios
/etc/controle_usuario.sh

e meu arquivo

controle_usuario.sh

#!/bin/sh
PATH=$PATH:/usr/sbin

# Arquivo com os ip's
arquivo=/etc/ip.log

# Limpa as regras anteriores! Segredinho...
iptables -t nat -F REDIRECIONAR
iptables -t nat -F BLOQUEAR

clear

if [ -r $arquivo ]; then
for lista in `cat $arquivo`; do
IP=`echo $lista`
iptables -t nat -A REDIRECIONAR -s $IP -d ! 192.168.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1
iptables -t nat -A BLOQUEAR -s $IP -d ! 192.168.0.1 -p tcp --dport ! 80 -j DROP
done
fi

meu arquivo

ip.log

192.168.1.3

e por ultimo meu arquivo

sfirewall.cgi

#!/bin/sh
# SIMPLIFIED FIREWALL CONFIGURATION
# Claudio Roberto Cussuol - claudio_cl@rictec.com.br
# 11/09/2004
. /var/http/web-functions
. /etc/coyote/coyote.conf
SCRIPT="sfirewall.cgi"
FILE="/etc/coyote/firewall"
TMPFILE="/etc/coyote/acctemp"
RELOAD="/etc/rc.d/rc.firewall"
COLOR="row6"
IP_BLACK_LIST=/tmp/sfw_ip_black_list
IP_WHITE_LIST=/tmp/sfw_ip_white_list
PORT_BLACK_LIST=/tmp/sfw_port_black_list
PORT_WHITE_LIST=/tmp/sfw_port_white_list
MAC_BLACK_LIST=/tmp/sfw_mac_black_list
MAC_WHITE_LIST=/tmp/sfw_mac_white_list
PROTOCOLS_LIST=/tmp/sfw_protocols_list
IP_MAC_LIST=/tmp/sfw_ip_mac_list
echo -n > $IP_BLACK_LIST
echo -n > $IP_WHITE_LIST
echo -n > $PORT_BLACK_LIST
echo -n > $PORT_WHITE_LIST
echo -n > $MAC_BLACK_LIST
echo -n > $MAC_WHITE_LIST
echo -n > $PROTOCOLS_LIST
echo -n > $IP_MAC_LIST
cl_header2 "$Msf - BrazilFW"
if [ "$FORM_ACTION" = "RELOAD" ]; then
echo "<pre>"
$RELOAD
echo "</pre><center><div><a>$Fbk</a></div></center><br>"
cl_footer2
exit 0
fi

if [ "$FORM_OKBTN" = "$Fsb" ]; then
echo -n > $TMPFILE
cat $FILE | while read TMPLINE; do
case "$TMPLINE" in
block_ip*|allow_ip*|block_mac*|allow_mac*|block_port*|allow_port*|block_protocol*|match_ip_mac*)
continue ;;
*)
echo $TMPLINE >> $TMPFILE
esac
done

echo "$FORM_IP_BLACK_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo block_ip $TMPLINE >> $TMPFILE
done
echo "$FORM_IP_WHITE_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo allow_ip $TMPLINE >> $TMPFILE
done
echo "$FORM_PORT_BLACK_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo block_port $TMPLINE >> $TMPFILE
done
echo "$FORM_PORT_WHITE_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo allow_port $TMPLINE >> $TMPFILE
done
echo "$FORM_MAC_BLACK_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo block_mac $TMPLINE >> $TMPFILE
done
echo "$FORM_MAC_WHITE_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo allow_mac $TMPLINE >> $TMPFILE
done
echo "$FORM_PROTOCOLS_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo block_protocol $TMPLINE >> $TMPFILE
done
echo "$FORM_IP_MAC_LIST" | while read TMPLINE; do
[ -n "$TMPLINE" ] && echo match_ip_mac $TMPLINE >> $TMPFILE
done

rm -f $FILE
mv $TMPFILE $FILE

DEFAULT_USERS_FILTER=$FORM_DEFAULT_USERS_FILTER
DEFAULT_SERVICES_FILTER=$FORM_DEFAULT_SERVICES_FILTER
cl_rebuildconf
echo "<center><div>$Pcn<br><a>$Pco</a><br><a>$Wtl</a></div></center><br>"
fi

treat_line()
{
case $1 in
block_ip) echo $2 >> $IP_BLACK_LIST ;;
allow_ip) echo $2 >> $IP_WHITE_LIST ;;
block_mac) echo $2 >> $MAC_BLACK_LIST ;;
allow_mac) echo $2 >> $MAC_WHITE_LIST ;;
block_port) echo $2 $3 >> $PORT_BLACK_LIST ;;
allow_port) echo $2 $3 >> $PORT_WHITE_LIST ;;
block_protocol) echo $2 >> $PROTOCOLS_LIST ;;
match_ip_mac) echo $2 $3 >> $IP_MAC_LIST ;;
esac
}

cat $FILE | while read TMPLINE; do
LINECOUNT=$(($LINECOUNT+1))
TMPLINE2=`echo "$TMPLINE" | cut -f 1 -d \# | tr [A-Z] [a-z]`
case "$TMPLINE2" in
block_ip*|allow_ip*|block_mac*|allow_mac*|block_port*|allow_port*|block_protocol*|match_ip_mac*)
treat_line $TMPLINE2 ;;
esac
done

cat << CLEOF
<form><table><tr><th>$Pna</th></tr>
<tr><td><input><b>$Pnd</b></td>
<td><input><b>$Pne</b></td>
</tr>
<tr><td><b>$Pnj</b><br>$Pnm $Pnl<br>192.168.0.2<br>10.0.0.2</td>
<td><textarea>`cat $IP_BLACK_LIST`</textarea></td>
<td><b>$Pnk</b><br>$Pnn $Pnl<br>192.168.0.2<br>10.0.0.2</td>
<td><textarea>`cat $IP_WHITE_LIST`</textarea></td>
</tr>
<tr>
<td>$Pno $Pnl<br>00:0a:02:0b:03:0c<br>01:0d:03:0e:00:0f</td>
<td><textarea>`cat $MAC_BLACK_LIST`</textarea></td>
<td>$Pnp $Pnl<br>00:0a:02:0b:03:0c<br>01:0d:03:0d:00:0f</td>
<td><textarea>`cat $MAC_WHITE_LIST`</textarea></td>
</tr>
<tr><td><b>$Pts</b><br>$Ptt<br>192.168.0.10 01:0d:03:0e:00:0f<br>192.168.0.11 01:0d:03:0e:dd:ff<br><br>$Ptu</td>
<td><textarea>`cat $IP_MAC_LIST`</textarea></td>
</tr>
<tr><th>$Pnb</td></tr>
<tr><td><input><b>$Pnh</b></td>
<td><input><b>$Pni</b></td>
</tr>
<tr><td><b>$Pnj</b><br>$Pnq $Pnl<br>80 tcp<br>53 udp<br>20:21 tcp</td>
<td><textarea>`cat $PORT_BLACK_LIST`</textarea></td>
<td><b>$Pnk</b><br>$Pnr $Pnl<br>80 tcp<br>53 udp<br>20:21 tcp</td>
<td><textarea>`cat $PORT_WHITE_LIST`</textarea></td>
</tr>
CLEOF
if [ -e /etc/l7-protocols ] ; then
cat << CLEOF
<tr><th>$Pns</th></tr>
<tr><td>$Pnt<br>$Pnu<br>fasttrack<br>edonkey<br>directconnect<br><br>
<a><u>$Pnv<u></a></td>
<td><textarea>`cat $PROTOCOLS_LIST`</textarea></td>
</tr>
CLEOF
fi
cat << CLEOF
</table><p><input><input></p></form>



<table><tr><td>
<b>$Egf</td><td></b> [ <a><u>$Pau</u></a> &nbsp; | &nbsp;
<a><u>$Pav</u></a> &nbsp; | &nbsp;
<a><u>$Pdh</u></a> &nbsp; | &nbsp;
<a><u>Controle de Usuários</u></a> ]
</td></tr></table><br>
CLEOF
rm -f /tmp/sfw_* 1> /dev/null 2> /dev/null
cl_footer2
luapufo
 

Mensagempor mastigozinho » Sex Mar 02, 2007 12:41 pm

Ainda está dando alguma mensagem de erro quando manda recarregar o firewall simplificado? me diga qual é sua faixa de ip para a sua rede interna(Lan)...
mastigozinho
 

Mensagempor luapufo » Sex Mar 02, 2007 8:24 pm

eu trabalho com sub-redes, 19 no total e indo para 30, enquanto ao erro continua o mesmo:
Código: Selecionar todos
Configuring firewall rules...
Configuring custom firewall rules...
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
Try `iptables -h' or 'iptables --help' for more information.
Bad argument ` '
/etc/controle_usuario.sh: /etc/controle_usuario.sh: 20: -j: not found
iptables: No chain/target/match by that name
Configuring port forwarding for internal hosts...
Running Line UP Scripts...
Checking need for update...
Current IP...: x.x1.x2.x2
Old IP.......: x.x1.x2.x
The update of bqinvelox.no-ip.biz is not needed
luapufo
 

Mensagempor mastigozinho » Sáb Mar 03, 2007 2:48 am

Vá no shell e digite: iptables -t nat -L -vnx

Me dê o resultado...
mastigozinho
 

Mensagempor luapufo » Sáb Mar 03, 2007 8:23 am

Código: Selecionar todos
bqinvelox# iptables -t nat -L -vnx
Chain PREROUTING (policy ACCEPT 57515 packets, 6288709 bytes)
    pkts      bytes target     prot opt in     out     source               destination
  118131 14056754 nat-acl    all  --  *      *       0.0.0.0/0            0.0.0.0/0
  118131 14056754 dns-preroute  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  118131 14056754 auto-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0
   57515  6288709 port-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain POSTROUTING (policy ACCEPT 77761 packets, 9210398 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       0        0 MASQUERADE  all  --  *      eth1    192.168.0.0/30       0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.40.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.39.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.38.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.37.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.36.0/30      0.0.0.0/0
    3897   186369 MASQUERADE  all  --  *      ppp0    192.168.35.0/24      0.0.0.0/0
     215    10304 MASQUERADE  all  --  *      ppp0    192.168.34.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.33.0/30      0.0.0.0/0
    1170    55237 MASQUERADE  all  --  *      ppp0    192.168.32.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.31.0/30      0.0.0.0/0
    1307    62300 MASQUERADE  all  --  *      ppp0    192.168.30.0/30      0.0.0.0/0
     183     8064 MASQUERADE  all  --  *      ppp0    192.168.24.0/30      0.0.0.0/0
       5      259 MASQUERADE  all  --  *      ppp0    192.168.23.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.22.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.21.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.9.0/30       0.0.0.0/0
    3143   228985 MASQUERADE  all  --  *      ppp0    192.168.8.0/30       0.0.0.0/0
     189     9055 MASQUERADE  all  --  *      ppp0    192.168.7.0/30       0.0.0.0/0
    6114   765628 MASQUERADE  all  --  *      ppp0    192.168.6.0/30       0.0.0.0/0
     226    10724 MASQUERADE  all  --  *      ppp0    192.168.4.0/29       0.0.0.0/0
   35061  4313209 MASQUERADE  all  --  *      ppp0    192.168.1.0/29       0.0.0.0/0
   77761  9210398 dns-postroute  all  --  *      *       0.0.0.0/0            0.0.0.0/0
   77761  9210398 nat-masks  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 17137 packets, 1441985 bytes)
    pkts      bytes target     prot opt in     out     source               destination

Chain auto-forward (1 references)
    pkts      bytes target     prot opt in     out     source               destination
     761    37125 DNAT       tcp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:60000 to:192.168.1.2
   59855  7730920 DNAT       udp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:60000 to:192.168.1.2

Chain dns-postroute (1 references)
    pkts      bytes target     prot opt in     out     source               destination

Chain dns-preroute (1 references)
    pkts      bytes target     prot opt in     out     source               destination

Chain nat-acl (1 references)
    pkts      bytes target     prot opt in     out     source               destination

Chain nat-masks (1 references)
    pkts      bytes target     prot opt in     out     source               destination
       0        0 MASQUERADE  all  --  *      ppp0    192.168.0.0/30       0.0.0.0/0

Chain port-forward (1 references)
    pkts      bytes target     prot opt in     out     source               destination
bqinvelox# q
-sh: q: not found
bqinvelox# menu

             BrazilFW Firewall and Router -- Configuration Menu


  1) Edit main configuration file         2) Change system password
  3) Edit rc.local script file            4) Custom firewall rules file
  5) Edit firewall configuration          6) Edit port forward configuration

  c) Show running configuration           f) Reload firewall
  r) Reboot system                        w) Write configuration to disk

  q) Exit Menu                            l) Logout
  ----------------------------------------------------------------------------
  Selection: q

Exiting menu. To return to the menu, simply type "menu" and
press enter from the command prompt.

bqinvelox# iptables -t nat -L -vnx
Chain PREROUTING (policy ACCEPT 57524 packets, 6290509 bytes)
    pkts      bytes target     prot opt in     out     source               destination
  118234 14070711 nat-acl    all  --  *      *       0.0.0.0/0            0.0.0.0/0
  118234 14070711 dns-preroute  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  118234 14070711 auto-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0
   57524  6290509 port-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain POSTROUTING (policy ACCEPT 77889 packets, 9225411 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       0        0 MASQUERADE  all  --  *      eth1    192.168.0.0/30       0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.40.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.39.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.38.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.37.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.36.0/30      0.0.0.0/0
    3897   186369 MASQUERADE  all  --  *      ppp0    192.168.35.0/24      0.0.0.0/0
     215    10304 MASQUERADE  all  --  *      ppp0    192.168.34.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.33.0/30      0.0.0.0/0
    1170    55237 MASQUERADE  all  --  *      ppp0    192.168.32.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.31.0/30      0.0.0.0/0
    1307    62300 MASQUERADE  all  --  *      ppp0    192.168.30.0/30      0.0.0.0/0
     183     8064 MASQUERADE  all  --  *      ppp0    192.168.24.0/30      0.0.0.0/0
       5      259 MASQUERADE  all  --  *      ppp0    192.168.23.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.22.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.21.0/30      0.0.0.0/0
       0        0 MASQUERADE  all  --  *      ppp0    192.168.9.0/30       0.0.0.0/0
    3143   228985 MASQUERADE  all  --  *      ppp0    192.168.8.0/30       0.0.0.0/0
     189     9055 MASQUERADE  all  --  *      ppp0    192.168.7.0/30       0.0.0.0/0
    6114   765628 MASQUERADE  all  --  *      ppp0    192.168.6.0/30       0.0.0.0/0
     226    10724 MASQUERADE  all  --  *      ppp0    192.168.4.0/29       0.0.0.0/0
   35064  4313353 MASQUERADE  all  --  *      ppp0    192.168.1.0/29       0.0.0.0/0
   77889  9225411 dns-postroute  all  --  *      *       0.0.0.0/0            0.0.0.0/0
   77889  9225411 nat-masks  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 17171 packets, 1444841 bytes)
    pkts      bytes target     prot opt in     out     source               destination

Chain auto-forward (1 references)
    pkts      bytes target     prot opt in     out     source               destination
     763    37237 DNAT       tcp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:60000 to:192.168.1.2
   59947  7742965 DNAT       udp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:60000 to:192.168.1.2

Chain dns-postroute (1 references)
    pkts      bytes target     prot opt in     out     source               destination

Chain dns-preroute (1 references)
    pkts      bytes target     prot opt in     out     source               destination

Chain nat-acl (1 references)
    pkts      bytes target     prot opt in     out     source               destination

Chain nat-masks (1 references)
    pkts      bytes target     prot opt in     out     source               destination
       0        0 MASQUERADE  all  --  *      ppp0    192.168.0.0/30       0.0.0.0/0

Chain port-forward (1 references)
    pkts      bytes target     prot opt in     out     source               destination
bqinvelox#

luapufo
 

Mensagempor mastigozinho » Seg Mar 05, 2007 11:32 am

Estou entendo onde está o problema! Edite o arquivo /etc/rc.d/rc.inet e coloque as linhas que tem que adicionar nele nessa posição do arquivo:
Código: Selecionar todos
...
...
...
# Accept Established Connections
iptables -I INPUT -m state --state INVALID -j DROP
iptables -I INPUT -m state --state established,related -j ACCEPT
iptables -I FORWARD -m state --state INVALID -j DROP
iptables -I FORWARD -m state --state established,related -j ACCEPT

# Regras para redirecionamento
iptables -t nat -N BLOQUEAR
iptables -t nat -N REDIRECIONAR
iptables -t nat -I PREROUTING -d ! 192.168.0.1 -p tcp --dport 80 -j REDIRECIONAR
iptables -t nat -I POSTROUTING -d ! 192.168.0.1 -p tcp --dport ! 80 -j BLOQUEAR

# Bring up the loopback interface
ip link set lo up
ip addr add 127.0.0.1/8 dev lo
...
...
...


dê backup... reinicie o computador e mande recarregar o firewall simplificado para ver se ainda dá algum erro... talvés o script esteja com algum erro de digitação... não por causa de você, mas por outros motivos... Aguardo resposta... sim.. não respondi logo porque não está mais chegando email para mim avisando que você respondeu.
mastigozinho
 


Voltar para BrazilFW 2.x - Ajuda em Geral (Todas as Línguas)

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes

cron