CONFIGURACIÓN DE ENLACES DE RED CON LINUX Y AVISO DE SEGURIDAD BÁSICA – NETFILTER/IPTABLES

NOTA : El tutorial es para principiantes/nivel medio.
No comenzaré a describir cómo se desarrolló el sistema operativo, ni a explicar la filosofía de código abierto, ni abordaré el tema de las licencias. Supongo que ya conoce a todos los que hicieron el cambio de Microsoft a GNU-Linux. Desde aquí, escribiré brevemente, desde la conveniencia (no la ignorancia) -Linux. Así es como dije, un pequeño tutorial para principiantes. Los conceptos se aplican a cualquier distribución.
Pensé en compartir el tutorial de un pequeño capítulo, así que comencemos:

Capítulo 1: TCP/IP
¿Puede decir lo que usará para conocer todos estos detalles, si los sistemas operativos ahora vienen con un instalador amigable, o podría pensar que si instaló Linux, está protegido … etc. Bueno, no es así … pero vamos a llegar a eso.
Elegí escribir un poco sobre los protocolos de red, porque necesitaremos algunas nociones para configurar un firewall, pero también para comprender mejor qué sucede detrás del “clic”. Para poder comunicarse, las computadoras usan algunas reglas de comunicación – Protocolos. La comunicación entre computadoras es similar a la humana, necesitamos tener un “remitente” y un “receptor”, o mejor dicho origen y destino. Espero hacerme entender y no aburrirte. Sin embargo, si hago eso, me disculpo por ahora.
TCP/IP es el conjunto de protocolos (también conocidos como pila TCP/IP) en los que se basa Internet. Se divide en cuatro niveles o capas. modelo OSI (no describe aquí, porque hacemos CCNA, se divide en siete capas)
Nivel aplicacion
Capa de transporte
Nivel de red
Nivel datos y físico

Podemos pensar en IP, que un sobre envía un mensaje. Creo que es el mejor ejemplo. Cuando enviamos una carta, tenemos un destinatario, con el nombre y la dirección, y una dirección del remitente. Así es como también funcionan los paquetes IP con otra información. Tenemos un encabezado dentro de un paquete (generalmente TCP) con direcciones de origen y destino, suma de comprobación y otra información. Muy útiles para descubrir son RFC, ex RFC791.
Direcciones IP
En Internet, a cada computadora se le asigna una dirección IP única. Consta de cuatro números del 0 al 255 separados por tres puntos. Ex 209.127.112.153. Consta de 4 bytes (32 bits en total).

Una dirección IP se compone de 2 partes:
1) de direcciones de red (direcciones de red o de alambre de dirección)
2) Dirección de host (host dirección de red). Por lo tanto, los bits de una dirección IP se dividen
en bits de red y bits de host.
Todos los hosts en la misma red deben tener la misma dirección de red. Un concepto muy importante sin el cual ip no existe es la máscara de red. Su propósito es
determinar qué bits de IP son bits de red y qué hosts. La dirección IP no existe sin máscara, siempre configuradas juntas.
EX:
255.0.0.0 o/8
Si activa esta base de máscara 2 vemos que los primeros 8 bits son 1. De ello se desprende que los primeros 8 bits de la dirección IP son bits de red y 24 de acogida pasado.
En Internet hay muchos materiales que explican bastante bien, he aprendido de un instructor de CCNA de una manera más simplu..cine quiere saber más me puede pedir libros, un libro muy útil es la Administración CompTIA Network +, explicar conceptos claramente, acaba de leer.
Clasificación IP
basado en el primer bit del primer byte de 5 clases de IP (definido en RFC1700 IANA)

Podemos pensar en IP, que un sobre envía un mensaje. Creo que es el mejor ejemplo. Cuando enviamos una carta, tenemos un destinatario, con el nombre y la dirección, y una dirección del remitente. Así es como también funcionan los paquetes IP con otra información. Tenemos un encabezado dentro de un paquete (generalmente TCP) con direcciones de origen y destino, suma de comprobación y otra información. Muy útiles para descubrir son RFC, ex RFC791.
Direcciones IP
En Internet, a cada computadora se le asigna una dirección IP única. Consta de cuatro números del 0 al 255 separados por tres puntos. Ex 209.127.112.153. Consta de 4 bytes (32 bits en total).

