我已经在带有 Linux 的嵌入式设备上安装了 iptables。我相信安装成功,因为所有其他应用程序都工作正常(busybox 等)。
我尝试运行它们,但出现以下错误:
root@AlphaEdge:~ iptables -L
ERROR: No valid subcommand given.
Valid subcommands:
* iptables-xml
* xml
Run Code Online (Sandbox Code Playgroud)
我通过谷歌搜索找到的唯一东西是这里的源代码,我试图在等待答案的同时找出它。
在我的系统(Ubuntu 13.04)上,iptables
有一个符号链接xtables-multi
:
martin ~ # ll /sbin/iptables
lrwxrwxrwx 1 root root 13 Feb 20 2013 /sbin/iptables -> xtables-multi*
Run Code Online (Sandbox Code Playgroud)
所有其他iptables
命令也是符号链接:
martin ~ # ll /sbin|grep xtables
lrwxrwxrwx 1 root root 13 Feb 20 2013 ip6tables -> xtables-multi*
lrwxrwxrwx 1 root root 13 Feb 20 2013 ip6tables-restore -> xtables-multi*
lrwxrwxrwx 1 root root 13 Feb 20 2013 ip6tables-save -> xtables-multi*
lrwxrwxrwx 1 root root 13 Feb 20 2013 iptables -> xtables-multi*
lrwxrwxrwx 1 root root 13 Feb 20 2013 iptables-restore -> xtables-multi*
lrwxrwxrwx 1 root root 13 Feb 20 2013 iptables-save -> xtables-multi*
-rwxr-xr-x 1 root root 86K Feb 20 2013 xtables-multi*
Run Code Online (Sandbox Code Playgroud)
当您调用这些命令之一时,xtables-multi
请使用执行该命令时使用的名称来确定您要使用哪个命令。直接调用xtables-multi
(或使用它不知道的名称调用它)会在我的系统上产生以下输出:
martin ~ # xtables-multi
ERROR: No valid subcommand given.
Valid subcommands:
* iptables
* main4
* iptables-save
* save4
* iptables-restore
* restore4
* iptables-xml
* xml
* ip6tables
* main6
* ip6tables-save
* save6
* ip6tables-restore
* restore6
Run Code Online (Sandbox Code Playgroud)
因此,解释必须是您的xtables-multi
二进制文件尚未使用所有可用的子命令进行编译,因此当您将其称为iptables
. 您可能需要使用正确的选项重新编译它才能使iptables
命令正常工作。
归档时间: |
|
查看次数: |
986 次 |
最近记录: |