说明:在网上给的教程上面通常会有这样的一个误导思路,按照配置文件设置后会不生效的问题,甚至没有一点效果,经过排查发现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. django时间的时区问题

    在用django1.8版本做项目的时候遇到时间的存储与读取不一致的问题,网上找了很多帖子,但都没有讲明白.本文将在项目中遇到的问题及如何解决的尽可能详细的记录下来,当然本文参考了网上大量相关文章. 在 ...

  2. 虚拟机VMware的网络设置出了问题会导致很多莫名的错误

    邪门地CentOS内软件安装失败问题:Xshell与虚拟机的各种连接失败:CentOS下eth0没显示ip地址. 这些原因竟然是一个,虚拟机VMware的网络设置出了问题.     恢复初始设置即可.

  3. 机器学习理论基础学习14.1---线性动态系统-卡曼滤波 Kalman filter

    一.背景 动态模型 = 图 + 时间 动态模型有三种:HMM.线性动态系统(kalman filter).particle filter 线性动态系统与HMM的区别是假设相邻隐变量之间满足线性高斯分布 ...

  4. 使用fiddler对手机APP进行抓包

    在做手机或移动端APP的接口测试时,需要从开发人员那里获取接口文档,接口文档应该包括完整的功能接口.接口请求方式.接口请求URL.接口请求参数.接口返回参数.如果当前项目没有接口文档,则可以使用fid ...

  5. 优化改良版:数组,List,等集合需要加逗号或其它符合转成字符串

    大家经常需要数组加逗号拼接成字符串的情况传统作法就是写for,foreach拼接, 现给出优化改良版数组,List,等集合需要加逗号或其它符合转成字符串方法: List<string> l ...

  6. 001-linux中特殊权限

  7. fontawesome与amazeUI

    fontawesome是很不错的东西呢~~~~ amazeUI也是很不错的东西呢~~~~~ 最近一年里,比较偏爱这两个家伙? 什么?为什么bootstrap?有什么区别? 这个我还真说不太清楚. 用一 ...

  8. 改变 select下拉框 样式

    select{ outline: none; text-indent: 10px; height: 45px; line-height: 45px; width: 100%; border:1px s ...

  9. python 星号*使用方法

    1.乘号 2.表示倍数 def T(msg,time=1): print((msg+',,')*time) >>>T('hi',3) hi,,hi,,hi 3.单个星号* --1-- ...

  10. Js中String转int

    Js中String转int 方案一代码: Number(str) 方案二代码: //parseInt 方法都有两个参数, 第一个参数就是要转换的对象, 第二个参数是进制基数, 可以是 2, 8, 10 ...