+ -
当前位置:首页 → 问答吧 → 新装的Fedora-13的Samba可以启动,但是没有监听正常的0.0.0.0:445端口,无法访问。

新装的Fedora-13的Samba可以启动,但是没有监听正常的0.0.0.0:445端口,无法访问。

时间:2010-08-12

来源:互联网

刚刚装了Fedora-13,启动Smb时,发现无法访问服务。
netstat 查看端口,发现监听的是IPv6的端口:
# netstat -napt  
tcp        0      0 :::139                      :::*                        LISTEN      2416/smbd              
tcp        0      0 :::445                      :::*                        LISTEN      2416/smbd

而后查看samba的日志,和进入到debug模式查看到输出,都是提示bind IPv4端口失败了。
可以确认的是,这是新装的系统,当然没有其它进程来占用本来samba的这两个端口。
另外iptables防火墙也关闭了,selinux也disabled了。

附debug启动的输出如下:
# /usr/sbin/smbd -Fi -d2
smbd version 3.5.2-60.fc13 started.
Copyright Andrew Tridgell and the Samba Team 1992-2010
uid=0 gid=0 euid=0 egid=0
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[homes]"
cups_async_callback: failed to read a new printer list
cups_async_callback: failed to read a new printer list
added interface eth0 ip=2001:2:3::208 bcast=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff netmask=::
added interface eth0 ip=fe80::213:72ff:fe8d:d674%eth0 bcast=fe80::ffff:ffff:ffff:ffff%eth0 netmask=ffff:ffff:ffff:ffff::
added interface eth0 ip=192.168.15.208 bcast=192.168.15.255 netmask=255.255.255.0
bind failed on port 445 socket_addr = 0.0.0.0.
Error = Address already in use
smbd_open_once_socket: open_socket_in: Address already in use
bind failed on port 139 socket_addr = 0.0.0.0.
Error = Address already in use
smbd_open_once_socket: open_socket_in: Address already in use
waiting for connections

作者: zhengfish   发布时间: 2010-08-12

echo 1 > /proc/sys/net/ipv6/bindv6only

如此,这般,貌似可以绑定IPv4端口并访问了。

不过直觉上,貌似Samba正好弄反了bindv6only这个变量的值。
bindv6only缺省值是 0。
即 bindv6only = 1时,应该仅仅绑定IPv6端口,它偏偏这个时候帮定了IPv4 + IPv6的端口。

不知道还有没有其他的开关。

作者: zhengfish   发布时间: 2010-08-20