如何从 bash 中“关闭”Linux 上的所有网络?

pno*_*ata 4 networking linux shell port iptables

我想编写一个 bash/shell 脚本来“关闭”机器通过其网卡进行通信的能力,从而有效地关闭所有网络。从命令行:

# To turn all networking off
sh networking.sh OFF

# Then to turn it back on
sh networking.sh ON
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一方法是在端口级别通过IPTABLES,但之前从未尝试过,我不确定我是否沿着正确的大道前进,或者我是否远离基地。提前致谢。

daf*_*ydd 8

大多数 linux 版本都带有脚本来执行此操作。它们是启动/关闭过程的一部分。

在 Fedora/RHEL 版本中,脚本通常通过/etc/init.d/. 因此,您可以执行“ /etc/init.d/network stop”来停止网络。要开始,请将“开始”替换为“停止”。

从命令行,这些风格的首选是使用service命令:“ service network stop”或“ service network start。”

这些命令仅限于 root 用户。我建议不要让普通用户做这样的事情。