Una dirección IP se compone de 2 partes:
1) de direcciones de red (direcciones de red o de alambre de dirección)
2) Dirección de host (host dirección de red). Por lo tanto, los bits de una dirección IP se dividen
en bits de red y bits de host.
Todos los hosts en la misma red deben tener la misma dirección de red. Un concepto muy importante sin el cual ip no existe es la máscara de red. Su propósito es
determinar qué bits de IP son bits de red y qué hosts. La dirección IP no existe sin máscara, siempre configuradas juntas.
EX:
255.0.0.0 o/8
Si activa esta base de máscara 2 vemos que los primeros 8 bits son 1. De ello se desprende que los primeros 8 bits de la dirección IP son bits de red y 24 de acogida pasado.
En Internet hay muchos materiales que explican bastante bien, he aprendido de un instructor de CCNA de una manera más simplu..cine quiere saber más me puede pedir libros, un libro muy útil es la Administración CompTIA Network +, explicar conceptos claramente, acaba de leer.
Clasificación IP
basado en el primer bit del primer byte de 5 clases de IP (definido en RFC1700 IANA)

Imágenes para la clasificación de la dirección IP

RETRATOS
Ahora que sabemos un poco sobre Ip, nos detenemos en otro concepto muy importante: los retratos. Cuando la información pasa de una computadora a otra, se transmite desde una aplicación de servidor a una aplicación cliente. Cada programa de servidor (servicio) tiene un puerto predeterminado que “escucha”, esperando las solicitudes de los clientes. (programa cliente). El cliente está diseñado para enviar solicitudes al puerto predefinido del servidor. La IANA (Autoridad de Números Asignados de Internet) ha reservado ciertos puertos a los cuales ciertos servicios y sus clientes están comprometidos. Algunos ejemplos:

SERVICIO/PORT

21 FTP

22 SSH

25 Mail (SMTP)

80 HTTP (WWW)

Se puede encontrar una lista completa en el directorio/etc/services

[root @ sandybell] ─ [/​​home/zuzu] └── ╼ # more/etc/services

tcpmux

1/tcp

# TCP multiplexor de servicio de puerto

eco

7/tcp

eco

7/UDP

descartar

9/tcp

hundirse nulo

descartar

9/udp

hundirse nulo

systat

11/tcp

usuarios

durante el día

13/tcp

durante el día

13/udp

netstat

15/tcp

Qotd

17/tcp

riendo

msp

18/tcp

# mensaje enviar protocolo

msp

18/udp

chargen

19/tcp

fuente ttytst

chargen

19/udp

fuente ttytst

ftp-data

20/tcp

ftp

21/tcp

FSP

21/udp

fspd

ssh

22/tcp

# SSH Protocolo de inicio de sesión remoto

ssh

22/udp

telnet

23/tcp

Los puertos 0 a 1023 están reservados. Solo la raíz (UID 0) puede conectarse a estos puertos, conocidos como puertos con privilegios. Para los puertos superiores 1024 a 65,535, cualquier persona, incluida la raíz, puede conectarse. Puede encontrar más información en RFC 791.
Nota: RFC (Solicitud de comentarios), IANA, IETF son una lectura obligatoria en nuestro campo.

TCP (PROTOCOLO DE CONTROL DE TRANSMICIÓN)
TCP representa más del 90% del promedio de tráfico de LAN. Establezca una conexión cliente/servidor a través de un método de conexión de tres vías:
1. El cliente (por ejemplo, un cliente FTP) envía un paquete TCP/IP al servidor en el puerto 21. En el encabezado de este paquete que solicita conectarse al servidor FTP, (1) el bit SYN y los otros bits se activan en 0 (ACK, RST, UR). El paquete también contiene un número aleatorio con inicio de secuencia.
Este tipo de conexión se llama apretón de manos de tres vías.

