我正在尝试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。
答案 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.1
。 smbpasswd
和其他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手中。