bash: iptables: 找不到命令

bash: iptables: 找不到命令

如何解决iptables: command not foundDebian 7.6 上出现的问题?

batman@gotham:~$ uname -a
Linux gotham 3.14-0.bpo.2-amd64 #1 SMP Debian 3.14.13-2~bpo70+1 (2014-07-31) x86_64 GNU/Linux
batman@gotham:~$ iptables -L
bash: iptables: command not found
batman@gotham:~$ sudo apt-get install iptables
[sudo] password for batman: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
iptables is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
batman@gotham:~$

我在 google 上进行了广泛的搜索,大多数答案都是针对 2005 年和 2009 年的 CentOS 和 Fedora。

答案1

iptables命令几乎只能以 root 身份运行,而不能以其他用户身份运行。因此它不在 root 以外的用户的默认命令搜索路径中。

要运行iptables,请使用以下任一命令以 root 身份运行它:

su 'iptables --some-option …'
sudo iptables --some-option …

可执行文件位于/sbin,它位于 root 的默认命令搜索路径中。

答案2

这是因为iptables未在您的PATH变量中列出。我认为它应该与sudo命令一起使用。尝试:

sudo iptables -L

如果这也不起作用,那么您应该检查iptables二进制文件的位置,然后将其添加到PATH变量中。

在大多数情况下,它应该在/sbin/.不过,只需在 Debian7 中验证即可。如果在,/sbin/那么您可以打开.bashrc文件并在最后提供:

PATH=/sbin/:$PATH

答案3

这可能不是您问题的答案。但是有些人遇到同样的问题并且没有安装iptable

您可以根据您选择的发行版尝试安装 iptables 软件包,如下所示。

分配 命令
德班 apt-get install iptables
乌班图 apt-get install iptables
阿尔卑斯山 apk add iptables
架构Linux pacman -S iptables
卡利Linux apt-get install iptables
中央操作系统 yum install iptables
软呢帽 dnf install iptables
树莓派 apt-get install iptables

答案4

在某些发行版中,iptables未安装,并且它也被认为是旧的。

在这些发行版中,您可能会使用该nft命令。如果是,您可能想记录nftables一下自己的情况:

https://wiki.debian.org/nftables

这可能是一个有用的教程:

https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables

相关内容