安装Ubuntu Server 18.04后需要分配一个的静态IP地址。先前的LTS版本Ubuntu 16.04使用/etc/network/interfaces文件配置静态IP地址,但是Ubuntu 18.04使用称为netplan的新方法。

在本教程中,我们将学习如何使用netplan在Ubuntu Server 18.04中配置网络接口。我们将研究如何设置静态IP地址,默认网关和DNS名称服务器。

  • 使用ip命令标识可用的网络接口
  • Netplan和YAML格式的界面配置文件
  • 分配静态IP地址(IPv4)
  • 在Ubuntu Server上配置静态IPv6地址
  • 将多个IP地址分配给一个网络接口
  • 配置多个网络接口

使用ip命令识别可用的网络接口

在配置静态IP地址之前,需要标识Ubuntu Server 18.04上的可用网络接口以及分配给特定网络接口的设备ID是什么。

运行ip link show命令,它将列出服务器上所有可用的网络接口。
  1. ip link show

要查看当前的IP配置,运行ip addr命令:

  1. ip addr

输出将显示所有网络接口的当前分配的IP配置。

Netplan和YAML格式的界面配置文件

Ubuntu 18.04使用一种称为netplan的新方法。在netplan中,接口配置文件位于/etc/netplan目录中,并且配置文件具有.yaml扩展名。YAML语法非常容易理解,只需要知道网络配置所需的内容。

列出/etc/netplan目录的内容,看到带有yaml扩展名的接口配置文件。

在我的Ubuntu Server中,该文件的名称为50-cloud-init.yaml,但可以根据安装类型使用其他名称进行保存。

安装类型 接口文件名
Ubuntu服务器实时ISO /云 50-cloud-init.yaml
Ubuntu Server ISO(备用Ubuntu Server安装程序) 01-netcfg.yaml
Ubuntu桌面ISO 01-网络管理器-all.yaml

在我的Ubuntu Server上,文件内容如下所示:

  1. # This file describes the network interfaces available on your system
  2. # For more information, see netplan(5).
  3. network:
  4. version: 2
  5. renderer: networkd
  6. ethernets:
  7. enp0s3:
  8. dhcp4: yes
 

通过仅查看最后一行:“ dhcp4:yes”,可以说以太网接口enp0s3已配置为从DHCP服务器租用IP地址。如果打算从DHCP服务器分配动态IP地址,则需要此配置。

分配静态IP地址(IPv4)

这是带有静态IP分配(IPV4)的样本netplan配置文件,在此配置中,接口enp0s3已配置为IP 192.168.1.100和默认网关192.168.1.1。

  1. network:
  2. version: 2
  3. renderer: networkd
  4. ethernets:
  5. enp0s3:
  6. addresses:
  7. - 192.168.1.100/24
  8. gateway4: 192.168.1.1
  9. nameservers:
  10. addresses: [8.8.8.8, 4.4.4.4]

为了应用配置,运行netplan命令:

  1. sudo netplan apply

然后,运行ip add命令以确保已应用更改:

  1. ip add

如何运作

在上面的示例中,将enp0s3以太网接口配置为使用静态IP地址192.168.1.100。

第一行:“版本:2”表示此配置块使用netplan版本2格式。

  1. network:
  2. version: 2

下一行:“ renderer:networkd”告诉此接口由systemd-networkd服务管理。

  1. renderer: networkd

如果接口由NetworkManager管理,则networkd的替代选项是NetworkManager。如果查看Ubuntu 18.04桌面的netplan配置文件,则将renderer选项设置为NetworkManager,因为在图形桌面环境中,界面由NetworkManager管理。

接下来,开始接口配置:

  1. ethernets:
  2. enp0s3:

这里,enp0s3是接口的名称,可以运行ip link show命令来列出Ubuntu Server上的网络接口。

接着,将静态IP设置为192.168.1.100,网络掩码为24:

  1. addresses:
  2. - 192.168.1.100/24

地址选项也可以按以下格式定义:

  1. addresses: [192.168.0.101/24]

接下来,将默认网关设置为192.168.1.1:

  1. gateway4: 192.168.1.1

使用选项gateway4,因为它是IPv4网关。对于IPv6网关,需要使用gateway6选项。

