[matarosensefils] Script IPTABLES per el Linksys

DANILP wi-fi a setantaset.com
dll gen 17 10:11:37 CET 2005


Holes,

Aquí us paso l'script base de iptables que faig servir per el Linksys. 
Documentat de http://www.pello.info/filez/firewall/iptables.html


#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet
##
## Pello Xabier Altadill Izura
## www.pello.info - pello a pello.info
## Adaptació 0.0.1 Per els clients linksys de mataro.sensefils

## FLUSH de regles
/usr/sbin/iptables -F
/usr/sbin/iptables -X
/usr/sbin/iptables -Z
/usr/sbin/iptables -t nat -F

## Establim la politica per defecte
/usr/sbin/iptables -P INPUT ACCEPT
/usr/sbin/iptables -P OUTPUT ACCEPT
/usr/sbin/iptables -P FORWARD ACCEPT
/usr/sbin/iptables -t nat -P PREROUTING ACCEPT
/usr/sbin/iptables -t nat -P POSTROUTING ACCEPT

## Comencem a filtrar
## Nota: br0 Es la interficie sensefils i boques LAN del linksys y vlan1 es la 
boca Internet que la tenim conectada a la LAN de casa.
## Nota: Canvieu les ip's a les corresponents a la vostra xarxa local.
# Localhost obert
/usr/sbin/iptables -A INPUT -i lo -j ACCEPT

# Al linksys tenim acces desde la xarxa local
/usr/sbin/iptables -A INPUT -s 192.168.1.0/24 -i vlan1 -j ACCEPT

# Volem que una ip externa pugui configurar el nostre linksys en un moment 
donat. P.E. dono acces a en Jordi.
iptables -A INPUT -s 10.35.168.130 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.35.168.130 -p tcp --dport 80 -j ACCEPT 

# Ara enmascarem la xarxa local.
/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o br0 -j MASQUERADE

# Ara mapegem ports, aqui hi ha el que faig servir ara al por 8080, nomes 
caldria canviar o afegir linies per cada port a mapejar:
/usr/sbin/iptables -t nat -A PREROUTING -i br0 -p tcp --dport 8080 -j DNAT --to 
192.168.1.5:8080

## Ara tanquem accesos al Lynksys desde l'exterior:
# Nota: 0.0.0.0/0 significa: qualsevol xarxa

# Tanquem el rang ven conegut, tan TCP com UDP
/usr/sbin/iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP
/usr/sbin/iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP

# Fi del script

No cal dir que es un script molt basic que serveix de punt de partida per 
començar a fer modificacions i aportacions per tal de millorarlo o 
personalitzarlo per cada Linksys en concret (tot just es la versió 0.0.1) 
jejeje.

Fins ara posaba les regles a la variable del sistema rc_firewall, pero com ja 
sabreu les variables del Linksys tenen una capacitat determinada, i en aquest 
cas, ja l'hem superat. Per tant, el que hem de fer es carregar l'script al 
Linksys desde fora, es fa amb la comanda WGET, aquesta comanda permet fer 
peticions a servidors web i ftp. Creem el fitxer amb l'script i li posem el 
nom "fw_extern.sh" per exemple, el pujem a qualsevol servidor web, i llavors 
desde el Linksys a consola executem el seguent: wget 
http://ip_servidor_web/ruta/fw_extern.sh -O /tmp/.fw_extern.sh aixó 
descarregara l'script i el guardarà a la carpeta /tmp del nostre Linksys, ara 
li donem permisos d'execució amb la comanda: chmod 700 /tmp/.fw_extern.sh , ja 
tenim l'script preparat per ser executat, perexecutarlo /tmp/.fw_extern.sh. Ja 
tenim les regles IPTABLES carregades, per comprobar-ho iptables -L -n o bé 
iptables -L -n -t nat.

Com ja sabeu, si es rebota el router ho perdriem tot, cal afegir tot el proces 
a la variable rc_startup, fariem:

nvram set rc_startup="wget http://ip_servidor_web/ruta/fw_extern.sh -
O /tmp/.fw_extern.sh;chmod 700 /tmp/.fw_extern.sh;/tmp/.fw_extern.sh;mes tot el 
que hi teniem anteriorment"
nvram commit

Ja està!! cada cop que arranqui el router, descarregarà i executarà l'script.

Si algú li fa alguna modificació o millora, que la fagi pública.


Salutacions.


-- 
:: x e r r a m e c a ::
danilp a xerrameca.mataro.sensefils
 
 
 ( ( ( ( || ) ) ) ) 
         ||
         ||
Comunitat Sensefils de Mataró
www.ilurowireless.net - www.matarosensefils.net - www.matarowireless.net

Per donar-te de baixa de la llista escriu un correu a llista-request a matarosensefils.net amb unsubscribe en el títol o el cos del missatge
Adreça de la llista: https://llistes.aprop.net/cgi-bin/mailman/listinfo/llista





Més informació sobre la llista de correu llista_matarosensefils.net