ubuntu设置静态IP地址后,上不了网

文章中也提到,如果是在/etc/resolv.conf添加DNS,由于Ubuntu 有一个 resolvconf 服务,如果重启它,那么 /etc/resolv.conf 的内容会被修改成默认的样子,文件里也有提示文字:“DO

NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN”,所以不能直接修改 /etc/resolv.conf。

还有一点要注意的就是,/etc/resolv.conf其实是一个Link,它真实指向的是 /etc/resolvconf/resolv.conf。

因此,当我们设置成静态IP地址,发现机器不能上网,这时候需要设置DNS,具体的以下两种方法:

第一种方法

在网卡的配置文件里面加dns-nameservers xxx.xxx.xxx.xxx之类信息

iface eth0 inet static
address 192.168.1.250
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 192.168.3.45 192.168.8.10

第二种方法

/etc/resolv.conf中修改nameserver

修改Ubuntu DNS时, 查看/etc/resolv.conf 会看到他使用的dns是 nameserver 127.0.1.1,

是因为Ubuntu 会启动dnsmasq服务, 解析域名时不需要到网络运营商获取..
在解析速度上会慢于网络运营商(有cache).
自己是使用电信的网络, ping 电信的dns速度在 (1 ms , 2 ms)左右, 速度是非常快的..
但使用网络运营商的DNS会有一些不爽的地方, 比如无法解析的域名跳转到114xxxxxxxxxxxxxx….
有些解析还没到GFW就被屏蔽(GFW会再过滤解析).
使用dnsmasq是好处远远大于使用网络运营商的DNS的..

使用Ubuntu一直以来很少动到/etc/resolv.conf这个文件, 原因是本身的dnsmasq加上路由器可以劫持域名

正常的修改Linux的DNS是编辑/etc/resolv.conf文件.
格式是: nameserver ,
如修改DNS为218.85.152.99(福建电信DNS)

nameserver 218.85.152.99

一般这样就直接好了..

系统装有NetworkManager的话, 这样的修改只是临时的, 如重启计算机, 或者插拔网线/etc/resolv.conf被重置为:”nameserver 127.0.0.1”(在base中有定义,重新加载了base中的内容)
Ubuntu默认是有装NetworkManager的..

如果需要永久生效的话, 需要将/etc/NetworkManager/NetworkManager.conf中的dns=dnsmasq注释掉. 禁止使用dnsmasq插件.

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq [ifupdown]
managed=false

然后重启NetworkManager
注意: 这里终端不能使用su 切换到root, 只能在当前用户使用sudo 去执行.

 service network-manager restart

这个时候我们编辑/etc/resolv.conf 或者在Ubuntu网络连接里面指定DNS就不会清空/etc/resolv.conf了.

1 /etc/resolv.conf 其实是一个Link,它其实指向的是 /run/resolvconf/resolv.conf
2 Ubuntu 有一个 resolvconf 服务,如果重启它,那么 /etc/resolv.conf 的内容会被修改成默认的样子
所以 不能直接修改 /etc/resolv.conf

修改 resolvconf服务的配置文件: /etc/resolvconf/resolv.conf.d/head(或者base、tail这三个文件均可),加入所需的域名服务器:nameserver xxx.xxx.xxx.xxx

search mydomain.com
nameserver 61.139.39.73
nameserver 61.139.2.69

修改完成需要执行2个命令如下:

$resolvconf -u (关于 resolvconf 服务更多信息,可以用man查看:man resolvconf )
$/etc/init.d/networking restart

