说明:在网上给的教程上面通常会有这样的一个误导思路,按照配置文件设置后会不生效的问题,甚至没有一点效果,经过排查发现Linux下设置IP这个话题的入口线索应该分为两种:1为Server版,2为Desktop版,这两种版本的设置方式有很大区别,主要在于软件的问题。Service版按常规版设置即可,但是Desktop版的有一个Network-manager的软件,这个软件是简化IP的设置,所以很多时候按照网上的配置教程设置后会造成不生效的问题;一般情况如果按照Server版的设置后,重启之后Network-manager就会失效,这一点很重要,而不是重启服务生效。这些设置对于Ubuntu和CentOS 6同样生效。

设置步骤:

一、Server版:

对于Ubuntu和CentOS 6配置都适用。

1、修改IP地址

打开/etc/network/interfaces

sudo vim /etc/network/interfaces

加入以下语句:

auto eth0 #要设置的网卡
iface eth0 inet static #设置静态IP;如果是使用自动IP用dhcp,后面的不用设置,一般少用
addressxxx.xxx.xxx.xxx #IP地址
netmaskxxx.xxx.xxx.xxx #子网掩码
gatewayxxx.xxx.xxx.xxx #网关

2、修改DNS

打开/etc/resolv.conf

sudo vim /etc/resolv.conf

注意:上面设置的文件重启后会覆盖,如果要持久的保存,需要修改:/etc/resolvconf/resolv.conf.d/base

改为如下内容:

search localdomain #如果本Server为DNS服务器,可以加上这一句,如果不是,可以不加
nameserver 172.16.3.4 #希望修改成的DNS
nameserver 172.16.3.3 #希望修改成的DNS

3、重启服务生效

先运行一次,然后在rc.local里加入这个重启网络配置的命令:

sudo /etc/init.d/networking restart #使网卡配置生效
sudo /etc/init.d/resolvconf restart #使DNS生效

 二、Desktop版:

Desktop下有一个Network-manager的软件,这个软件如果上面设置了,那么默认会以上面的配置为准,Network-manager会失效,但是这个设置只有在重启电脑才会生效。

如果不重启时,那么需要停止这个服务再去设置

sudo service network-manager stop

接下来通过上面的配置即可。

但是这样的做法有点麻烦,既然用了Desktop的,倒不如直接用Network-manager来设置快一些(也就是设置里面的网络设置)。

同样,如果要设置无线网卡的IP时,用这个配置也是最快的,没必要使用上面的配置进行配置。

三、命令行快速设置:

这种方式重启后会失效。

1、先停止Network-manager的服务

sudo service network-manager stop

2、设置IP和子网掩码

sudo ifconfig ens33 192.168.199.31 netmask 255.255.255.0

3、设置网关

sudo route add default gw 192.168.199.1

4、设置DNS

sudo su
echo "nameserver 192.168.199.1" >> /etc/resolv.conf

完成后,输入exit退出,上面的只是是即时生效的。但重启后会失效,持久方式使用第一种方法。

四、总结:

上面几种方法都是最常用的方式,没有更深入的做法,比如arp这些等等,如果要深入可以再找一下这方面的方法,下面有参考教程。

如果是CentOS,修改的文件就是:/etc/sysconfig/network-scripts,可以通过这个线索去查找。

参考:

https://wiki.debian.org/NetworkConfiguration(官方教程)

https://www.cnblogs.com/sankye/p/5020721.html(以上内容灵感来自此篇文章)

https://zhidao.baidu.com/question/2206476521318351508.html

http://blog.csdn.net/wangjingfei/article/details/5283632/

http://blog.csdn.net/aristolto/article/details/50543928

http://blog.csdn.net/zzu09huixu/article/details/17893357

http://blog.csdn.net/cuiyifang/article/details/8166977

http://www.360doc.com/content/11/1202/12/6828497_169109083.shtml

http://www.linuxidc.com/Linux/2014-06/102670.htm(ifconfig过时了,采用ip作为替代)

