安装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命令,它将列出服务器上所有可用的网络接口。
ip link show

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

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上,文件内容如下所示:

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

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

分配静态IP地址(IPv4)

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

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 4.4.4.4]

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

sudo netplan apply

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

ip add

如何运作

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

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

network:
version: 2

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

renderer: networkd

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

接下来,开始接口配置:

ethernets:
enp0s3:

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

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

addresses:
- 192.168.1.100/24

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

addresses: [192.168.0.101/24]

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

gateway4: 192.168.1.1

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

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

nameservers:
addresses: [8.8.8.8, 4.4.4.4]

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

sudo netplan apply

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

在Ubuntu Server上配置静态IPv6地址

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

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 2001:1::1/64
gateway6: 2001:1::2
nameservers:
addresses: [8.8.8.8, 4.4.4.4]

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

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

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
- 192.168.1.101/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 4.4.4.4]
 

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

addresses: [192.168.1.100/24, 192.168.1.101/24]

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

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
- 2001:1::1/64
gateway4: 192.168.1.1
gateway6: 2001:1::2
nameservers:
addresses: [8.8.8.8, 4.4.4.4]

配置多个网络接口

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

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 4.4.4.4]
enp0s8:
addresses:
- 10.10.10.2/24

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

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

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 4.4.4.4]
wifis:
wlp3s0:
dhcp4: yes
access-points:
#configure SSID and wifi password
"my_ssid":
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. 【PYTHON】操作excel笔记

    import xlrd book = xlrd.open_workbook('..//data//case1.xls') # 获取excel对象 print(book.sheets()) # 获取ex ...

  2. CLH lock queue的原理解释及Java实现

    目录 背景 原理解释 Java代码实现 定义QNode 定义Lock接口 定义CLHLock 使用场景 运行代码 代码输出 代码解释 CLHLock的加锁.释放锁过程 第一个使用CLHLock的线程自 ...

  3. 2019-2020 ICPC Asia Hong Kong Regional Contest J. Junior Mathematician 题解(数位dp)

    题目链接 题目大意 要你在[l,r]中找到有多少个数满足\(x\equiv f(x)(mod\; m)\) \(f(x)=\sum_{i=1}^{k-1} \sum_{j=i+1}^{k}d(x,i) ...

  4. java集合源码分析(三):ArrayList

    概述 在前文:java集合源码分析(二):List与AbstractList 和 java集合源码分析(一):Collection 与 AbstractCollection 中,我们大致了解了从 Co ...

  5. GoLang 自学系列(二)—— defer

    defer 关键字 首先来看官网的定义: A "defer" statement invokes a function whose execution is deferred to ...

  6. Django的下载及命令

    安装 命令行 pip3 install django==1.11.11 测试是否安装成功 django-admin 创建django项目 django-admin startproject 项目名称( ...

  7. 树莓派RTL8723BU_LINUX驱动安装

    1.安装前准备:sudo apt-get -y update;sudo apt-get -y upgrade;sudo apt-get -y dist-upgrade;sudo apt-get ins ...

  8. Linux 硬盘挂载及开机挂载

    一.分区 主分区.扩展分区.逻辑分区的区别 主分区:包含操作系统启动所必需的文件和数据的硬盘分区,如需在硬盘上安装操作系统,该硬盘必须得有一个主分区 扩展分区:除主分区外的分区,不能直接使用,必须再划 ...

  9. 无所不能的Embedding5 - skip-thought的兄弟们[Trim/CNN-LSTM/quick-thought]

    这一章我们来聊聊skip-thought的三兄弟,它们在解决skip-thought遗留问题上做出了不同的尝试[Ref1-4], 以下paper可能没有给出最优的解决方案(对不同的NLP任务其实没有最 ...

  10. 译文:二进制序列类型 --- bytes, bytearray

    在进行一些内置函数调用时,会发现bytes类型的参数或返回值,这个类型老猿前面没有介绍过,在此就不单独介绍了,直接从Python官网的内容用翻译软件翻译过来稍微修改. 操作二进制数据的核心内置类型是 ...