首页 > 代码库 > Ubuntu客户端通过WINS查找NetBIOS名称

Ubuntu客户端通过WINS查找NetBIOS名称

问题:

在一个必须得使用dhcp的网络环境中,再也无法用固定的ip地址访问主机了,这个时候可以只能使用NetBios主机名访问主机
我们的局域网上有WINS服务器,Windows客户端都可以通过简短的主机名(NetBIOS名称)来访问服务器,可是我的Ubuntu客户端却不能,很郁闷。

解决:
1、告诉Ubuntu客户端WINS服务器地址

ubuntu进入windows网络,必须安装samba 
sudo apt-get install samba  

修改 /etc/samba/smb.conf
在它的[global]中增加如下内容
wins server = 10.35.0.10
这就是告诉Ubuntu客户端WINS服务器的ip地址是10.35.0.10

重启nmbd服务
sudo service nmbd restart  

验证wins服务是否有效
nmblookup -R -U <wins_server_ip> <hostname>  

或者

nmblookup <hostname>

就能直接看到IP地址

  

2、使用WINS

需要安装winbind(通过主机名查找ip)

sudo apt-get install winbind

修改 /etc/nsswitch.conf
把其中的
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
修改为
hosts: files wins mdns4_minimal [NOTFOUND=return] dns mdns4

重新启动winbind服务器即可
sudo service winbind restart

我们也可以使用简短的主机名了,以前
ping dragon-thinkpad
系统会说:ping: unknown host dragon-thinkpad