为什么Linux不重定向Alfresco JLAN上的Samba端口?

时间:2013-05-30 13:24:41

标签: alfresco samba smb cifs

我正在尝试Alfresco的SMB / CIFS Java实现,名为Alfresco JLan。

我的服务器已经正常运行,但我正在为SMB使用非特权端口(1445,1139,1138,1137)。

我使用过shell代码:

echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 445 -j REDIRECT --to-ports 1445
iptables -t nat -A PREROUTING -p tcp --dport 139 -j REDIRECT --to-ports 1139
iptables -t nat -A PREROUTING -p udp --dport 137 -j REDIRECT --to-ports 1137
iptables -t nat -A PREROUTING -p udp --dport 138 -j REDIRECT --to-ports 1138

如果我尝试:

telnet localhost 1445

一切都确定

但是,当我尝试:

telnet localhost 445

我收到:

Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

有谁知道出了什么问题?我正在使用Ubuntu 12.04。

2 个答案:

答案 0 :(得分:3)

出于某种原因,localhost需要特殊待遇。添加

iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 445 -j REDIRECT --to-port 1445
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 139 -j REDIRECT --to-port 1139
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 137 -j REDIRECT --to-port 1137
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 138 -j REDIRECT --to-port 1138

它应该没问题。

也就是说,我亲自从iptables切换到authbind以避免root执行。设置起来更容易。

答案 1 :(得分:0)

http://wiki.alfresco.com/wiki/Changing_Bind_Addresses_and_Ports_for_Samba_and_FTP

明智的话语。避免像上面那样进行重定向。它们是Samba和Alfresco之间猫战斗的食谱。在Linux下,Loopback实际上是127.*. .*。所以127.0.0.2本来可以给Alfresco留下127.0.0.1留给桑巴。在主机文件中,您可以声明拥有.localdomain的名称或网络范围内的DNS查找。

说实话,如果没有将Alfresco和samba设置为自己的区域,那么在某些时候它们之间的猫争斗是一个直接的配方。

在设置samba时,有一个主要的alfresco文档错误。 http://lists.samba.org/archive/samba/1997-November/004810.html根本不要使用套接字地址。只在samba配置中使用接口东西

interfaces = 192.168.129.2/255.255.255.0 127.0.0.1

bind interfaces only = yes

请注意,Alfresco示例中的192.168.129.0现在是192.168.129.2。是的,这是声明samba地址的正确方法。另请注意,他们错过了所需的127.0.0.1事实,因此samba工具可以正常工作。

基本上最好告诉两个程序直接站在自己的区域。

为什么即使您没有运行samba,samba也必须127.0.0.1smbpasswd和其他samba工具将尝试访问127.0.0.1。是猫打架。一些sambas工具期望samba为127.0.0.1,如果不是,它们会破坏。是的,访问露天的桑巴工具也可能会破坏露天。重定向127.0.0.1非常不是一个好主意,特别是当我们有更多的环回地址时。

是的,alfresco和samba都在完全相同的界面之后。 Alfresco是外星人。 Alfresco将不会使用PAM登录Linux系统。所以127.0.0.1应该不在Alfresco手中。