接下来,将DNS服务器设置为8.8.8.8和4.4.4.4。

  1. nameservers:
  2. addresses: [8.8.8.8, 4.4.4.4]

应用新的接口配置,运行netplan命令:

  1. sudo netplan apply

该命令会将当前的netplan配置应用于正在运行的系统。不再需要重新启动网络来应用更改。

在Ubuntu Server上配置静态IPv6地址

使用相同的netplan格式分配IPv6地址,唯一的区别是,需要使用gateway6选项而不是gateway4。

  1. network:
  2. version: 2
  3. renderer: networkd
  4. ethernets:
  5. enp0s3:
  6. addresses:
  7. - 2001:1::1/64
  8. gateway6: 2001:1::2
  9. nameservers:
  10. addresses: [8.8.8.8, 4.4.4.4]

将多个IP地址分配给单个网络接口

单个网络接口配置有多个IP地址是很常见的。以下是示例Ubuntu netplan配置文件,其中将两个IPv4地址分配给一个网络接口。

  1. network:
  2. version: 2
  3. renderer: networkd
  4. ethernets:
  5. enp0s3:
  6. addresses:
  7. - 192.168.1.100/24
  8. - 192.168.1.101/24
  9. gateway4: 192.168.1.1
  10. nameservers:
  11. addresses: [8.8.8.8, 4.4.4.4]
 

地址选项也可以采用以下格式编写:

  1. addresses: [192.168.1.100/24, 192.168.1.101/24]

可以使用IPv4和IPv6地址配置单个网络接口,如以下netplan文件所示:

  1. network:
  2. version: 2
  3. renderer: networkd
  4. ethernets:
  5. enp0s3:
  6. addresses:
  7. - 192.168.1.100/24
  8. - 2001:1::1/64
  9. gateway4: 192.168.1.1
  10. gateway6: 2001:1::2
  11. nameservers:
  12. addresses: [8.8.8.8, 4.4.4.4]

配置多个网络接口

在单个服务器上安装多个网络接口是很常见的。这是一个示例netplan文件,为两个网卡配置了静态地址:

  1. network:
  2. version: 2
  3. renderer: networkd
  4. ethernets:
  5. enp0s3:
  6. addresses:
  7. - 192.168.1.100/24
  8. gateway4: 192.168.1.1
  9. nameservers:
  10. addresses: [8.8.8.8, 4.4.4.4]
  11. enp0s8:
  12. addresses:
  13. - 10.10.10.2/24

注意,只有主接口已配置了默认网关,在本例中为enp0s3。有多个默认网关是不实际的,默认网关是没有其他路由时发送流量的地址。

再看另一个同时使用静态和DHCP地址的netplan示例:

  1. network:
  2. version: 2
  3. renderer: networkd
  4. ethernets:
  5. enp0s3:
  6. addresses:
  7. - 192.168.1.100/24
  8. gateway4: 192.168.1.1
  9. nameservers:
  10. addresses: [8.8.8.8, 4.4.4.4]
  11. wifis:
  12. wlp3s0:
  13. dhcp4: yes
  14. access-points:
  15. #configure SSID and wifi password
  16. "my_ssid":
  17. password: "my-wifi-password"

在前面的示例中,wifi接口wlp3s0已配置为从DHCP服务器租用IP地址。

总结

在本教程中,我们学习了如何在Ubuntu 18.04上配置静态IP地址,在该版本中不再使用旧的/etc/network/interfaces文件。Ubuntu 18现在使用称为netplan的新方法来管理网络。使用Netplan,网络接口的配置文件以YAML数据格式放在/etc/netplan目录中,而netplan命令用于在配置更改后重新启动网络。

