Estructura de tabla y cadena de iptables
-
Cadena de reglas
- El papel de las reglas: filtrar o procesar paquetes de datos
- El papel de la cadena: adaptarse a varias reglas de firewall
- La base de clasificación de la cadena: diferentes tiempos de procesamiento de paquetes de datos
-
Se incluyen 5 tipos de cadenas de reglas por defecto
- INPUT: Procesar paquetes entrantes
- SALIDA: Procesar paquetes salientes
- FORWARD: Procesar paquetes de reenvío
- Cadena POSTROUTING: procesa paquetes de datos después del enrutamiento
- Cadena PREROUTING: procesamiento de paquetes de datos antes del enrutamiento
-
Tabla de reglas
- El papel de la mesa: para adaptarse a varias cadenas de reglas
- La base para la división de la tabla: el papel de las reglas de firewall es similar
-
4 tablas de reglas incluidas por defecto
- tabla sin procesar: Determine si desea rastrear el estado del paquete
- tabla de mangle: establecer banderas para paquetes
- tabla nat: modifica la fuente, la dirección IP de destino o el puerto en el paquete de datos
- tabla de filtros: determine si dejar que el paquete de datos (filtro)
-
Diagrama esquemático de la tabla predeterminada y la estructura de la cadena
El proceso de coincidencia de filtrado de paquetes
-
Orden entre tablas de reglas
- raw-> mangle> nat> filter
-
Orden entre cadenas de reglas
- Entrante: PREROUTING → INPUT
- Saliente: SALIDA → POSTROUTING
- 转发: PREROUTING> FORWARD> POSTROUTING
-
Orden de coincidencia dentro de la cadena de reglas
- Verifique en orden y deténgase cuando coincida (excepto para la estrategia LOG)
- Si no se encuentra una regla coincidente, se procesará de acuerdo con la estrategia predeterminada de la cadena.
Diagrama esquemático del proceso de emparejamiento
** Nota: ** CentOS 7 usa el firewall firewalld de forma predeterminada, si desea usar el firewall de iptables, primero debe desactivar el firewall firewalld
instalación de iptables
- Desactivar el cortafuegos firewalld
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
- Instalar el firewall de iptables
[root@localhost ~]# yum -y install iptables iptables-services
- Configurar iptables para que se inicie en el arranque
[root@localhost ~]# systemctl start iptables.service
[root@localhost ~]# systemctl enable iptables.service
La sintaxis básica de iptables
- Composición gramatical
- iptables -t nombre de tabla opción nombre de cadena condición -j tipo de control
[root@localhost ~]# iptables -t filter -I INPUT -p icmp-j REJECT
-
Precauciones
- Cuando no se especifica el nombre de la tabla, se refiere a la tabla de filtro de forma predeterminada
- Cuando no se especifica el nombre de la cadena, se refiere a todas las cadenas de la tabla de forma predeterminada
- A menos que se establezca la política predeterminada de la cadena, se deben especificar condiciones coincidentes
- Utilice letras mayúsculas para opciones, nombres de cadenas y tipos de control, y minúsculas el resto
-
Tipos de control comunes de paquetes de datos
- ACEPTAR: Permitir pasar
- DROP: caer directamente sin dar ninguna respuesta
- RECHAZAR: Rechace pasar, y avise si es necesario
- REGISTRO: registra la información del registro y luego pásala a la siguiente regla para seguir haciendo coincidir
-
Resumen de opciones de manejo comunes
categoría | Opciones | utilizar |
---|---|---|
Agregar nueva regla | -UN | Agrega una regla al final de la cadena |
Agregar nueva regla | -YO | Inserte una regla al comienzo de la cadena (o especifique el número de secuencia) |
Ver la lista de reglas | -L | Lista de todas las entradas de reglas |
Ver la lista de reglas | -norte | Muestra la dirección, el puerto y otra información en forma digital |
Ver la lista de reglas | -v | Mostrar información de reglas de una manera más detallada |
Ver la lista de reglas | -Línea de números | Al ver las reglas, muestre el número de serie de la regla |
Eliminar y borrar reglas | -RE | Eliminar una regla con un número de secuencia (o contenido) especificado en la cadena |
Eliminar y borrar reglas | -F | Eliminar todas las reglas |
Establecer política predeterminada | -PAGS | Establecer reglas predeterminadas para la cadena especificada |
Condición de coincidencia de reglas
Condiciones generales de coincidencia comunes
- Coincidencia de protocolo: -p nombre de protocolo
- Coincidencia de direcciones: -s dirección de origen -d dirección de destino
- Coincidencia de interfaz: -i tarjeta de red entrante -o tarjeta de red saliente
Condiciones de coincidencia implícitas de uso común
- Coincidencia de puertos: --puerto de origen deportivo --puerto de destino de puerto
- Coincidencia de tipo ICMP: - tipo ICMP tipo ICMP
Ejemplo:
iptables -I INPURT -p icmp -j DROP
iptables -A INPUT -i ens33 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
Nota: 8: solicitud, 0: eco, 3: inalcanzable
Condiciones comunes de coincidencia de pantalla
Coincidencia multipuerto:
- -m multipuerto: lista de puertos de origen de deportes
- -m multipuerto: exporta la lista de puertos de destino
Coincidencia de rango de IP:
- -m iprange - rango de IPsrc-range
Coincidencia de direcciones MAC:
- -m mac -mac-dirección MAC de origen
Coincidencia de estado:
- -m estado - estado de conexión de estado
Ejemplo
iptable -A INPUT -p tcp -m multipuerto --dports 25,80,110 -j ACEPTAR
iptable -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-192.168.4.28 -j ACEPTAR
iptable -A INPUT -m mac --mac-source 00: 0c: 29: c0: 55: 3f -j ACEPTAR
iptable -A INPUT -p tcp -m estado --state ESTABLISHED -j ACCEPT
Estado de conexión común:
NUEVO ------------
ESTABLECIDO no relacionado con ninguna conexión ------------
RELACIONADO en respuesta a una solicitud o conexión establecida ----------- -Relacionado con conexiones existentes, como la conexión de datos FTP
Resumen: el
firewall de iptables incluye 4 tablas y 5 cadenas por defecto
La sintaxis básica de iptables
Opciones de administración comunes de iptables
- A 、 I 、 L 、 n 、 v 、 --números de línea 、 D 、 F 、 P
condiciones de coincidencia de reglas de iptables
- Coincidencia general, coincidencia implícita, coincidencia explícita