miércoles, 21 de agosto de 2013

Anexo 8: ejemplo script iptables

script IPTables

#!/bin/bash

# Activamos el reenvioo de paquetes:
echo 1 > /proc/sys/net/ipv4/ip_forward

# Limpiamos las reglas del iptables:
iptables --flush
iptables --table nat --flush

# Activaremos el NAT con enmascaramiento en las reglas del iptables:
# iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

#Enmascaramiento con SNAT N O F U N C I O N A
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.3

# Abrimos el acceso al PROXY
iptables -A INPUT -s 172.16.4.5 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.68 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 172.16.4.202 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 172.16.0.0/16 -d 172.16.0.1 -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.199 -p icmp -j ACCEPT
# iptables -A INPUT -s 0.0.0.0/0 -j LOG --log-prefix "IPT inp: "
iptables -A INPUT -s 0.0.0.0/0 -j DROP

# Negamos la salida del puerto 445 y 139 directorio activo netbios.
iptables --append FORWARD -s 172.16.0.0/16 -p tcp --dport 445 -j DROP
iptables --append FORWARD -s 172.16.0.0/16 -p tcp --dport 139 -j DROP
iptables --append FORWARD -s 172.16.0.0/16 -p tcp --dport 135 -j DROP
iptables --append FORWARD -s 172.16.0.0/16 -p udp --dport 137 -j DROP

# Dejamos salir el trafico conocido DE LA RED DE PROFESORES
iptables --append FORWARD --in-interface eth1 -j ACCEPT
# Dejamos salir el trafico del ordenador de María con el Gob.vasco, etc.
iptables --append FORWARD -s 192.168.1.34 -p all -j ACCEPT
# Dejamos salir el trafico haci la red del alumno de U.Gales
iptables -A FORWARD -s 172.16.0.0/16 -d 80.32.230.37 -p all -j ACCEPT
# Dejamos salir el trafico del ordenador CARL
iptables --append FORWARD -s 172.16.4.5 -p all -j ACCEPT
# iptables --append FORWARD -s 172.16.4.106 -p all -j ACCEPT

# SALIDA DE CLIENTES vpn PPTP(comprobado ok 14/12/05)
iptables --append FORWARD -s 172.16.0.0/16 -p tcp --dport 1723 -j ACCEPT
iptables --append FORWARD -s 172.16.0.0/16 -p 47 -j ACCEPT
# SALIDA DE CLIENTES VPN IPsec
# iptables --append FORWARD -s 172.16.0.0/16 -p 50 -j ACCEPT
# iptables --append FORWARD -s 172.16.0.0/16 -p 51 -j ACCEPT

# Dejamos salir al aula de Jesus Garcia 20/09/2005
# iptables -A FORWARD -s 172.16.2.0/24 -p all -j ACCEPT






# Dejamos salir el trafico conocido DE LA RED DE ALUMNOS
# iptables -t nat -A PREROUTING -i eth2 -s 172.16.4.106 -p tcp -m tcp --dport 80 -j DNAT --to 172.16.4.103:3128
# iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 1001 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 20:23 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p udp --dport 20:21 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p icmp -j ACCEPT
iptables -A FORWARD -s 172.16.2.0/24 -p tcp --dport 1337 -j ACCEPT
iptables -A FORWARD -s 172.16.2.0/24 -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 15000 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -p udp --dport 15000 -j ACCEPT
# Remote Administrador Radmin.
iptables -A FORWARD -s 172.16.0.0/16 -p tcp --dport 4899 -j ACCEPT

# Dejamos paso a las conexiones de vuelta a la red de profesores desde alumnos
iptables -A FORWARD -s 172.16.0.0/16 -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Cerramos el resto del tráfico
# iptables -A FORWARD -s 172.16.0.0/16 -d 0.0.0.0/0 -j LOG --log-prefix "IPT drop: "
iptables -A FORWARD -s 172.16.0.0/16 -d 0.0.0.0/0 -j DROP

# ordenador CARL aceptamos conexiones ftp exteriores pto 20
iptables -A FORWARD -i eth0 -d 172.16.0.0/16 -p tcp --sport 20 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.1.0/24 -p tcp --sport 20 -j ACCEPT

# ordenador de Maria
iptables -A FORWARD -d 192.168.1.34 -j ACCEPT
# aula de Jesus Garcia
# iptables -A FORWARD -d 172.16.2.0/24 -j ACCEPT


#DEJAMOS PASAR DESDE EL EXTERIOR PAQUETES DEL ALUMNO Jorge Rodriguez Parada
# *****************************************************************************
# iptables -A FORWARD -i eth0 -s 217.127.180.227 -d 172.16.0.0/16 -j ACCEPT
# iptables -A FORWARD -i eth0 -s 80.32.230.37 -d 172.16.0.0/16 -j ACCEPT
# ******************************************************************************


# ejemplo de como loguear el /var/log/messages
# iptables -A FORWARD -i eth0 -d 172.16.4.5 -m state ! --state ESTABLISHED,RELATED -j LOG --log-prefix "IPT ftp: "
# Todo lo que no este establescido se dropea
iptables -A FORWARD -i eth0 -d 0.0.0.0/0 -m state ! --state ESTABLISHED,RELATED -j DROP
# rutas
route del default gw 192.168.0.1 eth0
route add default gw 192.168.0.2 eth0



0 comentarios:

Publicar un comentario