계속하다relugar 사용자로 netns를 사용하는 것에 대한 마지막 질문, 이제 일반 사용자로 VPN 터널을 여는 방법을 찾고 있습니다.
그래서 자연스럽게 Network Manager가 생각났어요. 모든 사용자는 모든 VPN과 함께 사용할 수 있습니다.
VPN 터널이 열리도록 sudoer 파일을 편집할 수 있지만 실제로는 그렇게 하고 싶지 않습니다.
그래서 다양한 네트워크 네임스페이스에서 어떻게 사용하는지 알고 싶습니다. ~에 따르면이 소스, 내가 올바르게 이해했다면 네트워크 관리자는 netns를 지원할 수 있습니다.
ifupdown은 아직 네임스페이스를 지원하지 않기 때문에 인터페이스를 수동으로 구성해야 하며 동일한 /run/network/ifstate 파일을 사용하여 기본 네임스페이스의 인터페이스를 추적합니다(이는 Network Manager 인수와 같은 지속성을 지원하는 좋은 방법이기도 함) ...).
감사해요.
편집: 현재 네트워크 관리자에게 여러 네임스페이스를 관리하도록 지시하는 방법을 모르겠습니다. 현재 내 생각은 각 네임스페이스에서 네트워크 관리자의 여러 인스턴스를 루트로 시작하는 것입니다. 실제로 Network Manager의 여러 인스턴스를 시작할 수 없습니다. 시스템 로그에서:
<error> [1443615747.550129] [nm-dbus-manager.c:808] nm_dbus_manager_start_service(): Could not acquire the NetworkManager service as it is already taken.
답변1
귀하가 링크한 블로그 게시물에는 ip netns
명령만 나열되어 있으며, 이 맥락에서(안타깝게도 인용할 때 생략함) ifupdown
네트워크 관리자만 언급됩니다. 여러 네트워크 관리자 인스턴스를 사용하려면 먼저 가능한 마운트 네임스페이스와 IPC(제 기억이 맞다면 dbus unix 소켓 IPC를 읽어 보세요)를 기반으로 인스턴스를 격리해야 합니다. 네트워크 네임스페이스에 가입하거나 자체 격리를 만드는 것은 샌드박스 또는 격리 네트워크 관리자를 위한 복잡한 일련의 단계 중 마지막에 불과합니다. 아마도 몇 개의 컨테이너로 시작하여 필요한 모든 인프라 항목을 거기에 넣는 것이 더 나을 것입니다. 그러나 이는 선택한 네트워크 드라이버 모델에 따라 모든 종류의 문제, 특히 네트워크 컨테이너에 대한 강제 IPAM 항목을 유발할 수 있습니다. .