Bienvenido(a) a Alcance Libre 05/09/2025, 22:13

Alcance Libre Foros

 Índice del foro > Todo acerca de Linux > Redes y Servidores New Topic Post Reply
 Configuracion de IpTables
Tópico anterior Tópico siguiente
   
Jorge Félix Rodríguez Hernández
 09/05/17 11:07 (Leído 4,537 veces)  

Nuevo

Estado: desconectado
Forum User

Identificado: 05/05/17
Mensajes: 1
Buenos dias a todos los foreros:

Confieso sin problemas que mi formación como administrador de red no es académica, solamente ha sido por la práctica que he podido adquirir algunos conocimientos básicos. El problema que me ocupa es que hace algunos años, yo tuve funcionado un server usando CentOS_5. Ahora me han dado como tarea montar un server, pero para eso logre bajar un ISO de CentOS_7. El caso es que no logro levantar un cortafuegos que valga la pena.
He leido este manual http://www.alcancelibre.org/filemgmt/visit.php?lid=1 y francamente no doy en el problema y me pase ayer todo el día hasta las 11 pm en eso.

He hecho un pequeño script para levantar el iptables. El levanta iptables con la configuracion ok, pero no hay forma que logre enrutar los paquetes de la red local. Para los que puedan ayudarme, posteo aqui mismo el script y espero que alguien me ayude a configurar esto.

Agradezco de antemano cualquier ayuda que me puedan dar.

Este es el script:

PHP Formatted Code
#!/bin/sh

# Detalles de las redes
# (para adentro LAN)
iri="eth1"
ipi="192.168.10.1"
sri="192.168.10.0/255.255.255.0"
ppx="3128"

# (para afuera INTERNET)
ire="eth0"
ipe="10.19.6.98"
sre="10.19.6.0/255.255.255.0"
gtw="10.19.6.97"


# Micelanias del script
clear
echo "           **********************************************************"
echo "           *** SCRIPT DE CONFIGURACION DE IPTABLES - CENTOS 7 - ***"
echo "           ***                         - JORGE F RDGUEZ HDEZ -                   ***"
echo "           **********************************************************"
echo

# Limpia las reglas
iptables  -F || fail=1
iptables  -X || fail=1
iptables  -Z || fail=1
iptables  -t nat -F || fail=1
iptables  -t nat -X || fail=1

echo "Limpiando reglas"

# Establece las polí­ticas por defecto
iptables -P INPUT DROP || fail=1
iptables -P OUTPUT ACCEPT || fail=1
iptables -P FORWARD DROP || fail=1
iptables -t nat -P PREROUTING ACCEPT || fail=1
iptables -t nat -P POSTROUTING ACCEPT || fail=1

echo "Estableciendo las políticas por defecto"

# Aplica las reglas
iptables -A INPUT -i lo -j ACCEPT || fail=1
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT || fail=1
iptables -A INPUT -p icmp -j ACCEPT || fail=1
iptables -A INPUT -p tcp --dport 20 -j ACCEPT || fail=1
iptables -A INPUT -p tcp --dport 21 -j ACCEPT || fail=1
iptables -A INPUT -p tcp --dport 22 -j ACCEPT || fail=1
iptables -A INPUT -p tcp --dport 25 -j ACCEPT || fail=1
iptables -A INPUT -p tcp --dport 53 -j ACCEPT || fail=1
iptables -A INPUT -p udp --dport 53 -j ACCEPT || fail=1
iptables -A INPUT -p tcp --dport 80 -j ACCEPT || fail=1
iptables -A INPUT -p tcp --dport 443 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 67:68 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 80 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 110 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 123 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 137:138 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 139 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 143 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 161 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 389 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 443 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 445 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 993 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 995 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 1717 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 1718 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 1719 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 1720 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 2427 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 2727 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 3128 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 3306 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 5222 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 5222 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 7778 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 7779 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 8000:8063 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 9300:9301 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 10000:10447 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p udp --dport 12000:12255 -j ACCEPT || fail=1
iptables -A INPUT -s $sri -i $iri -p tcp --dport 35300 -j ACCEPT || fail=1
iptables -A INPUT -j DROP || fail=1

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 20 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 21 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 25 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 67:68 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 110 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 123 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 137:138 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 139 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 143 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 161 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 389 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 443 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 445 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 993 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 995 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 1717 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 1718 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 1719 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 1720 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 2427 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 2727 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 3128 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 3306 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 5222 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 5222 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 7778 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 7779 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 8000:8063 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 9300:9301 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 10000:10447 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p udp --dport 12000:12255 -j ACCEPT || fail=1
iptables -A FORWARD -s $sri -o $ire -p tcp --dport 35300 -j ACCEPT || fail=1
iptables -A FORWARD -j DROP || fail=1

