2010-07-17 77 views
0

我试图用Capistrano在iptables防火墙上远程打开一个端口。这是我的任务:为什么在执行特定iptables命令时Capistrano锁定?

​​

问题是,任务中的第一个命令锁定。我试过使用各种端口号和目标机器来运行这个规则,总是有相同的结果。

我有几十个其他规则,看起来很像这样,但工作很好。事实上,我有一个类似的任务,其中第一个命令是调用iptables来创建端口映射,该任务工作正常。

更重要的是,我可以成功的Capistrano的主机上运行此命令:

ssh -l deployer core sudo /sbin/iptables -I RH-Firewall-1-INPUT 1 -p tcp --dport 2424 -j ACCEPT 

这工作得很好。这应该是卡皮斯特拉诺试图去做的。

这个命令为什么锁定Capistrano?

TIA的解决方案或任何线索。

玩得开心!

回答

0

有一天,我自己把这个弄出来了。问题在于我使用名称'port'作为我的任务的参数。 “参数”端口被“运行”命令识别,并导致系统尝试通过该端口连接到目标机器,而不是正常的ssh端口。因此,锁定。

我将参数名称更改为'dport',并且该任务开始按我的预期工作。

相关问题