Cuando el servidor escucha las solicitudes, ve el paquete con el bit SYN activado, activa el bit ACK
(ahora tanto SYN como ACK tienen un valor de 1), incrementa el número de secuencia y envía el paquete como respuesta.
Cuando el cliente recibe el paquete SYN-ACK, incrementa el número de secuencia y elimina (pone el bit en 0) SYN, dejando solo el ACK con el valor 1.
Una vez que el servidor recibe el paquete ACK, sale de la cola y la conexión se mantiene estable. Hay muchas explicaciones sobre este tipo de conexión, no sé si la mía es la más clara. La imagen de arriba (tomada de google) es bastante explícita. Aquellos que estén interesados ​​pueden buscar cursos de cccna con instructores autorizados, o incluso encontrar un currículo de cisco en la red. Sin embargo, tenga esto en cuenta, es de suma importancia comprender cómo funciona el establecimiento de la conexión.
¿Por qué escribí sobre esto si el tutorial eventualmente quería ser un cortafuegos para principiantes? Para eso, necesitamos entender cómo un firewall distingue entre conexiones nuevas y establecidas.

UDP (PROTOCOLO DE DATOS ANTERIORES)
Es un protocolo no relacionado con las conexiones. Se utiliza cuando la integridad de los datos no es importante. Si bien TCP utiliza un conjunto de reglas estrictas para garantizar la transmisión de datos intactos, reunidos en el orden correcto y sin errores, UDP hace exactamente lo contrario.
UDP/IP (actualmente estamos escribiendo solo UDP), se utiliza para paquetes pequeños y sin importancia. Los paquetes pueden o no llegar a su destino. Se utiliza para consultas de DNS, donde toda la información encaja en un solo paquete. Si el paquete no llega, el DNS vuelve a preguntar hasta que llega al destino.
ICMP (PROTOCOLO DE MENSAJES DE CONTROL DE INTERNET)
“Paquete Ping”. No usa puertos, pero se comunica con una tarjeta Ethernet, pero usa “tipos” para la identificación.
ICMP tipo 0 es un paquete de aplicación ecoSo. Se utiliza para probar la conexión de red entre dos puntos. Añade al tipo 8 la respuesta de ese eco.
Mucha gente de seguridad paranoica bloquea ICMP (y yo lo hice), pero no es una muy buena idea. Por ejemplo, Linux usa ICMP para encontrar MTU (unidades de unidad máxima). Al enviar paquetes grandes (1500bits) etiquetado con el bit DNF (No fragmentar). Si una carretera o un enrutador desfragmentara un paquete, no podría y lo devolvería. Este Linux enviaría otro paquete más pequeño y continuaría hasta el paquete no pasaría. Tampoco es una buena idea bloquear los paquetes de tipo 3 que indican que un host es inalcanzable (lo hice, te mostraré cómo si todavía quieres eso) porque la comunicación sería muy lenta .
Hay mucho escrito sobre ICMP pero una vez …
2.CONFIGURAR LA RED DEBIANA (Y DERIVADOS) – COMPROMISOS BÁSICOS

Teóricamente, hoy en día todo funciona después de instalar el sistema operativo, al menos para los usuarios domésticos, pero no es malo aprender algunos comandos básicos para configurar/restablecer la red.
Los comandos principales son:
ifconfig , (utilizado para configurar, iniciar, deshabilitar el dispositivo de interfaz de red y también para buscar la IP y otros datos de red usando la consola).
Ej: └──╼ #ifconfig
eth0 Enlace encapsulado: Ethernet HWaddr 54: be: f7: 86: 23: 56
UP BROADCAST MULTICAST MTU: 1500 Métrica: 1 Paquetes RX: 0 errores: 0 dropeados: 0 overruns: 0 frame: 0 TX paquetes: 0 errores: 0 dropeados: 0 overruns: : 0 colisiones: 0 txqueuelen: 1000
RX bytes: 0 (0.0 B) TX bytes: 0 (0.0 B)

