- 论坛徽章:
- 0
|
本帖最后由 linxor 于 2012-10-14 21:50 编辑
接触linux差不多快6年了,今天在redhat enterprise linux 6.1上搭建samba时,出现了一个比较怪的现象。具体如下:
1.安装:yum install samba*
注:根据多年经验,这样安装应该不会有问题。
2.service smb start
注:根据经验这个启动方法也不会有问题的。
3.从windows访问samba:
运行-->输入:\\192.168.220.4却没有反应,感觉很奇怪
4.诊断过程如下:
[root@mail ~]# netstat -antpl
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1541/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1530/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1409/cupsd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1641/master
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1549/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 1549/dovecot
tcp 0 0 0.0.0.0:42695 0.0.0.0:* LISTEN 1313/rpc.statd
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 1549/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1549/dovecot
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1252/rpcbind
tcp 0 0 192.168.220.4:52234 192.168.220.3:3260 ESTABLISHED 973/iscsid
tcp 0 0 192.168.220.4:22 192.168.220.1:2515 ESTABLISHED 1713/0
tcp 0 0 :::22 :::* LISTEN 1530/sshd
tcp 0 0 ::1:631 :::* LISTEN 1409/cupsd
tcp 0 0 :::25 :::* LISTEN 1641/master
tcp 0 0 :::445 :::* LISTEN 1838/smbd
tcp 0 0 :::41277 :::* LISTEN 1313/rpc.statd
tcp 0 0 :::993 :::* LISTEN 1549/dovecot
tcp 0 0 :::995 :::* LISTEN 1549/dovecot
tcp 0 0 :::139 :::* LISTEN 1838/smbd
tcp 0 0 :::110 :::* LISTEN 1549/dovecot
tcp 0 0 :::143 :::* LISTEN 1549/dovecot
tcp 0 0 :::111 :::* LISTEN 1252/rpcbind
[root@mail ~]# lsof -i:445
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
smbd 1838 root 24u IPv6 15840 0t0 TCP *:microsoft-ds (LISTEN) //从这一行上可以看出只在ipv6接口上监听,而没有在ipv4接口上监听。
[root@mail ~]#
从上面可看出smbd没有在ipv4的445和139上监听,即服务没有正常启动,再看 /var/log/samba/log.smbd
[root@mail ~]# tail /var/log/samba/log.smbd
[2012/10/14 20:08:42, 0] smbd/server.c:1119(main)
smbd version 3.5.6-86.el6 started.
Copyright Andrew Tridgell and the Samba Team 1992-2010
[2012/10/14 20:08:42.919610, 0] smbd/server.c:500(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use
[2012/10/14 20:08:42.922046, 0] smbd/server.c:500(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use
好像说是地址已经使用,从上面的内容中我们没有发现哪个地址已经被使用了,感觉真是奇怪。
解决过程:
经baidu,google一翻过后,终有一仁兄的问题与我大致相同一尝试,还是真是如此,通过修改一个内核参数,重启服务就解决了,过程如下:
smbd 2092 root 24u IPv6 18030 0t0 TCP *:microsoft-ds (LISTEN)
[root@mail ~]# sysctl -w net.ipv6.bindv6only=1
net.ipv6.bindv6only = 1
[root@mail ~]# lsof -i:445
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
smbd 2092 root 24u IPv6 18030 0t0 TCP *:microsoft-ds (LISTEN)
[root@mail ~]# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@mail ~]# lsof -i:445
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
smbd 2122 root 24u IPv6 18208 0t0 TCP *:microsoft-ds (LISTEN)
smbd 2122 root 26u IPv4 18213 0t0 TCP *:microsoft-ds (LISTEN) //在ipv4上已经监听
[root@mail ~]# lsof -i:139
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
smbd 2122 root 25u IPv6 18211 0t0 TCP *:netbios-ssn (LISTEN)
smbd 2122 root 27u IPv4 18215 0t0 TCP *:netbios-ssn (LISTEN) //在ipv4上已经监听
[root@mail ~]#
从windows xp访问samba,运行:\\192.168.220.4
[root@mail ~]# smbstatus
Samba version 3.5.6-86.el6
PID Username Group Machine
-------------------------------------------------------------------
2138 hello hello flying (192.168.220.1)
Service pid machine Connected at
-------------------------------------------------------
IPC$ 2138 flying Sun Oct 14 20:27:51 2012
No locked files
[root@mail ~]#
可以看出已经可以正常访问问题了
疑惑:虽然问题是解决了,但是我不明白,为什么出现这个问题,是samba的bug吗,还是os的bug?
我在6.0之前的很版本搭建过samba都没有出现类似问题。
请高手们指教!
参考帖子:http://www.jdsyxx.net/oblog313/user1/2/archives/2012/5472.html |
|