如何在Ubuntu Server 18.04 LTS中配置静态IP地址的更多相关文章

  1. ubuntu server 18.04 lts 终端中文显示为乱码的解决方案

    .最近安装ubuntu server 18.04 lts版本发现系统自带的终端下无论是编辑中文,还是显示中文均出现乱码,还是老毛病, 今天无意中发现通过ssh,远程访问,在windows中安装开源的p ...

  2. Ubuntu Server 18.04 LTS 安装

    版本:Ubuntu Server 18.04.1 LTS 环境:VMware Workstation 14 Player 下载地址:https://www.ubuntu.com/download/se ...

  3. Ubuntu Server 18.04 LTS安装

    Please choose your preferred language. 选择您喜欢的语言 这里直接选择[English] Keyboard configuration 键盘配置 Please s ...

  4. Ubuntu Server 18.04 修改网路配置

    新的Ubuntu 服务器采用netplan管理网络配置,跟以前的配置有很大的区别. 实际可行的办法是修改/etc/netplan/01-netcfg.yaml文件: sudo vim /etc/net ...

  5. Ubuntu Server 14.04 LTS(64bit)已安装 weblogic Server 12c(12.1.3) Zip Distribution

    这里说的对Ubuntu Server 14.04 LTS(64bit)已安装weblogic Server 12c(12.1.3) Zip Distribution遇到的问题.至于Windows什么好 ...

  6. ubuntu server 18.04的安装 以及配置网络还有ssh服务

    ubuntu server 18.04的安装 以及配置网络还有ssh服务   服务器是 dell T420 安装过程中规中矩,其中最关键的是分区部分,由于是服务器,如果磁盘比较大的话,一定要用 uef ...

  7. 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(二):Apache安装和配置

    基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...

  8. ubuntu server 14.04 LTS下搭建LAMP环境之最详细笔记之一U盘安装双系统

    前言: 一直在WIN上使用PHP,不喜欢用WAMP,每次都是手动在windows配置环境,偶尔有一次装了小红帽玩了两天,感觉不是很习惯就换了回来,过了没几天见讨论LAMP环境,于是安装了ubuntu的 ...

  9. VMWare、Ubuntu Server 18.04 共享文件夹

    背景:VMWare选项中配置了共享文件夹,装完Ubuntu Server 18.04在 /mnt/下都没有 hgfs文件夹,更别提共享文件夹了 参考:Ubuntu16.04版安装VMwareTools ...

随机推荐

  1. Word1-提取图片文字

    1.OneNote # 将图片以图片格式粘贴在OneNote中-右键选择"复制图片中的文本"-粘贴"只保留文本"即可 这种方式识别率较高!!! 2.手机QQ图片 ...

  2. P3287 [SCOI2014]方伯伯的玉米田

    首先可以证明,一定存在一种最优解,每次选择的区间结尾都是 \(n\).因为如果某一个区间结尾不是 \(n\),将其替换成 \(n\) 仍然保持单调不下降.接着都按这个策略拔高玉米. 令 \(f_{i, ...

  3. 蓝桥杯——分组比赛(2017JavaB组第3题)

    分组比赛(17JavaB3) 9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 标记运动员为 A,B,C,... I 下面的程序列出了所有的分组方法: ABC DEF GHI ABC D ...

  4. PowerManagerService流程分析

    一.PowerManagerService简介 PowerManagerService主要服务Android系统电源管理工作,这样讲比较笼统,就具体细节上大致可以认为PowerManagerServi ...

  5. equals的推荐写法

    我们在重写equals的时候必须满足几个原则,否则,类在容器和其他场景下会出现奇怪的行为: 1.A.equals(A)=true, 2.对称性.即A.equals(B)=true;则B.equals( ...

  6. 【mq学习笔记】mq查找路由信息与故障延迟

    路由发现:缓存中的路由信息什么时候更新呢? 由QueueData转topicPublishInfo的List<QueueMessage>: 选择消息队列: sendLatencyFault ...

  7. C中memcpy函数用法

    1.函数原型 void *memcpy(void *destin,void *source,unsigned n); 其中, destin代表用于存储复制内容的目标数组,类型强制转换为void*指针. ...

  8. uwsgi+nginx的三种配置方式

    第一种 vi /etc/uwsgi.ini uwsgi --reload uwsgi.pid vi /etc/nginx/conf.d/iot.conf service nginx restart 第 ...

  9. 文艺splay,占坑等着填

    昨天CF上去就A了前三道题,然后自闭罚坐一个小时什么也没写出来23333.似乎D题人均wa3发就很烦.还是肤浅了 今天精神状态不太好,可能是晚睡的缘故,那不如明天一起写了算了 蹲一波大选结果,蹲一波s ...

  10. java并发编程实战《八》管程

    管程:并发编程的万能钥匙 为什么 Java 在 1.5 之前仅仅提供了 synchronized 关键字及 wait().notify().notifyAll() 这三个看似从天而降的方法? Java ...