firejail :只让程序访问本地主机

firejail :只让程序访问本地主机

我有这个本地网络服务和需要访问它的客户端程序。我以非特权用户身份运行它们。

我正在寻找一种使用 firejail 来沙箱客户端的方法,使其无法访问网络,除了本地主机(或者甚至更好,除了该服务)。我尝试的第一件事当然是

firejail --net=lo program

但这没有用。

Error: cannot attach to lo device

我想我可以通过创建一个虚拟网络接口(例如 veth0 和 veth1)来解决这个问题,将 veth1 移动到一个新的网络命名空间,我在其中运行服务并使用 firejail 将客户端限制为 veth0

有没有办法在 firejail 配置文件中实际自动化此设置,以便在我键入时创建所有这些接口并移动 veth1

firejail server

(无需以root身份运行任何东西)?

或者有更简单的方法解决这个问题吗? (我不能在同一个命名空间中同时运行客户端和服务,因为服务需要访问网络)

答案1

我会使用和选项类似:

firejail --interface=eth0.vlan100 --ip=someipaddress someprogram

Linux 内核 3.19 中引入了对 ipvlan 驱动程序的支持。

在这里找到:男子火狱|火狱

相关内容