[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