linux下ping不通问题的说明与解决(DNS配置丢失)
一、出现问题的原因
最近由于linux需要使用外网,发现ping不通地址,经过一番查找分析后发现是DNS服务配置丢失,在这里有两种方法可以解决该问题。

1:你可以手动修改/etc/sysconfig/network-scripts/ifcfg-lo(这是我linux上的网卡,一般来说系统上第一块网卡默认是/etc/sysconfig/network-scripts/ifcfg-eth0)的进行DNS配置,
使用vim到/etc/sysconfig/network-scripts/ifcfg-lo修改添加如下:
PEERDNS=no
DNS1=192.168.1.1
DNS2=192.168.1.2
然后wq!保存退出,再使用vim指令在/etc/resolv.conf里添加配置(一说resolv.conf是一个link文件会随着ifcfg-eth0里DNS配置自动修改):
nameserver 192.168.1.1
nameserver 192.168.1.2
2:使用dhclient指令自动获取ip地址(其实原理是一样的,下面详细介绍第二种方法)
二、问题详解
1:文件说明
/etc/hosts hostname对应的IP存档
/etc/resolv.conf 当需要解析域名时,读取该文件获取DNS 服务器IP
resolv.conf的关键字主要有四个,分别是:
/etc/nsswitch.conf 这个档案决定先使用/etc/hosts还是/etc/resolv.conf的设定
当电脑要访问一个域名时,要将域名翻译成IP地址。
这个过程通常会先访问/etc/hosts,看本地是否有对应的hostname -- IP记录。
如果没有就去查询DNS服务器,通过/etc/resolv.conf 得到dns服务器地址
当在eth接口启用DHCP后,本地resolv.conf文件将被修改,resolv.conf文件中的DNS地址将被改为从DHCP获取到的地址。这种从DHCP获得的DNS即是Peer DNS。 启用DHCP后即便修改/etc/resolv.conf,不久又恢复成原样。
如何解决这个问题?此时,你得要在 /etc/sysconfig/network-scripts/ifcfg-eth0 等相关档案内,增加一行: PEERDNS=no,然后重新启动网络即可
2:使用dhclient指令自动获取ip地址
dhclient指令的使用:
语法:dhclient(选项)(参数)
选项:
0:指定dhcp客户端监听的端口号;
-d:总是以前台方式运行程序;
-q:安静模式,不打印任何错误的提示信息;
-r:释放ip地址。
参数:
网络接口:操作的网络接口
实例:
dhclient -r #释放IP
dhclient #获取IP 使用dhclient指令获取ip,在这里需要使用sudo权限进行操作
这里普及一下sudo和权限的操作,sudo权限需要切换到root用户进行授权
a.你可以vim 进入 /etc/sudoers 找到如下位置进行增加:
在后面添加 NOPASSWD 则不需要输入密码
b.修改文件或目录的权限
chmod u+-=rwx 文件名或者目录
g+-=rwx 文件名或者目录
o+-=rwx 文件名或者目录
(或用数字授权ugo=》7 5 1 rwx =》4 2 1)
将sudoer添加写权限: chmod u+w /etc/sudoers
追加如下内容:echo "hadoop ALL=(ALL)NOPASSWD;ALL">>/etc/sudoers
收回写权限:chmod u-w /etc/sudoers
dhclient的指令详解见: https://blog.csdn.net/u011857683/article/details/83722466
3:重启网络服务:service network restart
4:查看dns解析情况

三、结果
1:再次ping一个地址:

2:我们再用cat指令查看/etc/resolv.conf 和/etc/sysconfig/network-scripts/ifcfg-lo的内容发现:
1) /etc/resolv.conf里面多了个search(search 参数指定域名查找顺序)和nameserver(本机的网关地址(路由器的地址))
2)/etc/sysconfig/network-scripts/ifcfg-lo多了个BROADCAST(广播地址)和ONBOOT=yes(设置为网卡自动开启)