iptables -A OUTPUT -s $ipi -j ACCEPT || fail=1
iptables -A OUTPUT -s $ipe -j ACCEPT || fail=1
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT || fail=1

iptables -t nat -A PREROUTING -i $ire -p tcp --dport 20 -j DNAT --to-destination $ipi:20
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 21 -j DNAT --to-destination $ipi:21
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 22 -j DNAT --to-destination $ipi:22
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 25 -j DNAT --to-destination $ipi:25
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 67:68 -j DNAT --to-destination $ipi:67:68
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 80 -j DNAT --to-destination $ipi:80
iptables -t nat -A PREROUTING -i $ire -p udp --dport 110 -j DNAT --to-destination $ipi:110
iptables -t nat -A PREROUTING -i $ire -p udp --dport 123 -j DNAT --to-destination $ipi:123
iptables -t nat -A PREROUTING -i $ire -p udp --dport 137:138 -j DNAT --to-destination $ipi:137:138
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 139 -j DNAT --to-destination $ipi:139
iptables -t nat -A PREROUTING -i $ire -p udp --dport 143 -j DNAT --to-destination $ipi:143
iptables -t nat -A PREROUTING -i $ire -p udp --dport 161 -j DNAT --to-destination $ipi:161
iptables -t nat -A PREROUTING -i $ire -p udp --dport 389 -j DNAT --to-destination $ipi:389
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 443 -j DNAT --to-destination $ipi:443
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 445 -j DNAT --to-destination $ipi:445
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 993 -j DNAT --to-destination $ipi:993
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 995 -j DNAT --to-destination $ipi:995
iptables -t nat -A PREROUTING -i $ire -p udp --dport 1717 -j DNAT --to-destination $ipi:1717
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 1718 -j DNAT --to-destination $ipi:1718
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 1720 -j DNAT --to-destination $ipi:1720
iptables -t nat -A PREROUTING -i $ire -p udp --dport 2427 -j DNAT --to-destination $ipi:2427
iptables -t nat -A PREROUTING -i $ire -p udp --dport 2727 -j DNAT --to-destination $ipi:2727
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 3128 -j DNAT --to-destination $ipi:3128
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 3306 -j DNAT --to-destination $ipi:3306
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 5222 -j DNAT --to-destination $ipi:5222
iptables -t nat -A PREROUTING -i $ire -p udp --dport 5222 -j DNAT --to-destination $ipi:5222
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 7778 -j DNAT --to-destination $ipi:7778
iptables -t nat -A PREROUTING -i $ire -p udp --dport 7779 -j DNAT --to-destination $ipi:7779
iptables -t nat -A PREROUTING -i $ire -p udp --dport 8000:8063 -j DNAT --to-destination $ipi:8000:8063
iptables -t nat -A PREROUTING -i $ire -p udp --dport 9300:9301 -j DNAT --to-destination $ipi:9300:9301
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 10000:10447 -j DNAT --to-destination $ipi:10000:10447
iptables -t nat -A PREROUTING -i $ire -p udp --dport 12000:12255 -j DNAT --to-destination $ipi:12000:12255
iptables -t nat -A PREROUTING -i $ire -p tcp --dport 35300 -j DNAT --to-destination $ipi:35300

