Networking
firejail : 只讓程序訪問 localhost
我有這個本地網路服務和需要訪問它的客戶端程序。我以非特權使用者的身份執行它們。
我正在尋找一種使用 firejail 對客戶端進行沙箱處理的方法,以使其無法訪問網路的方式,除了 localhost(或者甚至更好,除了該服務)。我嘗試的第一件事當然是
firejail --net=lo program
但它沒有用。
Error: cannot attach to lo device
我想我可以通過創建一個虛擬網路介面來解決它,例如 veth0 和 veth1,將 veth1 移動到一個新的網路命名空間,我將在其中執行服務並使用 firejail 來限制客戶端到 veth0
有沒有辦法在 firejail 配置文件中實際自動執行此設置,以便在我鍵入時創建所有這些介面並移動 veth1
firejail server
(無需以root身份執行任何東西)?
或者有沒有更簡單的方法解決這個問題?(我不能在同一個命名空間中同時執行客戶端和服務,因為服務需要訪問網路)
我會使用和選項類似:
firejail --interface=eth0.vlan100 --ip=someipaddress someprogram
Linux 核心 3.19 中引入了對 ipvlan 驅動程序的支持。
在這裡找到:人火監獄 | 火獄