Squid ਦੀ systemd ਸੇਵਾ ਨੂੰ ਮੌਜੂਦਾ egress namespace ਨਾਲ ਜੋੜੋ
ਲਾਂਚ ਤੋਂ ਪਹਿਲਾਂ NetworkNamespacePath ਸੈੱਟ ਕਰੋ ਅਤੇ ਜੇ ਉਸ namespace ਨੂੰ ਲੋੜ ਹੋਵੇ ਤਾਂ ਵੱਖਰਾ resolver-file bind ਦਿਓ।
/run/netns/proxy-egress 'ਤੇ ਪਹਿਲਾਂ ਹੀ ਉਪਲਬਧ namespace ਲਈ, ਇਸ ਨੂੰ ਮੌਜੂਦਾ Squid ਸੇਵਾ drop-in ਵਿੱਚ ਮਿਲਾਓ:
[Service]
NetworkNamespacePath=/run/netns/proxy-egressਸੇਵਾ ਨੂੰ namespace ਬਣਾਉਣ ਵਾਲੇ ਹਿੱਸੇ ਤੋਂ ਬਾਅਦ ਰੱਖੋ। ਇਹ ਸੈਟਿੰਗ ਨਾ namespace ਬਣਾਉਂਦੀ ਹੈ ਅਤੇ ਨਾ ਹੀ ਇਸ ਦੇ ਇੰਟਰਫ਼ੇਸ, ਪਤੇ ਜਾਂ ਰੂਟ।
ਸੁਣਨ ਵਾਲਾ ਅਤੇ ਬਾਹਰ ਜਾਣ ਵਾਲਾ, ਦੋਵੇਂ ਸਾਕਟ ਹੁਣ ਉੱਥੇ ਹਨ। ਕਲਾਇੰਟਾਂ ਨੂੰ ਉਸ listener ਤੱਕ ਪਹੁੰਚ ਅਤੇ ਇਸ ਦੀ ਸੰਭਾਲੀ access policy ਚਾਹੀਦੀ ਹੈ; host loopback ਆਪਣੇ ਆਪ namespace loopback ਨਹੀਂ ਹੁੰਦਾ।
Resolver ਫ਼ਾਈਲਾਂ ਲਈ ਵੱਖਰਾ ਧਿਆਨ ਚਾਹੀਦਾ ਹੈ। ip netns exec ਦੇ ਉਲਟ, ਇਹ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ /etc/netns/NAME ਫ਼ਾਈਲਾਂ ਨੂੰ ਉਨ੍ਹਾਂ ਦੇ ਆਮ ਪਥਾਂ 'ਤੇ mount ਨਹੀਂ ਕਰਦੀ। ਜਦੋਂ ਡਿਪਲਾਇਮੈਂਟ ਨੂੰ ਆਪਣੇ namespace ਦੀ resolver ਫ਼ਾਈਲ ਚਾਹੀਦੀ ਹੈ:
BindReadOnlyPaths=/etc/netns/proxy-egress/resolv.conf:/etc/resolv.confਉਸ namespace ਤੋਂ ਪਹੁੰਚਯੋਗ resolver ਪਤੇ ਵਰਤੋ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਮੌਜੂਦਾ sandbox/ਫ਼ਾਈਲਸਿਸਟਮ ਨਿਯਮਾਂ ਨਾਲ ਮਿਲਾਓ। ਸਿਰਫ਼ Squid ਦਾ ਬਾਹਰ ਜਾਣ ਵਾਲਾ source ਪਤਾ bind ਕਰਨ ਨਾਲ ਪ੍ਰਕਿਰਿਆ ਇਸ ਸੰਦਰਭ ਵਿੱਚ ਨਹੀਂ ਆਉਂਦੀ।