• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Iptables em o deco - actualiza IP's cccam.

jururu

Novo
Membro Inactivo
Entrou
Set 16, 2011
Mensagens
1
Gostos Recebidos
0
***** Por favor, leia e entenda o que os scripts facem, você não pode ter acesso a deco, O script valeria bem a qualquer dispositivo com iptables (router, deco, PC ...) alterando rotas ***** *


Eu tenho uma imagem vti 3.2 em um vu+solo.
Eu implementei o iptables mesmo deco.
TELNET aberto e execute os seguintes comandos em ordem.

opkg update
opkg install iptables
depmod -a
modprobe ip_tables

Com isso, temos iptables no kernel.
iptables-h ajuda para fora.

Quando nós criamos todas as regras são salvos com
iptables-save> /home/root/rules.fw
e recuperado com
iptables-restore </home/root/rules.fw

Com iptables-nL ver regras introduzidas.

Quando você reiniciar / desligar o deco perdiu as reglas.

Cuidado com:

nome e caminho do cccam.cfg: etc/CCcam.cfg/

via de instalação para os arquivos: hdd/fire/

Permissões 775 para os 2 arquivos.

No arquivo das regras entrar ips locais que queremos

Existem 2 arquivos, 1º executar regras e depois, atear fire a meteis cron:

file reglas - cria novas regras, (podemos obter ips de newcs/cham2 por exemplo) e verificar F: CCcam.cfg e gera o IP para criar novas regras (salvar um arquivo com nome de host e ip)

Olho de seleção F: que é que também teriam direito a um ## F: (você pode deixar o ##: , sem a F)

Ser executado uma vez quando o deco começou.

file fire - Check F: do CCcam.cfg e gera o ip, em comparação a partir do arquivo host salvos e se o ip mudou desde que exclui regras anteriores e insere novos. Claro que, se colocarmos um novo ponto na CCcam.cfg também coloca a regra.

As regras são todas a cair e rede de entrada e saída para local, ponto cccam, a cadela é que com a versão do iptables vti não opção - do porto, mas pelo menos sabemos quem conesta.

A certeza de que as regras podem ser depurado mais (não tenho muita idéia de iptables).

Você também pode usar o iptables-save> /home/root/rules.fw e recuperado com iptables-restore </home/root/rules.fw

reglas.sh
PHP:
#! /bin/sh

 ## Vaciamos las reglas

 iptables -F

 iptables -X

 iptables -t nat -F



 ## Establecemos predeterminada

 iptables -P INPUT DROP

 iptables -P OUTPUT DROP

 iptables -P FORWARD DROP





 # permitimos el tráfico loopback 

 iptables -A INPUT -i lo -j ACCEPT

 iptables -A OUTPUT -o lo -j ACCEPT







 iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

 iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT



 iptables -A INPUT -s 192.168.1.xx -j ACCEPT # ip del deco

 iptables -A INPUT -s 192.168.1.xx -j ACCEPT # ip de un pc para gestionar deco

 iptables -A OUTPUT -d 192.168.1.xx -j ACCEPT # ip del deco

 iptables -A OUTPUT -d 192.168.1.xx -j ACCEPT # ip de un pc para gestionar deco



 # usuarios de newcs o lo que sea

 iptables -A INPUT -p tcp -s x.x.x.x -j ACCEPT

 iptables -A OUTPUT -p tcp -d x.x.x.x -j ACCEPT 



 #DNS

 cat /etc/CCcam.cfg | grep F: | awk '{print $NF}' > "/hdd/fire/dss.txt"

 chmod 755 "/hdd/fire/dss.txt"

 sed -i '/192.168/d' "/hdd/fire/dss.txt"

 sed -i '/}/d' "/hdd/fire/dss.txt"

 chmod 755 /hdd/fire/dss.txt



 #IP

 for line in $(cat "/hdd/fire/dss.txt")

 do 

 touch "/hdd/fire/$line"

 nslookup "$line" | grep "$line" | awk '{print $3}'>"/hdd/fire/$line"

 sed -i 1d "/hdd/fire/$line"

 #echo "$line" $line

 ip_nueva=$(cat "/hdd/fire/$line")

 if [ -s "/hdd/fire/$line" ]; then 

 #ip_anterior=$ip_actual

 iptables -A INPUT -p tcp -s "$ip_nueva" -j ACCEPT

 iptables -A OUTPUT -p tcp -d "$ip_nueva" -j ACCEPT

 fi 

 done

fire.sh
PHP:
#! /bin/sh



 ################################################## ##############3

 cat /etc/CCcam.cfg | grep F: | awk '{print $NF}' > "/hdd/fire/dss.txt"

 chmod 755 "/hdd/fire/dss.txt"

 sed -i '/192.168/d' "/hdd/fire/dss.txt"

 sed -i '/}/d' "/hdd/fire/dss.txt"

 chmod 755 /hdd/fire/dss.txt

 for line in $(cat "/hdd/fire/dss.txt")

 do 

 if [ 'test -f "/hdd/fire/$line"' ] ; then

 echo fichero existe

 ip_anterior=$(cat "/hdd/fire/$line")

 nslookup "$line" | grep "$line" | awk '{print $3}'>"/hdd/fire/$line"

 sed -i 1d "/hdd/fire/$line"

 ip_actual=$(cat "/hdd/fire/$line")



 if [ "$ip_actual" = "$ip_anterior" ] ; then

 echo la direccion IP no ha cambiado

 else

 if [ -s "/hdd/fire/$line" ]; then

 iptables -D INPUT -p tcp -s $ip_anterior -j ACCEPT

 iptables -A INPUT -p tcp -s $ip_actual -j ACCEPT

 iptables -D OUTPUT -p tcp -d $ip_anterior -j ACCEPT

 iptables -A OUTPUT -p tcp -d $ip_actual -j ACCEPT

 fi 

 fi



 else

 echo fichero no existe

 touch "/hdd/fire/$line"

 nslookup "$line" | grep "$line" | awk '{print $3}'>"/hdd/fire/$line"

 sed -i 1d "/hdd/fire/$line"

 ip_nueva=$(cat "/hdd/fire/$line")

 if [ -s "/hdd/fire/$line" ]; then

 iptables -A INPUT -p tcp -s "$ip_nueva" -j ACCEPT

 iptables -A OUTPUT -p tcp -d "$ip_nueva" -j ACCEPT

 fi

 fi

 done

Com estas regras o decodificador não tem acesso a hosts da Internet.

Para um roteador que permite que regras de porta serial o ideal.

Eu realmente snifar deco é ver que o host está conectado à Internet.

Se você souber o host é colocado no acesso cccam para:

#F: --------- es.pool.ntp.org ntp servidor (tempo) deco

#F: --------- pool.ntp.org ntp servidor (tempo) deco

#F: vuplus support.org

#F: checkip.dyndns.com

#F: crossepg.sifteam.eu

OLHO ***********

Os scripts toman o anfitrião da FINAL F: de cccam.

Perdão para a versão traduzida.
Se iptables é complicado e também se encontra com o idioma.
Use-os somente se você entender.

Esclarecer que, no 3.x novo kernel (novas imagens) não tenha implementado iptables.
vti equipe vai estar fazendo isso no 4,2 eu acho.

aqui estão os pós em espanhol
http://www.islaremota.com/showthread.php/50363-Iptables-en-el-deco

Se eu não posso colocar o link, desculpe. O que você pode remover e você me perguntar.
 
Topo