ubuntu修改配置IP地址和DNS的方法总结(4种)

2021/7/13 7:08:25

本文主要是介绍ubuntu修改配置IP地址和DNS的方法总结(4种),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Ubuntu配置IP的方法比较多,网上也是什么都有五花八门的,按照方法进行经常不好使,其实绝大多数时候不是人家写的有问题,而是方法有一定的针对性,这里特对配置静态IP方法作个总结。

 首先Ubuntu分为Server版和Desktop版,这两种版本的设置方式有很大区别,主要是配置入口工具不一样,Desktop版有一个Network-manager软件,要尽量使用这个软件来进行IP的设置。

 其次,Ubuntu不同版本号的系统,IP配置方法也会不一样。这主要也是因为入口的问题,Ubuntu16版使用networking,而Ubuntu18使用netplan,所以方法有较大差别。

 最后,有些参数确实有多个位置可以配置,但不见得每个位置都对你的环境有效。

 因为现在Ubuntu已经发行到Ubuntu19了,所以Ubuntu14以前的就不多做分析了,可以自行用下面四种典型方法尝试。

一、Desktop版方法

 如果你使用了Desktop版本或者server版上面加了desktop桌面,那么你就尽量使用图形界面来配置系统IP信息,这是最快最有效的方法,否则可能会出现一些奇奇怪怪的问题。
 这里以Ubuntu18为例来简单说明一下:
1、首先在Ubuntu主界面打开“系统设置”(一个齿轮一样的东西),然后进入其中的“网络”,继续点图中“有线连接”后面一个更小的齿轮。
在这里插入图片描述
2、进入到具体设置界面如下,上面可以看到当前网卡速度,Ipv4地址,ipv6地址,mac地址,路由网关,DNS,这些信息都可以在后面不同标签中进行设置。
在这里插入图片描述
3、“身份”标签可以更改mac地址,如下。
在这里插入图片描述
4、切换到IPV4标签,如下。上面可以配置IP、子网、网关、DNS、路由,基本都在这里了。如果是静态地址选择“手动”即可。
在这里插入图片描述
配置完,点右上角“应用”。如果不需要IPV6,到相应标签上,选择“禁用”即可。
Ubuntu16图形界面的配置方法与此类似。

二、Server版方法-Ubuntu16

以下配置静态IP的方法对Ubuntu和CentOS都适用。

1、修改IP地址
1)、先用命令ifconfig查询一下原来网卡的名字,如下:

hzq@ubuntu:~$ ifconfig
ens33     Link encap:以太网  硬件地址 00:0c:29:c3:b2:02  
          inet 地址:192.168.1.32  广播:192.168.1.255  掩码:255.255.255.0
          inet6 地址: 2408:8207:c59:fa00:20c:29ff:fec3:b202/64 Scope:Global
          inet6 地址: fe80::20c:29ff:fec3:b202/64 Scope:Link
          inet6 地址: 2408:8207:c57:1f90:20c:29ff:fec3:b202/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:4447 错误:0 丢弃:5 过载:0 帧数:0
          发送数据包:1154 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000 
          接收字节:363068 (363.0 KB)  发送字节:101287 (101.2 KB)

lo        Link encap:本地环回  
          inet 地址:127.0.0.1  掩码:255.0.0.0
          inet6 地址: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  跃点数:1

上面的ens33就是我们要设置IP的网卡名字,有些机器有好几个网卡,一定要看清楚。

2)、ctrl+alt+t 打开终端,输入命令sudo gedit /etc/network/interfaces打开配置文件。
按照下面所示添加或修改内容:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#上面的内容是原来就有的,下面是新加的内容。
#下面是要设置的网卡名字。
auto ens33
# static表示设置静态IP,动态IP用dhcp,一般默认就是dhcp状态
iface ens33 inet static
#IP地址
address 192.168.1.32
#子网掩码
netmask 255.255.255.0
#网关
gateway 192.168.1.1
#广播地址,可以不设
broadcast 192.168.1.255
#结束,#号内容是给你们看的,看完就可以删除,没啥用

