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

转载:

https://www.cnblogs.com/EasonJim/p/7857671.html

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

  1. Ubuntu命令设置ip网关dns

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

  2. ubuntu设置ip和dns

      装完ubuntu 第一件事情就是连上网,换个源,进行更新操作,但前提条件是要配好ip和dns.   下面把自己配置的过程记录下来,权且当作一份备份,以便不时之需.   一.配置ip      ub ...

  3. Linux系统运维笔记(三),设置IP和DNS

    Linux系统运维笔记(三),设置IP和DNS 手工配置静态的IP地址 也就是手工配置IP地址.子网掩码.网关和DNS. vi /etc/sysconfig/network-scripts/ifcfg ...

  4. .bat文件设置IP、DNS

    这几天遇到个烦心事,每次开机之后都要去手动去设置一下IP地址,一大串的数字还是有点麻烦,于是就想写个批处理文件设置IP 注意:在DOS下设置IP时需要管理员权限运行 1.查看机子设置IP需要用到的名字 ...

  5. ubuntu 设置IP,设置网关

    1. 检验是否可以连通,就使用ping命令ping 网关 开始的时候总是现实unreachable 2. 设置IP sudo ifconfig eth0 133.133.133.190 netmask ...

  6. ubuntu 命令配置ip 网关 dns

    如果是在虚拟机中使用Ubuntu,先设置好主机的网络,然后配置虚拟机Ubuntu的IP和网关 如果主机操作系统就是Ubuntu,请直接参照下文进行设置 内容如下: 1. 检验是否可以连通,就使用pin ...

  7. ubuntu设置IP地址、网关的方法

    打开terminal(用Ctrl+Alt+T打开) 1. 输入ifconfig  打印如下: enp1s0    Link encap:Ethernet  HWaddr 6c:4b:90:0b:53: ...

  8. Ubuntu固定ip和dns配置和查看

    1.查看dns: cat /etc/resolv.conf 2.Ubuntu固定ip sudo vim /etc/network/interfaces 修改如下部分: auto p3p1 iface ...

  9. windows命令行设置IP与DNS

    用dos命令修改IP等本地连接属性 平时我们改IP通常都在是窗口界面本地连接直接修改, 那在命令行也可以设置IP地址?当然可以,这里要用到netsh命令 .点击“开始”->“运行”,输入“cmd ...

随机推荐

  1. IDEA忽略某些文件

    Settings→Editor→File Types 在下方的忽略文件和目录(Ignore files and folders)中添加自己需要过滤的内容   下图为我自己添加过滤的内容,例如:*.im ...

  2. 04-体验一下apache组织封装的BeanUtil工具包

    apache 自己为程序员们封装了一个专门用于处理的工具类,其功能有(数据类型会自动转成与JavaBean相关的) map转javabean javabean转map javabean对象复制 获取j ...

  3. jquery:获取checked复选框的问题

    jquery:获取checked复选框的问题 功能描述:要完成一个全选的功能,但总是获取不到复选框的被选中的个数,究其原因,是Jquery中length和checked使用不当所造成的. // 获取所 ...

  4. JAVA 每周一 每周日 时间

    Calendar cal = Calendar.getInstance(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd&q ...

  5. thinkphp5 与 endroid 二维码生成

    windows compser安装endroid/qrcode,自己安装好composer工具; 1. 项目目录 文件 composer.json require 里添加 "endroid/ ...

  6. random的常用方式

    Python中的random模块用于生成随机数 1.random.random() #用于生成一个0~1的随机浮点数:0<=n<1.0 >>> import random ...

  7. 深入学习 Java 序列化

    前言 对于Java的序列化,一直只知道只需要实现Serializbale这个接口就可以了,具体内部实现一直不是很了解,正好这次在重复造RPC的轮子的时候涉及到序列化问题,就抽时间看了下 Java序列化 ...

  8. DateTimeOffset DateTime

    DateTime只保存两部分信息:Ticks和KindTicks 一个Tick是100纳秒(1万Tick等于1毫秒)Ticks记录了从1/1/0001 12:00 AM到现在经过了多少100纳秒.Ki ...

  9. ARC下野指针 EXC_BAD_ACCESS错误

    一般都是多线程造成的,某一个线程在操作一个对象时,另一个线程将此对象释放,此时就有可能造成野指针的问题.一种解决办法是如果都是UI操作则将这些操作都放在主线程去执行. 通常出现此问题的地方都在RAC, ...

  10. javascript中正则表达式中的 match,exec,test,replace 之我理解

    这个正则 ($&) 的语法: https://msdn.microsoft.com/library/3k9c4a32(v=vs.94).aspx 在ECMAScript中对这几个的说明: ma ...