iptables -s $ipi -i $iri -p tcp --dport 80 -j REDIRECT --to-ports $ppx
iptables -s $ipi -i $iri -p tcp --dport 443 -j REDIRECT --to-ports $ppx

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $sri -o $ire -j MASQUERADE || fail=1

# Guarda y muestra la configuración
echo -n ::" "
service iptables save || fail=1
echo -n ::" "
service iptables restart || fail=1

echo ":: Preparando informe de las reglas aplicadas"


echo
echo
echo "           ***         INFORME DE LAS REGLAS APLICADAS          ***"
echo
service iptables status
echo
 
 
Profile Email
 Quote
Nik0
 11/05/17 07:17  

Participa mucho

Estado: desconectado
Forum User

Identificado: 20/08/13
Mensajes: 60
Puedes publicar el contenido del archivo /etc/sysconfig/iptables
 
Profile Email
 Quote
César Martínez
 18/05/17 01:12  

Participa mucho

Estado: desconectado
Forum User

Identificado: 19/07/09
Mensajes: 67
Localización:Quito - Ecuador
Hola en centos 7 existe un sistema de iptables que se llama firewalld, si vas a usar tu propio firewall deberás primero deshabilitar este sistema para ello puedes aplicar estos comandos

Para deshabilitar
systemctl disable firewalld

Para detener
systemctl stop firewalld

Para verificar que no este corriendo
systemctl status firewalld

Luego si podrás aplicar tu propio firewall

Saludos César Martinez M.
 
Profile Email
 Quote
Perseus
 14/10/17 10:57  

Miembro regular

Estado: desconectado
Forum User

Identificado: 02/08/07
Mensajes: 115
Localización:Chiapas, México
Podrías instalar shorewall y te evitas de broncas.

--------------------o00o-----| º L º |-------o00o-------------------- También en la Selva existen los pingúinos!!
 
Profile Email
 Quote
Edgar Rodolfo
 17/10/17 10:58  

Miembro regular

Estado: desconectado
Forum User

Identificado: 20/05/09
Mensajes: 71
Localización:Perú
Hola,

CentOS 7 tiene un firewall llamado firewalld y es activado por defecto, sino has deshabilitado pues no podras hacer creo nada, debes deshabilitar y habilitar iptables, tanto en ipv4 e ipv6, luego mi recomendación es hacer correr tu script en rc.local, hay tutos en internet como crear ese archivo ya que sino mas recuerdo no lo tiene, aunque creo que si..., no recuerdo, esa seria la forma de hacer iniciar tu script en tiempo de inicio, no tocarias nada de iptables por defecto, sino que al final de todo se ejecutaria tu script y sobre escribiría las reglas que trae, pero hay que aprender a usar firewalld, una vez traté de hacer un router casero con varias inbterfaces y nada que guardaba las reglas y no hay una documentacion detallada, en la wiki fedora hay ejemplos pero no es calro como para escenarios como redes lan, intentare usar firewalld haber como me va esta vez, saludos.

Live free or die!
 
Profile Email Website
 Quote
Contenido generado en: 0.20 segundos New Topic Post Reply
 Todas las horas son CST. Hora actual 10:13 .
Tópico normal Tópico normal
Tópico Pegado Tópico Pegado
Tópico bloqueado Tópico bloqueado
Mensaje Nuevo Mensaje Nuevo
Tópico pegado con nuevo mensaje Tópico pegado con nuevo mensaje
Tópico bloqueado con nuevo mensaje Tópico bloqueado con nuevo mensaje
Ver mensajes anónimos 
Los usuarios anónimos pueden enviar 
Se permite HTML Filtrado 
Contenido censurado