最近装了两台linux虚拟机分别CentOS7和Ubuntu14,都装了samba服务,文件共享都正常,虚拟机上互联网也正常,能以ping 通局域网的ip,却都ping不通主机名,其他电脑(windows/linux)都能ping 通这两台虚拟机的主机名。
最终找到原因:没有安装winbind,也没有配置/etc/nsswitch.conf
下面分别说明CentOS7和Ubuntu14/16下的步骤。

CentOS7

安装windbind

sudo yum install samba-winbind-clients

修改/etc/nsswitch.conf

sudo vi /etc/nsswitch.conf

修改hosts,如下图加上wins

修改/etc/samba/smb.conf

sudo vi /etc/samba/smb.conf


CentOS7安装的是samba4,在samba4中 security的share 和 server 选项已被弃用,
必须使用user,并加上 map to guest = bad user,
否则会导致,其他主机无法通过主机名访问本机
并且在ping 其他主机时,ping会警告:

WARNING: Ignoring invalid value ‘share’ for parameter ‘security’

Ubuntu14

安装windbind

sudo apt-get install winbind

修改hosts,如下图加上wins

sudo vi /etc/nsswitch.conf

再次ping主机名,成功。

如果其他主机不能ping通本机主机名,请检查是否安装了防火墙,以及防火墙是否开启,以及防火墙规则中是开启了相关端口

sudo ufw status numbered // 检查防火墙状态(显示规则编号)
sudo ufw allow samba // 允许所有的外部IP访问本机的samba端口
sudo ufw allow ssh // 允许所有的外部IP访问本机的samba端口(22)

下面是我的ubuntu14虚拟机上防火墙的配置

Ubuntu16

ubuntu14安装winbind时还会自动安装libnss-winbind,libpam-winbind,libwbclient0,如下图:

但是在ubuntu16下,安装winbind好像不会自动安装上面的组件,所以安装winbind后如果还是不能ping 主机名,还要手工安装libnss-winbind libpam-winbind

sudo apt-get install winbind ,
sudo apt-get install libnss-winbind libpam-winbind

其他操作与ubuntu14下相同

参考

《WARNING: Ignoring invalid value ‘share’ for parameter ‘security’ 》
《匿名无须交互输入用户名和密码的samba配置方法(security = user)》
http://www.cnblogs.com/laipDIDI/articles/2213787.html
http://www.linuxidc.com/Linux/2011-03/32894.htm
http://blog.sina.com.cn/s/blog_51c7c7fa0100lig2.html

ubuntu14/ubuntu16/centos7:解决可以ping ip却ping不通主机名相关推荐

  1. VMWarevSphere Client 克隆虚拟机、变更IP地址、变更主机名、修改MAC地址

    VMWarevSphere Client 克隆虚拟机.变更IP地址.变更主机名.修改MAC地址 vSphere 是VMware公司推出一套服务器虚拟化解决方案 一.VMWarevSphere Clie ...

  2. 根据ip查询linux主机名,根据ip地址查询其他主机名(Linux)

    局域网内可以通过下述命令来根据ip地址查询其他主机名(Linux) 使用nmblookup -A ip命令查询 Linux代码 [admin@v015213 ~/lpmall]$ nmblookup ...

  3. Uos统信系统 IP地址以及完整主机名配置

    UOS IP地址以及完整主机名配置 提示:有任何问题可以私信我,下班看到第一时间回复 IP地址以及主机名配置 UOS IP地址以及完整主机名配置 一.修改配置文件并重启 首先先查看自己网卡名 保存重启 ...

  4. linux查询当前主机的IP地址,根据ip地址查询其他主机名(Linux)

    局域网内可以通过下述命令来根据ip地址查询其他主机名(Linux) 使用nmblookup -A ip命令查询 Linux代码 [admin@v015213 ~/lpmall]$ nmblookup ...

  5. 局域网内,ping IP可以ping的通,ping主机名ping不通解决办法

    由于项目需要,需要通过主机名访问局域网内的一台电脑,但是测试发现可以ping通该台电脑的IP,但是ping主机名是ping不通的,翻了一些资料,有说什么DNS设置和WINS设置的,不过我对这些也不太懂 ...

  6. 能ping通IP地址,ping不通主机名问题解决

    财务室一台新电脑要求安装用友U8,品牌机市场基本都是出厂带windows 7系统,可是财务室的U8版本不兼容,要u8v8.90之后的版本才兼容,于是购买一台联想扬天M6880N(性价比还可以),顺便说 ...

  7. MAC ping IP 地址(ping通/ping不通)

    我们在做项目时,常常需要请求后台服务器获取数据..但是有时候请求不到数据:1.你的请求方式有问题(客户端) :2.后台服务器有问题(其中有一种情况 是IP 地址不正确或者网络连接不通,这可以用 pin ...

  8. ping -a 获取不到主机名_网络测试命令——PING

    命令功能: Linux系统和windows系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,这样我们就可以根据它ping输出的信息来确定目标主机是否可访问(但这不是绝对的).有些服 ...

  9. 用IP地址反查主机名

    在日常工作中,要获取一个机器的主机名,最简单的方法是通过ping命令来实现,例如:要获取百度的主机名,就可以ping www.baidu.com 通过ping命令,既可以获取到该机器的主机名,又可以获 ...

最新文章

  1. 源代码查看工具 Source Navigator 使用心得
  2. Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
  3. Gmail技巧之无限别名
  4. 用python打开视频_Python读取视频的两种方法(imageio和cv2)
  5. 用计算机组成原理+唐朔飞的,计算机组成原理 唐朔飞 习题解答
  6. 远程体验Linux Lite
  7. excel数据分析模块
  8. 中国重汽:香港上市在十月
  9. Qt 3D 官方实例1 simple-qml
  10. Improved autoencoder for unsupervised anomaly detection
  11. 解决curl ftp:192.168.4.12 (67) Access denied: 530和500问题
  12. 爬取微信公众号cookie获取与token获取
  13. 2022世界杯看球指南
  14. java对接七牛后台进行内容审核(鉴黄、敏感人物、暴恐)
  15. 2015年腾讯游戏策划岗位笔试题目
  16. 威漫哨兵机器人_漫威中实力最强的五大机器人,哨兵机器人能够团灭变种人!...
  17. 在线招聘江湖:老、中、新三代平台对垒
  18. 移动开发,哪个平台更胜一筹?
  19. 通过C语言实现计算机模拟疫情扩散
  20. Java开发人员如何构建自己的技术体系

热门文章

  1. 外贸群发邮箱如何选择
  2. JAVA大数据(二) Hadoop 分布式文件系统HDFS 架构,MapReduce介绍,Yarn资源调度
  3. 互联网黑话汇总大合集
  4. Android强制在主线程进行网络请求
  5. 关于面试党的那些刁问题
  6. 苹果11计算机怎么打开语音,iPhone11怎么打开Siri 语音唤醒方法介绍
  7. 信号的扩展是因果_反因果信号的拉普拉斯变换收敛域是
  8. mysql优化数据库对象
  9. 特斯拉、软件与颠覆,下一家震惊世界的科技公司会是谁?
  10. Mac电脑高手都会用的10个Mac OS实用技巧,都是干货值得收藏!