Свържете 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 не поставя процеса в този контекст.