如何在 ubuntu 中使用 iptables 和 cgroups 隔离机器

如何在 ubuntu 中使用 iptables 和 cgroups 隔离机器

我正在尝试将计算机与网络隔离。
我在linux中运行以下命令:

#create net_cls folder for cgroup
mkdir /sys/fs/cgroup/net_cls

#mount the newly created folder 
mount -t cgroup -o net_cls none /sys/fs/cgroup/net_cls

#create new cgroup
cgcreate -g net_cls:/block_app

#add firefox process which is currently running to the group
cgclassify -g net_cls:/block_app $(pgrep firefox)`

#change read/write permissions for the file
chmod 777 /sys/fs/cgroup/net_cls/block_app/net_cls.classid

#assign group id 
echo 1 > /sys/fs/cgroup/net_cls/block_app/net_cls.classid

#add iptable entry to permit firefox process which was added to cgroup 
iptables -I OUTPUT -m cgroup --cgroup 1 -j ACCEPT

#drop all packets
iptables -A OUTPUT -j DROP

现在,执行这些步骤可以在我的本地虚拟机中进行。
本地虚拟机设置如下:

  • 操作系统:Linux Mint 21.1

这在另一台运行 Ubuntu 20.04 的服务器上不起作用。
它只是阻止所有流量,包括作为例外添加的 Firefox。

我是管理linux系统的新手。因此,欢迎任何指点甚至替代方法。

相关内容