Uso wifi (en mi caso es ifconfig -a (indica todas las interfaces de red) y también iwconfig.
Tanto para ifconfig como para cualquier comando de Linux existe man (ex: man ifconfig), una utilidad
confiable porque no todos sabemos Todos los comandos u opciones de comando en la parte superior.

Ejemplo de ifconfig para configurar manualmente una interfaz (ip + netmask, ahora entiendes por qué hice la pequeña introducción sobre ip)

ifconfig eth0 192.168.0.2 netmask 255.255.255.0 transmisión 192.168.0.255

Esta línea solo configura la interfaz de red pero no nos da acceso a Internet. Necesitamos tener una conexión, la puerta de entrada a Internet, un enrutador en breve. Aquí es donde el comando de ruta nos ayuda.

Route es una utilidad que nos permite especificar una puerta de enlace predeterminada (una puerta de enlace predeterminada) para Internet. Usando los datos de arriba (ip), podemos configurarlo de la siguiente manera:

ruta agregar por defecto gw 192.168.0.1

Se debe tener cuidado al escribir el pedido correctamente y al ordenarlo para que funcione. Para comprobar si todo está correcto, podemos echar un vistazo a la tabla de enrutamiento o incluso hacer un ping a una dirección de Internet.

Podemos hacer esto usando el comando route -n

ruta -n

Kernel de la tabla de enrutamiento IP

destino

entrada

Genmask

Banderas Métricas Ref. Uso Iface

0.0.0.0

192.168.0.1

0.0.0.0

UG

1024

0

0 wlan1

192.168.0.0

0.0.0.0

255.255.255.0

T

0

0

0 wlan1

Como puede ver, el enrutador tiene la ip (en la interfaz interna) 192.168.0.1 y, en teoría, el orcine debería tener la tarjeta de red correctamente configurada y el enrutador para tener acceso a Internet.

Ping
Compruebe que el dispositivo está “arriba” enviando una solicitud eco ICMP al dispositivo.
Man ping 🙂allí, tiene todas las opciones y explicaciones que necesita para entender este comando.
Command traceroute El
nombre es bastante sugerente. Se utiliza para ver qué ruta utilizan los paquetes para llegar al destino o dónde se detienen si no han llegado.
Comando de Netstat
Obtenemos información sobre cómo se enrutan los paquetes, abren conexiones, abren puertos y están listos para aceptar conexiones. Viene con opciones: netstat -avn, un ejemplo.
Estos son los comandos que cualquier usuario de Linux debería conocer. Además, también podemos ser útiles para reinstalar el hombre de la tarjeta de red:

/etc/init.d/networking restart

3. FIREWALL IP, PAQUETES DE FILTRO, IPTABLES

No voy a escribir aquí sobre ipmasquerade ((aunque se disfraza con iptables y NAT, lo haré en los siguientes enrutadores de Linux). ¡
🙂Bien … empecemos!
Por lo que sé, tenemos dos tipos de cortafuegos. No quiero definir un firewall, no creo que sea necesario hoy en día.) Firewall
proxy
a nivel de red basado en el filtrado de paquetes (lo que usaremos) El
firewall proxy se divide en: Estándar: un cliente se conecta a Un puerto especial y se redirige para que pase por otro puerto.
Transparente: el cliente no usa un puerto especial sino un software.
Aunque Linux ahora encuentra programas de firewall instalados (solo requiere configuraciones pequeñas), están usando iptables en segundo plano, así que personalmente prefiero interactuar con esta utilidad. Sí, iptables es solo una utilidad con la que aplicamos algunas reglas para el filtrado de paquetes. Sería correcto decir netfilter/iptables.
Netfilter llega de esa manera al kernel de Linux y nos permite interceptar/manipular paquetes de red.
Cuando se utiliza un firewall de red de filtrado de paquetes, podemos otorgar o denegar el acceso al host y dentro del host en función de diferentes variables, tales como:
– dirección de origen, protocolo, número de puerto, contenido.
Un firewall bien configurado (opciones avanzadas) puede ayudarnos a superar los ataques de suplantación de identidad, hacer dos cosas e incluso convertir la red en una red invisible para el exterior.
El kernel de Linux define tres tablas de reglas:
1 .filter – usado para el filtrado de paquetes -> con INPUT, OUTPUT, FORWARD
2. nat – para sistema NAT → con cadenas PREROUTING, OUTPUT, POSTROUTING
3. mangle – usado para verificación especializada de paquetes → ENTRADA, SALIDA,
PREROUTING, POSTROUTING
* Cuando un paquete ingresa al sistema pasa a través de la interfaz de red, entonces el kernel decide si el paquete está destinado a la máquina local – ENTRADA u otra computadora – ADELANTE. El proceso es similar a la salida de un paquete, excepto que se utiliza la cadena de SALIDA.
A través de la cadena PREROUTING, pasan los paquetes antes de que la ruta POSTROUTING establezca su ruta hacia el destino una vez que se hayan enrutado pero antes de abandonar el sistema.

Cada cadena contiene algunas reglas y se le aplican acciones (ACEPTAR, DROP, RECHAZAR). Si una regla especifica la acción ACEPTAR, el paquete ya no se comprueba, sino que se descarta, si tiene DROP, no se le permite llegar a su destino y si tiene RECHAZO, no se puede pasar al destino, pero se envía un paquete de error al remitente.
Así que estas son algunas nociones mínimas sobre cómo funciona un firewall de Linux. Muchos creen que iptables es un firewall de Linux, pero está mal. Iptables es solo un programa con el que ejecutamos algunos comandos para manipular firewalls y reglas en el firewall … en mi opinión, el no especialista sería una interfaz de filtro de red.

Iptables tiene la siguiente sintaxis:

regla de comando iptables [opciones]

Pedidos:

– Una regla de cadena (Agrega una o más reglas al final de la cadena especificada)
– Cadena I (número de regla/regla [opciones] – coloca una o más reglas de cadena al comienzo de la cadena)
– Cadena D [número regulatorio/regla [opciones] una o más reglas -L-muestra las reglas contenidas en una/todas las cadenas en particular
– F (flush) borra todas las reglas
Hay muchos comandos (vea netfilter.org 🙂, man iptables) pero si los escribiré todos, haré un tutorial tan largo como el muro chino.

Especificación de la regla:

-s dirección (máscara) especifica la dirección de origen del paquete (generalmente ip, pero también puede ser una red o nombre de máquina)
-d especifica una dirección de destino
-p (protocolo) especifica el protocolo de encapsulación de paquetes (icmp, udp, tcp, o todos). -i/-o interfaz de red a través de la cual pasa
la acción del paquete -j -especifica la acción que se realizará cuando el paquete corresponda a un paquete
Opciones de paquete tcp, udp,
icmp -sport, -dport (puerto) -indican el puerto de origen del puerto de origen y el puerto de destino
-tcp-flags -syn
-intmp-type especifica el tipo de mensaje icmp
Estas son nociones teóricas básicas … No sé todo lo anterior, llamo a Google cuando tengo algo que hacer y no sé, pero básicamente esto es … con pequeñas +/-.
Aquí hay un ejemplo de un cortafuegos básico para un usuario doméstico.

#!/bin/bash iptables -F

iptables -A SALIDA -o loopback -j ACEPTAR iptables -A ENTRADA -i loopback -j ACEPTAR

#iptables -A INPUT -p tcp -dport 80 -syn -m limit -limit 5/s -j ACEPTAR #iptables -A INPUT -p tcp -dport 80 -syn -j DROP

iptables -A ENTRADA -p icmp -imp-type 8 -j RECHAZAR -reyectar -con icmp-net-inalcanzable iptables -A SALIDA -m Estado -Estado NUEVO, ESTABLECIDO, RELACIONADO -j ACEPTAR iptables -A ENTRADA -m Estado de estado ESTABLECIDO, RELACIONADO-ACEPTO

iptables -P INPUT DROP iptables -P OUTPUT DROP

Como puede ver la primera línea iptables -F, indica la eliminación de las reglas, aceptamos la interfaz de bucle invertido ((127.0.0.1/32) tanto en la cadena de ENTRADA como en la SALIDA.
Como ve en las líneas a continuación, intenté usar la teoría escrita anterior … pero las comenté porque ahora no tengo Apache instalado en el sistema, pero puede investigar qué está haciendo esa línea, ya le he dado suficientes pistas. .
chainurile predeterminada Linux son compatibles. Esto se puede
ver al mandar iptables -vnL . Obtendremos un resultado similar:

[Root @ Hola! Sandybell] ─ [~]

└── ╼ #iptables -vnL

ENTRADA de cadena (política ACEPTAR paquetes de 387K, 496M bytes)

pkts bytes de destino

prot optar en

fuera

fuente

destino

670 122K ACEPTAR

udp – *

* 0.0.0.0/0

0.0.0.0/0

multipuerto dports 5353

0 0 ACEPTAR

tcp

– *

*

0.0.0.0/0

0.0.0.0/0

multipuerto dports 4000

Cadena ADELANTE (política ACEPTA 0 paquetes, 0 bytes)

pkts bytes de destino

prot optar en

fuera

fuente

destino

Cadena de SALIDA (política ACEPTA 247K paquetes, 26M bytes)

pkts bytes de destino

prot optar en

fuera

fuente

destino

Después de escribir el pequeño script para el firewall, le doy permisos (chmod + x (o 777) firewall_name y lo ejecuto. Veremos cómo funciona, pero la eficacia se puede probar con nmap, wireshark, etc.

┌ [ ✗ ] ─ [root @ sandybell] ─ [~]

└── ╼ #chmod + x fw

┌─ [root @ Hola! Sandybell] ─ [~]

└── ╼ #./Fw

#iptables -vnL

ENTRADA de cadena (política DROP 5 paquetes, 809 bytes)

pkts bytes de destino

prot optar en

fuera

fuente

destino

0

0 ACEPTA

todos

loopback *

0.0.0.0/0

0.0.0.0/0

0

0 RECHAZAR

icmp – *

*

0.0.0.0/0

0.0.0.0/0

icmptype 8 rechazar-con

icmp-net-inalcanzable

475

ACEPTAR 120K

todos

*

*

0.0.0.0/0

0.0.0.0/0

miembro

RELACIONADOS, ESTABLECIDO

Cadena ADELANTE (política ACEPTA 0 paquetes, 0 bytes)

pkts bytes de destino

prot optar en

fuera

fuente

destino

Cadena de SALIDA (política DROP 0 paquetes, 0 bytes)

pkts bytes de destino

prot optar en

fuera

fuente

destino

0

0 ACEPTA

todos

*

loopback 0.0.0.0/0

0.0.0.0/0

523 72872 ACEPTAR

todos

*

*

0.0.0.0/0

0.0.0.0/0

miembro

NEW, relacionados, ESTABLECIDO

!! Algo importante dejado atrás, voluntariamente … has notado que usé NUEVO, ESTABLECIDO, RELACIONADO. No hablé de estos paquetes antes porque esperaba mostrar el script y luego explicarlo. Estas reglas permiten salir del sistema (hemos utilizado la cadena de salida) los paquetes que son nuevos, requeridos, establecidos y relacionados, y que permiten (en la CADENA DE ENTRADA) las conexiones establecidas y relacionadas.

Es muy sencillo entender el concepto (seguimiento de la conexión) y puede encontrarlo muy bien en netfilter.org.

Debido a que estoy presionado por el tiempo, en el sentido de que no tengo tiempo en absoluto, de lo que me quedan unos minutos, le dejo un script, un poco más avanzado (usaremos variables).

#!/Bin/bash

IPT =/sbin/iptables

PRIVATE_IPCLASSES = “10.0.0.0/8 172.16.0.0/12 169.254.0.0/16 192.0.2.0/24 192.88.99.0/24 192.168.0.0/16 201.63.40.0/24 66.249.66.0/24” PUBLIC_NIC = eth1

PUBLIC_IP = aquí la ip de interconexión pasa PUBLIC_IP_CLASS = clase/máscara de ip pública asignada

PRIVATE_NIC = eth0

PRIVATE_IP = 192.168.1.1

PRIVATE_CLASS = 192.168.1.0/24

$ IPT -t filtro -P INPUT ACCEPT

$ IPT -t filtro -P ACEPTACIÓN DE SALIDA

$ IPT -t filtro -P ADELANTE ADELANTE

/bin/echo -n “Inicio de firewall …

$ IPT -t filtro -F

$ IPT -t nat -F

$ IPT -t mangle -F

#INPUT CHAIN

# \

################################################## ########################

#

#/

$ IPT -t filtro -A ENTRADA -p tcp! -Syn -m estados -estado NUEVO -j

DROP

$ IPT -t filtro -A ENTRADA -p todo -m estado -estado INVÁLIDO -j DROP

#Chats privados que no tienen búsquedas en internet. para la clase en $ PRIVATE_IPCLASSES hacer

$ IPT -t filtro -I ENTRADA -s $ clase -i $ PUBLIC_NIC -j DROP $ IPT -t filtro -I ADELANTE -s $ clase -i

$ PUBLIC_NIC -j DROP

hecho

# Conexiones de entrada compatibles; el orden cuenta !!!! #SSH para Admin via PROVIDER ip

$ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m estado -estado NUEVO -p tcp -dport 22 -j LOG -log-prefix “ALL-SSH:”

$ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -con ipulme1 -d $ PUBLIC_IP -m estados -estado NUEVO -p tcp -dport 22 -j ACEPTAR

$ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -con ipulmeu2 -d $ PUBLIC_IP -m estado -estado NUEVO -p tcp -dport 22 -j ACEPTAR

$ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -s ipulmeu3 -d $ PUBLIC_IP -m estados -estado NUEVO -p tcp -dport 22 -j ACEPTAR

#acceso a otras cosas

# simplemente smtp para todos a través de PROVIDER ip

$ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m estado -estado NUEVO -p tcp -dport 25 -j ACEPTO

$ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP_CLASS -m estado -estado NUEVO -p tcp -dport 25 -j ACEPTAR

# $ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m estado -estado NUEVO -p tcp -dport 80 -j ACEPTAR

# $ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m Estado -estado NUEVO -p tcp -dport 443 -j ACEPTAR

# $ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m Estado -estado NUEVO -p tcp -dport 21 -j ACEPTAR

# $ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m estado -estado NUEVO -p udp -dport 21 -j ACEPTO

# $ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m estado -estado NUEVO -p tcp -dport 110 -j ACEPTAR

# $ IPT -t filtro -A ENTRADA -i $ PUBLIC_NIC -d $ PUBLIC_IP -m estado -estado NUEVO -p tcp -dport 143 -j ACEPTAR

#by lan

$ IPT -t filtro -A ENTRADA -i $ PRIVATE_NIC -d $ PRIVATE_IP -s $ PRIVATE_CLASS -m estado -estado NUEVO -j ACEPTAR

$ IPT -t filtro -A ENTRADA -i $ PRIVATE_NIC -d $ PUBLIC_IP -s $ PRIVATE_CLASS -m estado -estado NUEVO -j ACEPTAR

$ IPT -t filtro -A ENTRADA -i $ PRIVATE_NIC -d $ PUBLIC_IP_CLASS -s $ PRIVATE_CLASS -m estado -estado NUEVO -j ACEPTAR

# ——–>

$ IPT -t filtro -I ENTRADA -i lo -j ACEPTAR

$ IPT -t filtro -I ENTRADA -p icmp -i $ PUBLIC_NIC -s cualquiera/0 -d $ PUBLIC_IP -m límite -limit 5/s -j ACEPTAR

$ IPT -t filtro -I INPUT -p icmp -i $ PUBLIC_NIC -s cualquiera/0 -d $ PUBLIC_IP_CLASS -m límite -limit 5/s -j ACEPTAR

$ IPT -t filtro -I ENTRADA -p icmp -i $ PRIVATE_NIC -s $ PRIVATE_CLASS -m límite -límite 5/s -j ACEPTAR

$ IPT -t filtro -A ENTRADA -p tcp -i $ PUBLIC_NIC -m estado -estado NUEVO

-j CAER

$ IPT -t filtro -A ENTRADA -p tcp -i $ PUBLIC_NIC -m estados -estado

ESTABLECIDO, RELACIONADO-ACEPTO

$ IPT -t filtro -A ENTRADA -p udp -i $ PUBLIC_NIC -m estado -estado NUEVO

-j CAER

$ IPT -t filtro -A ENTRADA -p udp -i $ PUBLIC_NIC -m estados -estado

ESTABLECIDO, RELACIONADO-ACEPTO

$ IPT -t filtro -A ENTRADA -p tcp -i $ PRIVATE_NIC -m estado -estado NUEVO

-j CAER

$ IPT -t filtro -A ENTRADA -p tcp -i $ PRIVATE_NIC -m estados -estado

ESTABLECIDO, RELACIONADO-ACEPTO

$ IPT -t filtro -A ENTRADA -p udp -i $ PRIVATE_NIC -m estado -estado NUEVO

-j CAER

$ IPT -t filtro -A ENTRADA -p udp -i $ PRIVATE_NIC -m estados -estado

ESTABLECIDO, RELACIONADO-ACEPTO

$ IPT -t filtro -A ENTRADA -j DROP

# CADENA DE SALIDA

# \

################################################## #######################

#

#/

$ IPT -t filtro -A SALIDA -p tcp! -Sin -m estados

-Estado NUEVO -J DROP

$ IPT -t filtro -A SALIDA -p todo -m estado -estado

INVALID -j DROP

$ IPT -t filtro -A SALIDA -o $ PRIVATE_NIC -d! $ PRIVATE_CLASS -j DROP

$ IPT -t filtro -A SALIDA -s

$ PUBLIC_IP -j ACEPTAR

$ IPT -t filtro -A SALIDA -s

$ PUBLIC_IP_CLASS -j

ACEPTAR

$ IPT -t

filtro -A

SALIDA -p

todos

-m estado -estado NUEVO -j ACEPTAR

$ IPT

t

filtro

-A

SALIDA

-p

todos

-M estado-estado ESTABLECIDO, RELACIONADO -J ACEPTAR

$ IPT

t

filtro

-A

SALIDA

j

DROP

# CADENA DEL PODER

# \

################################################## #######################

#

#/

#Restricción SMTP y DNS solo usarán retransmisión local

$ IPT -t filtro -A ADELANTE -i $ PRIVATE_NIC -s $ PRIVATE_CLASS -p tcp -dport 25 -j DROP

$ IPT -t filtro -A ADELANTE -i $ PRIVATE_NIC -s $ PRIVATE_CLASS -p tcp -dport 53 -j GOTAR

$ IPT -t filtro -A ADELANTE -p icmp -i $ PRIVATE_NIC -s $ PRIVATE_CLASS -m limit -limit 5/s -j ACEPTAR

$ IPT -t filtro -A ADELANTE -i $ PRIVATE_NIC -s $ PRIVATE_CLASS -j ACEPTAR

$ IPT -t filtro -A ADELANTE -p icmp -i $ PUBLIC_NIC -d $ PRIVATE_CLASS -m límite -limit 5/s -j ACEPTAR

$ IPT -t filter -A FORWARD -i $ PUBLIC_NIC -d $ PRIVATE_CLASS -j ACCEPT $ IPT -t filter -A FORWARD -j DROP

#NAT + mangle

$ IPT -t nat -I POSTROUTING -s $ PRIVATE_CLASS -o $ PUBLIC_NIC -j SNAT -a $ PUBLIC_IP

$ IPT -t mangle -I PREROUTING -i $ PUBLIC_NIC -j TTL -ttl-set = 64

#ejemplo de DNAT

$ IPT -t nat -I PREROUTING -i $ PUBLIC_NIC -with unamltip -d $ PUBLIC_IP -p tcp -dport 3389 -j DNAT -a 192.168.1.211:3389

echo “1”>/proc/sys/net/ipv4/ip_forward echo “DONE”

#sueño 120

#iptables -F

Lo siento, pero las explicaciones vendrán la próxima vez (cuando voy a escribir sobre routers Linux, como puede ver arriba, tenemos varias tarjetas de red definidas como eth0 y eth1, tenemos entradas internas y externas para esos tableros, también usamos nat (traducción de la dirección de la red), por lo que tenemos que ir paso a paso. ¿Quién puede ponerse en contacto conmigo? Hay guiones similares en Internet, hay muchos tutoriales, mucho mejores que los míos. Si lo desea, Gracias, si no, gracias por leerlo … o por haber sido paciente todo el tiempo.

Deja tu comentario