Seguir un paquete TPROXY ata o socket
Comprobe o socket receptor, a marca do paquete e a ruta de política local como unha única vía de entrega do proxy transparente.
Un contador TPROXY pode subir mentres a aplicación non recibe nada. A regra coincidiu, pero a entrega local aínda depende do encamiñamento por políticas e dun socket receptor compatible.
Linux TPROXY pode interceptar tráfico sen reescribir o destino como fai DNAT. Por iso os paquetes dirixidos a un destino non local deben chegar a un socket local axeitado.
Siga a ruta de entrega
- O tráfico chega ao host de interceptación pola interface e a familia de enderezos previstas.
- A regra de interceptación e a marca do paquete identifican a política de entrega local.
- Unha regra de política coincidente escolle unha ruta que entrega os paquetes localmente.
- O proxy usa un oínte transparente compatible coa opción de socket necesaria.
O exemplo de IPv4 do núcleo require compatibilidade da aplicación con IP_TRANSPARENT. Un oínte normal no mesmo porto, ou un axuste global de vinculación non local, non demostra esa compatibilidade.
| Observación | Seguinte comprobación |
|---|---|
| Non hai paquetes de entrada relevantes | Ruta do tráfico e interface de entrada |
| Chegan paquetes; o contador de interceptación non se move | Familia de enderezos, cadea e condicións de coincidencia |
| A regra coincide; falla a entrega local | Marca e selección de ruta de política |
| O socket escoita; a aplicación non ve nada | Capacidade de socket transparente e propietario do oínte |
| A petición comeza; as respostas posteriores fallan | Coincidencia de socket establecido e rutas de volta |
Conserve a configuración cargada e o espazo de nomes de rede con cada observación. Unha regra posterior pode sobrescribir unha marca ou escoller outra ruta. Se a interceptación ocorre no host mentres o oínte se executa nun contedor, unha ruta local válida do host non entrega automaticamente nese contedor.
Contar cos paquetes posteriores
O exemplo do núcleo inclúe a coincidencia de socket e unha ruta DIVERT que marca os paquetes dos sockets transparentes. Omitila pode deixar o tráfico posterior noutra ruta aínda que a interceptación inicial funcione.
Use o modo transparente compatible coa aplicación e a documentación do núcleo correspondente para cada familia de enderezos. Unha orde de ruta local de IPv4 non configura IPv6, e a compatibilidade nunha familia non demostra o comportamento do socket da outra.
TPROXY tampouco xera a negociación SOCKS. Un compoñente de transparente a SOCKS aínda debe descubrir o destino e negociar co seu servidor ascendente.
Pasar de REDIRECT
Anote como obtén a aplicación existente o destino orixinal. REDIRECT cambia o destino e depende do mecanismo de recuperación axeitado; TPROXY necesita o seu socket transparente e a súa disposición de encamiñamento. Escolla segundo a aplicación e a política de enderezo de orixe.
Emparexe os contadores coa ruta escollida, a capacidade do socket e o rexistro da aplicación antes de cambiar de modo de interceptación. Nunha distribución que achegue os medios necesarios, un paso de entrega ausente é un mellor punto de partida que recompilar o núcleo.