이 로컬 네트워크 서비스와 이에 액세스해야 하는 클라이언트 프로그램이 있습니다. 권한이 없는 사용자로 실행합니다.
저는 Firejail을 사용하여 클라이언트가 localhost를 제외하고(또는 서비스를 제외하면 더 나은) 네트워크에 액세스할 수 없도록 샌드박스하는 방법을 찾고 있습니다. 물론 제가 가장 먼저 시도한 것은
firejail --net=lo program
그러나 그것은 작동하지 않았습니다.
Error: cannot attach to lo device
가상 네트워크 인터페이스(예: veth0 및 veth1)를 만들고, 서비스를 실행하는 새 네트워크 네임스페이스로 veth1을 이동하고, firejail을 사용하여 클라이언트를 veth0으로 제한하면 이 문제를 해결할 수 있을 것 같습니다.
Firejail 구성 파일에서 이 설정을 실제로 자동화하여 입력할 때 이러한 모든 인터페이스가 생성되고 veth1이 이동되도록 하는 방법이 있습니까?
firejail server
(루트로 아무것도 실행하지 않고)?
아니면 이 문제를 해결하는 더 쉬운 방법이 있습니까? (서비스에는 네트워크 액세스가 필요하기 때문에 동일한 네임스페이스에서 클라이언트와 서비스를 모두 실행할 수 없습니다)
답변1
다음과 유사한 옵션을 사용합니다.
firejail --interface=eth0.vlan100 --ip=someipaddress someprogram
ipvlan 드라이버에 대한 지원은 Linux 커널 3.19에서 도입되었습니다.
여기에서 찾으세요:남자지옥 |