Squid の systemd サービスを既存の egress ネットワーク名前空間に参加させる
起動前に NetworkNamespacePath を設定し、その名前空間が必要とする場合は resolver ファイルのバインドを別途用意します。
すでに /run/netns/proxy-egress で利用可能な名前空間については、これを既存の Squid サービスの drop-in にマージします。
[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 の外向き送信元アドレスだけをバインドしても、プロセスはこのコンテキストに入りません。