Collegate il servizio systemd di Squid allo spazio dei nomi di uscita esistente
Impostate NetworkNamespacePath prima dell'avvio e fornite un montaggio separato del file resolver quando quello spazio dei nomi ne ha bisogno.
Per uno spazio dei nomi già disponibile su /run/netns/proxy-egress, unite questo al drop-in esistente del servizio Squid:
[Service]
NetworkNamespacePath=/run/netns/proxy-egressOrdinate il servizio dopo il componente che crea lo spazio dei nomi. Questa impostazione non crea né lo spazio dei nomi né le sue interfacce, i suoi indirizzi o le sue rotte.
Sia il socket in ascolto sia quello in uscita ora esistono lì. I client hanno bisogno di un percorso verso quell'ascoltatore e della sua politica di accesso mantenuta; il loopback dell'host non è automaticamente il loopback dello spazio dei nomi.
I file resolver richiedono un'attenzione separata. A differenza di ip netns exec, questa impostazione di rete non monta i file /etc/netns/NAME sui loro percorsi abituali. Quando il deployment ha bisogno del file resolver del suo spazio dei nomi:
BindReadOnlyPaths=/etc/netns/proxy-egress/resolv.conf:/etc/resolv.confUsate indirizzi resolver raggiungibili da quello spazio dei nomi e uniteli alle regole esistenti di sandbox/filesystem. Vincolare solo l'indirizzo sorgente in uscita di Squid non colloca il processo in questo contesto.