Підключіть службу systemd Squid до наявного простору імен виходу
Задайте NetworkNamespacePath перед запуском і забезпечте окреме прив'язування файлу resolver, коли цьому простору імен воно потрібне.
Для простору імен, уже доступного за /run/netns/proxy-egress, додайте це до наявного drop-in служби Squid:
[Service]
NetworkNamespacePath=/run/netns/proxy-egressРозмістіть службу після компонента, який створює простір імен. Цей параметр не створює ні простір імен, ні його інтерфейси, адреси чи маршрути.
І слухаючий, і вихідний сокети тепер існують там. Клієнтам потрібен шлях до цього слухача та його збережена політика доступу; loopback хоста не стає автоматично loopback простору імен.
Файли resolver потребують окремої уваги. На відміну від ip netns exec, цей мережевий параметр не монтує файли /etc/netns/NAME поверх їхніх звичайних шляхів. Коли розгортанню потрібен файл resolver його простору імен:
BindReadOnlyPaths=/etc/netns/proxy-egress/resolv.conf:/etc/resolv.confВикористовуйте адреси resolver, доступні з цього простору імен, і об'єднайте їх із наявними правилами sandbox/файлової системи. Прив'язування лише вихідної адреси джерела Squid не поміщає процес у цей контекст.