Ubuntu 16.04设置IP、网关、DNS的更多相关文章

  1. Ubuntu Server 16.04修改IP、DNS、hosts

    本文记录下Ubuntu Server 16.04修改IP.DNS.hosts的方法 -------- 1. Ubuntu Server 16.04修改IP sudo vi /etc/network/i ...

  2. Ubuntu 16.04设置rc.local开机启动命令/脚本的方法

    Ubuntu 16.04设置rc.local开机启动命令/脚本的方法       Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启 ...

  3. Ubuntu 16.04 设置MySQL远程访问权限

    本文记录一下在Ubuntu 16.04版本下设置MySQL数据库的远程访问. 第一步:修改配置文件的端口绑定 打开的目录可能会根据MySQL的版本稍有不同,可以先尝试打开/etc/mysql/my.c ...

  4. Ubuntu命令设置ip网关dns

    本文系转载,介绍Ubuntu如何设置IP和网络来连接网络 如果是在虚拟机中使用Ubuntu,那么设置之前请先参照我的上一遍文章虚拟机Net方式设置连接外网中的网络设置部分,先设置好主机的网络,然后配置 ...

  5. Ubuntu 16.04 设置静态IP 注意事项

    目录 查看动态ip下的网络信息 查看默认网关 设置静态网络 查看动态ip下的网络信息 1 ifconifg # 查看网卡信息: 可以看出网口名称为 eno1, 以及子网掩码(mask) 查看默认网关 ...

  6. ubuntu 16.04 静态ip的配置

    nssa-sensor1@nssa-sensor1:~$ vim /etc/network/interfaces 以下是编辑文件的内容# interfaces(5) file used by ifup ...

  7. Ubuntu 16.04设置开机启动脚本的方法

    需求:公司卡片机容量太小,只有100G,由于使用的人比较的多,开机使用后有时候就会出现磁盘空间占满数据写不进去的情况,影响工作进度,而且每次使用完都得关掉卡片机,所以就有必要写个清理磁盘的脚本,当卡片 ...

  8. 【Ubuntu】ubuntu 16.04 设置root用户初始密码

    安装ubuntu成功后,都是普通用户权限,并没有最高root权限,如果需要使用root权限的时候,通常都会在命令前面加上 sudo . 我们一般使用su命令来直接切换到root用户的,但是如果没有给r ...

  9. Ubuntu 16.04设置root用户登录图形界面

    ubuntu桌面版默认不开启root登录,所以需要进行设置, 可以参考博客 https://www.linuxidc.com/Linux/2017-01/139094.htm

随机推荐

  1. Balls and Boxes---hdu5810(推公式)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5810 有n个球m个盒子,随机把球放到盒子中,求每个盒子球个数的方差的期望值 E[V]; 推公式吧,或者 ...

  2. 洛谷P1903 数颜色 [国家集训队] 莫队

    正解:带修莫队 解题报告: 可以理解为引入时间参数,然后就是有了仨参数,关于这个修改同样的是,如果时间是相同的,不用搞,如果时间不相同做一下时光倒流/时光推移就成嘛 但是肯定既然这样的话,按照原来的s ...

  3. JAVA中只有值传递

    今天,我在一本面试书上看到了关于java的一个参数传递的问题: 写道 java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? 我毫无疑问的回答:“引用传递!”,并且还觉得自己对java的这 ...

  4. DeepMind提出空间语言集成模型SLIM,有效编码自然语言的空间关系

    前不久,DeepMind 提出生成查询网络 GQN,具备从 2D 画面到 3D 空间的转换能力.近日.DeepMind 基于 GQN 提出一种新模型.可以捕捉空间关系的语义(如 behind.left ...

  5. git merge和git rebase

    转载于http://blog.csdn.net/wh_19910525/article/details/7554489 git merge是用来合并两个分支的. git merge b # 将b分支合 ...

  6. SSM请求的响应

    1.请求响应文本到页面直接用pw.println("文本信息");打印到页面: 2.如果请求方法前不加@ResponseBody,返回字符串直接转发到对应的页面: 3.如果请求方法 ...

  7. [LeetCode] 680. Valid Palindrome II_Easy tag: Two Pointers

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  8. testng入门教程16数据驱动(把数据写在xml)

    testng入门教程16数据驱动(把数据写在xml) testng入门教程16数据驱动(把数据写在xml)把数据写在xml文件里面,在xml文件右键选择runas---testng执行 下面是case ...

  9. java中Integer 和String 之间的转换

    java中Integer 和String 之间的转换 将数组转换成字符串:char[] array = {'a','b','c','d','e'};String str = new String(ar ...

  10. liferay笑傲江湖-API之参数的工具类(ParamUtil)

    public class ParamUtil { 036 037 public static boolean get( 038 HttpServletRequest request, String p ...