问题已解决!
linux下ping不通问题的说明与解决(DNS配置丢失)的更多相关文章
- linux下ping不通的解决方法
转自:https://blog.csdn.net/weixin_33400820/article/details/80227702 今天在做练习的时候,发现如何都无法ping通外网,在经过各种网络求助 ...
- Linux服务器ping不通域名出现的unknown host 错误解决办法
"ping: unknown host www.baidu.com" 解决方法 如果某台Linux服务器ping不通域名, 如下提示: # ping www.baidu.compi ...
- linux:ping不通www.baidu.com
如果某台Linux服务器ping不通域名, 如下提示: [root@localhost ~]# ping www.baidu.com ping: unknown host www.baidu.com ...
- Linux地址ping不通情况怎么办?
查看原文:http://www.ibloger.net/article/325.html Linux地址ping不通情况怎么办? 问题:今天写了一个微信支付的项目.有一个class中使用了httpPo ...
- Linux下ping命令、traceroute命令、tracert命令的使用
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- 原 Linux:ping不通baidu.com
如果某台Linux服务器ping不通域名, 如下提示: [root@localhost ~]# ping www.baidu.com ping: unknown host www.baidu.com ...
- Linux下使用 github+hexo 搭建个人博客03-hexo配置优化
上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护. ...
- Linux下登录Oracle命令行时删除键^H解决方法
Linux下登录Oracle命令行时删除键^H解决方法 在linux服务器下登录oracle的控制台,如果输入错误,想用删除键删除时却不能删除,输出的是^H的字符. 方法 用如下的命令可以使删除键生效 ...
- CentOS7设置静态IP以及windows下ping不通虚拟机、虚拟机ping不通外网解决方案
问题:CentOS7安装完成后默认使用的是动态IP,当你每次重新启动CentOS7后,它的IP地址都不一样.一般我们都是使用远程连接工具连接CentOS7进行操作,如果每次IP都不一样,系统启动后,每 ...
随机推荐
- HTML5 script 标签的 crossorigin 和integrity属性的作用
Bootstrap 4 依赖的基础库中出现了两个新的属性 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.slim.m ...
- es6入门总结
let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使 ...
- 2018.7.3 lnmp一键安装包无人值守版本 php7.2 + nginx1.14.0 + mariadb5.5 + centos7.1(1503) 环境搭建 + Thinkphp5.1.7 配置
给自己练习用的,整个过程追求一个简单粗暴,没有配置虚拟主机,现在记录一下过程. 1. 进入到lnmp解压缩后的文件夹conf/rewrite,把thinkphp.conf复制一份到/usr/local ...
- Centos7下GlusterFS分布式存储集群环境部署记录
0)环境准备 GlusterFS至少需要两台服务器搭建,服务器配置最好相同,每个服务器两块磁盘,一块是用于安装系统,一块是用于GlusterFS. 192.168.10.239 GlusterFS-m ...
- 适用于nodercms的打包构建脚本
背景 最近自己用nodercms搭建了一个简单的博客系统,用户发布一些自己谁便谢谢的文章.感谢nodercms团队,这个cms轻量易用,用于做个人博客太方便了.开发了博客系统,肯定设计到部署到AWS或 ...
- gradle项目
gradle构建web项目 0.安装gradle http://services.gradle.org/distributions/ 下载对应版本:gradle-5.2.1-bin.zip 解压到自定 ...
- oracle入坑日记<二>认识oracle(含sqlplus基础使用)
1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...
- 大量Python开源第三方库资源分类整理,含菜鸟教程章节级别链接
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明.因其具有丰富和强大的库,它常被称为胶水语言,能够把用其它语言制作的各种模块(尤其是C/C ...
- day319 1、正则表达式的定义及使用 2、Date类的用法 3、Calendar类的用法
1.正则表达式的定义及使用2.Date类的用法3.Calendar类的用法 一.正则表达式 ###01正则表达式的概念和作用* A: 正则表达式的概念和作用* a: 正则表达式的概述* 正则表达式也是 ...
- Spring注解测试
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:applicatio ...

