Imagen de firecold
+1
+1
-1

echo " Borrando las Cadenas existentes..."
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
echo " Estableciendo Politica por Defecto "
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo " Redireccionamos las peticiones de www hacia Squid Proxy"
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE
echo " Terminando la Configuracion del Firewall."

Tomando en cuenta que la interface de red eth0 es por la cual comparto Internet y ppp0 es una interface de red vía módem usb, por la cual recibo Internet, tendrías que cambiar esto para que el script funcione adecuadamente.

iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE

Enmascarar por las conexiones procedentes de la red 192.168.1.0/24 como si lo hicieran desde la ip configurada en la interfaz ppp0.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Redireccionar al puerto 3128 (proxy) todos los paquetes que entran por eth0 y con destino puerto 80 (HTTP), de esta manera conseguimos un proxy transparente.

+1
+1
-1

Imagen de firecold
+1
+1
-1

El que pondre a continuacion es la configuracion de iptables que uso, en el cual esta esta habilitado squid en modo transparente, para que dansguardian este en modo transparente tienes que poner en la redireccion el puerto de dansguardian y Listo, cualquier duda o problema me avisas, Saludos

#!/bin/bash
############################################################
# VARIABLES DEL SCRIPT
############################################################
#Ruta del binario de iptables
IPTABLES=/sbin/iptables
#Interfaz conectada a internet
INTERNET="ppp0"
#Interfaz conectada a nuestra LAN
LAN="eth1"
#Declarar la clase de la red local
CLASS=192.168.1.0/24
#Declarar el resto de la red
UNIVERSE=0.0.0.0/0
############################################################
# ELIMINACION DE REGLAS EXISTENTES
############################################################
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F
############################################################
# ESTABLECEMOS POLITICAS POR DEFECTO (CERRADO)
############################################################
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
############################################################
# COMIENZAN REGLAS DE FILTRADO
############################################################
#El localhost se deja acceso total
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS DE INPUT #
#*************************************************************#
#*************************************************************#
#PERMITIR PETICIONES ICMP QUE VENGAN DE LAS IPS DE LA RED
$IPTABLES -A INPUT -p ICMP -s $CLASS -j ACCEPT
#PERMITIR PINGS DESDE INTERNET
$IPTABLES -A INPUT -p icmp -i $INTERNET --icmp-type echo-reply -j ACCEPT
#PERMITIR EL USO DEL SERVIDOR DNS
$IPTABLES -A INPUT -p udp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $CLASS --sport 53 -j ACCEPT
# WEB
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 443 -j ACCEPT
# PROXY
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 3128 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 8080 -j ACCEPT
# Control del Ciber
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 10000 -j ACCEPT
# IPP
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 631 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 631 -j ACCEPT
#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 135 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 445 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 445 -j ACCEPT
#PERMITIR ACCESO A LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A INPUT -i $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS DE OUTPUT #
#*************************************************************#
#*************************************************************#
#PERMITIR CONTESTAR LAS PETICIONES ICMP DE LAS IPS DE LA RED
$IPTABLES -A OUTPUT -p ICMP -d $CLASS -j ACCEPT
#PERMITIR PNGS DESDE INTERNET
$IPTABLES -A OUTPUT -p icmp -o $INTERNET --icmp-type echo-request -j ACCEPT
#DNS
$IPTABLES -A OUTPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -d $CLASS --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $CLASS --dport 53 -j ACCEPT
# WEB
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 80 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 443 -j ACCEPT
# PROXY
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 3128 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 8080 -j ACCEPT
# Control del Ciber
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 10000 -j ACCEPT
# IPP
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 631 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 631 -j ACCEPT
#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 135 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 445 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 445 -j ACCEPT
#PERMITIR EL ACCESO A LAS CONEXCIONES ESTABLECIDAS
$IPTABLES -A OUTPUT -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o $LAN -d $CLASS -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS DE FORWARD #
#*************************************************************#
#*************************************************************#
#HABILITAR CONSULTA DNS
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 53 -j ACCEPT
#HABILITAR EL POP3
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 995 -j ACCEPT
#HABILITAR TRAFICO WEB
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 80 -j ACCEPT
#HABILITAR PING
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p icmp -j ACCEPT
#PERMITIR EL USO DE MSN MESSENGER
$IPTABLES -A FORWARD -p tcp --dport 1863 -j ACCEPT
#PERMITIR EL USO DEL SSL
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 443 -j ACCEPT
#HABILITAR LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A FORWARD -i $INTERNET -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
# REGLAS De NAT #
#*************************************************************#
#*************************************************************#
#ACTIVANDO EL NAT USANDO MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -s $CLASS -d $UNIVERSE -o $INTERNET -j MASQUERADE
$IPTABLES -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128

+1
+1
-1

Imagen de Gabriel_M
+1
+1
-1

... ejemplo sencillo de nateo :

#! /bin/sh
iptables -F              &&echo
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 10.0.20.0/24 -i eth1 -j ACCEPT
iptables -t  nat  -A POSTROUTING -s 10.0.20.0/24 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward        
echo " se verifica que se aplican con : iptables -L -n "

Asi estan las interfaces:

The loopback network interface
auto lo
iface lo inet loopback
auto eth0      # apuntando a la red internet
iface eth0 inet static
address 10.0.10.2
netmask 255.255.255.0
network 10.0.10.0/24
gateway 10.0.10.1

auto eth1  # apuntando a la subred 
iface eth1 inet static 
address 10.0.20.5
netmask 255.255.255.0
network 10.0.20.0/24
broadcast 10.0.20.255
gateway 10.0.10.1
+1
+1
-1