linux -- Ubuntu修改静态IP地址重启后无法上网的解决的更多相关文章

  1. 在linux中设置静态ip地址

    在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...

  2. centos修改静态Ip地址

    centos修改静态Ip地址 待办 昨天待办 https://blog.csdn.net/johnnycode/article/details/40624403 centos修改静态ip地址

  3. Linux:自动获取静态IP地址,清空iptable,修改selinux脚本

    自动获取静态IP地址,清空iptable,修改selinux脚本 环境:VMware 平台:centos6.8全新 功能: 1)应用ifconfig -a,route -n,cat /etc/reso ...

  4. Ubuntu-12.04-server 配置修改静态 IP地址

    前几天在装Ubuntu 12.04 Server版系统的服务器时IP地址写错了,导致服务器不能上网,今天重新修改了一下IP地址,这里做一个总结. 1.配置静态IP地址 sudo vi /etc/net ...

  5. CentOS7 修改静态IP地址

    Ip配置文件在/etc/sysconfig/network-scripts文件夹下,查找该文件的方法为: [root@localhost ~]# ll /etc/sysconfig/network-s ...

  6. Linux虚拟机配置静态ip地址

    使用VMware搭建的虚拟机ip地址经常变动,在这里记录一下虚拟机设置静态ip地址: 首先通过VMware菜单栏编辑->虚拟网络编辑器->NAT设置查看子网ip地址和网关ip: 例如我这里 ...

  7. ubuntu 设置静态ip地址不生效问题

    出现了一个问题是,配置了静态ip地址之后,重启网络服务,查看ip地址是生效的,过会再看就 不生效了,查看网上说是由于 network-manager 管理ip地址时候出现的冲突,将network-ma ...

  8. 如何修改静态IP地址和动态IP地址

    打开控制面板,一般在电脑的菜单栏能找到,win8和win10可以使用快捷键(win键+X键),找不到的朋友可以搜索一下.   进入到网络和共享中心,点击更改适配器设置.   这里显示的是电脑所以的网络 ...

  9. ubuntu 修改静态IP和DNS

    1.修改配置文件/etc/network/interfacesroot@ubuntu:~# sudo vi /etc/network/interfaces 添加以下内容:auto eth0       ...

随机推荐

  1. Mybatis解决字段名与实体类属性名不相同的冲突

    在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TAB ...

  2. adb--monkey 压力测试工

    android压力测试命令monkey详解 http://www.jb51.net/article/48557.htm 作者: 字体:[增加 减小] 类型:转载 这篇文章主要介绍了android mo ...

  3. 【Redis】redis+php处理高并发,很好的教程||附上 php的文件锁

    链接至:http://blog.csdn.net/nuli888/article/details/51865401 很好的教程,其中redis+php有点小问题. 附上php文件锁: $fp = fo ...

  4. 【LeetCode】68. Text Justification

    Text Justification Given an array of words and a length L, format the text such that each line has e ...

  5. Python --标准库 存储对象 (pickle包,cPickle包)

    在之前对Python对象的介绍中 (面向对象的基本概念,面向对象的进一步拓展),我提到过Python“一切皆对象”的哲学,在Python中,无论是变量还是函数,都是一个对象.当Python运行时,对象 ...

  6. Python isdecimal() 方法

    描述 Python isdecimal() 方法检查字符串是否只包含十进制字符.这种方法只存在于unicode对象. 注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可. 语法 isd ...

  7. 什么是Coded UI

    什么是Coded UI Coded UI Test是Visual Studio 2010对于Testing Project(测试工程)提供的关于UI自动化测试的框架,支持Win32,Web,WPF等U ...

  8. 温故而知新 forEach 无法中断(break)的问题

    forEach无法使用break和return来中断,只能使用throw catch来达到中断的效果了. var id = (function(){ // forEach 是无法中断的.除非用这种ha ...

  9. swift的UITableView的使用

    UITableView是app开发中经常使用到的控件,功能非常强大,多用于数据的显示. 以下以一个简单的实例来介绍其基本使用方法. 先建一个project 代码例如以下: import UIKit c ...

  10. 每日英语:Air Pollution From Coal Use Cuts Lifespans in China, Study Shows

    Air pollution from coal combustion likely cut life expectancy in parts of China by more than five ye ...