问题背景
最近在忙gitlab服务器及自动化编译jenkins平台的搭建,其中也配置了邮箱提醒服务,成功之后让IT部门给我固定服务器ip,然后便出现了一系列的问题(其他公司内部主机经常访问不上gitlab服务器,经常断开。gitlab无法触发Jenkins。特别是无法触发jenkins这个问题,一直在网上找解决方案,搞了好久。),最后探查到是网络问题,并让IT部门给我解绑IP,所有的固定IP,配置DNS等操作都自己解决了。(无力吐槽IT部门,咨询了好几天都没解决,还是得靠自己)
问题描述
ubuntu16.04系统下如果出现域名无法解析的情况会导致wget或者其他针对域名的操作无法完成,但是直接ping对应IP(如百度的ip是180.101.49.12)是能够ping通的,这属于DNS配置问题。如果直接查看图形化界面的连接信息(Connection Information),可能会看到正常的DNS域名服务器,然而就是无法解析。。。
查看是否是因为域名无法解析的问题,首先在保证有网的情况下,网页无法访问www.baidu.com,但是可以直接访问百度ip,可以认为是这个问题。
解决方案
(1)修改/etc/resolv.conf,添加内容nameserver 8.8.8.8. 最后sudo /etc/init.d/networking restart,会发现域名解析成功了(可以直接访问www.baidu.com)
但是存在的问题是,这样只是临时解决的办法,重启之后之前添加的内容会被清除,无法再解析,需要重新配置。
(2)修改/etc/resolvconf/resolv.conf.d/tail,添加nameserver 8.8.8.8(或者公司内部指定的服务器),重启机器之后发现可以正常解析了,查看/etc/resolv.conf中新增了之前在/etc/resolvconf/resolv.conf.d/tail添加的内容。