嗨,我在VPS上使用Ubuntu9.04。如果我应用iptables规则,我会得到一个错误。这就是我所做的。
1.保存现有规则
iptables-保存>/etc/iptables.up.规则
创建iptables.test.rules并向其添加一些规则
nano /etc/iptables.test.Rule/etc/iptables.test.规则
这就是我补充的规则
*filter
# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allows all outbound traffic
# You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allows SSH connections
#
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
#
-A INPUT -p tcp -m state --state NEW --dport 22- j ACCEPT
# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Reject all other inbound - default deny unless explicitly allowed policy
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT编辑后,当我试图将规则应用到
iptables还原
我得到以下错误
iptables还原:第42行失败
第42行是提交,我注释一下
iptables-还原:在第43行预期提交
我不知道是什么问题,它期待提交,但如果提交,它是错误的。这可能是因为我使用的是VPS吗?我的提供者使用OpenVZ进行虚拟化。
发布于 2016-05-22 17:38:42
非常老的帖子,但这是谷歌的最高结果,所以我想我会更新我的解决方案.
在提交后必须有一个空行,否则iptables-restore将失败,在提交行上出现“无指定命令”错误。
发布于 2010-01-09 02:24:59
由于iptables-restore的工作方式,几乎所有错误都将报告为处于COMMIT点。在奇怪的情况下,我会把提交放在每一行的后面(或者,如果我觉得可疑,只在我认为可能是问题的行之后),然后看哪一行有问题。
然而,简单地检查一下您的规则,就会发现这是您可能遇到的问题:
-A INPUT -p tcp -m state --state NEW --dport 22-j ACCEPT22和-j之间缺乏空间可能是造成困难的原因。“注意细节失败”,就像酷孩子们说的那样。
编辑:有了增加的信息,我将冒险说这是OpenVZ的问题(您的VPS提供者没有给您任何iptables配额来添加您自己的规则)。无论如何,我会找到一个新的VPS提供商,我自己;VZ就像虚拟的Fisher Price玩具。它有它的位置,在公司数据中心和0.89美元/十年的“价格敏感”的市场端,但对于专业的VPS托管,它是绝对的狗。
发布于 2010-01-08 23:45:12
也许是因为你在提交之前的空间角色而失败了?
https://serverfault.com/questions/101022
复制相似问题