Intercepción de proxy con iptables: puertos 80 y 443 como un conjunto
Combina los puertos 80 y 443 como un conjunto y mantén la elección de la dirección del cliente separada del destino reescrito por el proxy.
Para seleccionar el tráfico TCP cuyo puerto de destino es 80 o 443, usa un conjunto:
-p tcp -m multiport --dports 80,443En cambio, --dport 80:443 selecciona todo el rango de 80 a 443, ambos incluidos. Eso captura muchos puertos adicionales. La coma y los dos puntos expresan políticas distintas.
Estos son fragmentos de coincidencia, no comandos de cortafuegos completos. Añádelos a la cadena y a la acción que exige el diseño de intercepción.
| Selector | Qué identifica antes de la reescritura |
|---|---|
-s 192.0.2.20 | La dirección de origen del cliente |
-d 198.51.100.30 | La dirección del servidor de destino |
--dports 80,443 | Los puertos de servicio de destino |
La dirección que recibe el --to-destination de DNAT es el destino nuevo, por ejemplo el receptor del proxy. No sustituye el significado de las coincidencias anteriores de origen y destino.
Mantén el selector lo bastante estrecho para describir a los clientes y el tráfico previstos. En particular, ten en cuenta las conexiones que genera el propio proxy, para que sus peticiones posteriores no vuelvan a entrar en la misma ruta de intercepción. Elegir el puerto 443 tampoco convierte los bytes de esa conexión en una petición explícita a un proxy HTTP; la aplicación receptora sigue necesitando el modo de intercepción adecuado. Para el reenvío transparente de TCP a un proxy, el traductor debe recuperar el destino original y negociar el protocolo del proxy.