2、修改DNS
ctrl+alt+t 打开终端,输入命令sudo gedit /etc/resolv.conf打开配置文件。
按照下面所示添加或修改内容:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1 
#上面的内容是原来就有的,下面是新加的内容。
nameserver 114.114.114.114
nameserver 8.8.8.8
#结束-------------------------------------

  • 如果重启系统或者网络后,ping公网ip地址通,但是域名不通,编辑下面的文件,在其中加上上面的内容。
    /etc/resolvconf/resolv.conf.d/base

    /etc/resolvconf/resolv.conf.d/head

  • 如果还是无法上网,可以将/etc/NetworkManager/目录下的system-connections目录删除或者移走,然后再重启网络或者系统。

3、重启服务的方法

  • 重起网络服务:
    输入命令:sudo /etc/init.d/networking restart
    或输入命令:sudo service networking restart

 个别系统重启服务后地址不变,这一般是缓存的问题,可以通过ip命令刷新一下缓存。

  • 重启DNS服务:
    输入命令:sudo /etc/init.d/resolvconf restart
    或输入命令:sudo service resolvconf restart

三、Server版方法-Ubuntu18

Ubuntu18修改IP和DNS的方法和Ubuntu16有较大差别,Ubuntu18是通过netplan来管理网络地址的。
1)、ctrl+alt+t 打开终端,进入/etc/netplan/目录,找到yaml文件,如下:

hzq@ubuntu:~$ ls /etc/netplan/
01-network-manager-all.yaml
hzq@ubuntu:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
hzq@ubuntu:~$ 

上面是文件原来的内容,
输入命令sudo gedit /etc/netplan/01-network-manager-all.yaml打开配置文件,
按照下面示例添加或修改内容:

network:
  version: 2
  renderer: networkd
  ethernets:
    #网卡名称,先用ifconfig查清楚要更改的网卡名字
    ens33:
       addresses: [192.168.1.36/24]
       gateway4: 192.168.1.1
       nameservers:
           addresses: [8.8.8.8]

启用配置信息。

sudo netplan apply

  • 再用ifconfig查看,网卡地址已经变更过来,个别版本没生效的重启一下系统吧。
    有些文章让你执行netplan apply的时候前面没有加sudo,这样一般不会真正生效的,要在前面加sudo或者直接在root下执行。

  • Ubuntu18更改IP地址、DNS等信息在这一个yaml文件更改即可,也挺方便的,不过由于18版开始变动比较大可能以前的使用者会比较迷茫,当然你也可以改回到以前的方法,不过要重装一些以前的网络管理组件。

四、命令行进行设置

命令直接修改的方式一般是临时方法,重启后会失效。
【当然所谓命令行方法只是一种叫法,在本文只是表示下面这种方法而已。并不是说所有命令行的方法都是临时性的】

1、设置IP地址和子网掩码

sudo ifconfig ens33 192.168.1.31 netmask 255.255.255.0

上面表示将网卡ens33的IP设置为:192.168.1.31,子网掩码改为:255.255.255.0

2、设置网关

sudo route add default gw 192.168.1.1

这里是添加一个默认网关的意思,并不是直接修改原来的网关,所以不要多次执行上述命令!

3、设置DNS
 无论是Ubuntu16还是Ubuntu18目前没有特别通用,特别快速的命令来直接设置DNS信息。
 要么需要修改配置文件,可参考上文;
 要么某些命令需要在特定条件下才能执行,比如nmcli、systemd等系列的工具集,并且操作有一定复杂度。
 所以建议还是按上文方法修改比较好。

4.重启网络服务
在这种方法中,IP和网关设置都是即时生效的,并不需要重启网络服务。
如果需要重启DNS服务,请按上文方法进行。

最后

 配置IP、DNS、网关的方法:server和desktop有区别;不同版本号有区别;Ubuntu的DNS本身有多个配置文件。要找到适合自己系统的方法。
 除了上文的方法,当然还有其他的方法也可以进行IP、网关、DNS的修改,但是用的比较少,适合特定人群。比如nmcli、systemd、或直接修改底层相关的.network文件、或者通过脚本等等。
 欢迎交流分享,讨论补充~ ~

参考文章《ubuntu顶部的任务栏-标题栏-菜单栏-启动器消失不见7个解决办法》
参考文章《vmware虚拟机运行速度卡慢原因分析及解决办法大全(二)》

转载请注明本文地址:https://blog.csdn.net/davidhzq/article/details/102991577



这篇关于ubuntu修改配置IP地址和DNS的方法总结(4种)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程