如何在Ubuntu Server 18.04 LTS中配置静态IP地址
安装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配置,运行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地址的更多相关文章
- ubuntu server 18.04 lts 终端中文显示为乱码的解决方案
.最近安装ubuntu server 18.04 lts版本发现系统自带的终端下无论是编辑中文,还是显示中文均出现乱码,还是老毛病, 今天无意中发现通过ssh,远程访问,在windows中安装开源的p ...
- Ubuntu Server 18.04 LTS 安装
版本:Ubuntu Server 18.04.1 LTS 环境:VMware Workstation 14 Player 下载地址:https://www.ubuntu.com/download/se ...
- Ubuntu Server 18.04 LTS安装
Please choose your preferred language. 选择您喜欢的语言 这里直接选择[English] Keyboard configuration 键盘配置 Please s ...
- Ubuntu Server 18.04 修改网路配置
新的Ubuntu 服务器采用netplan管理网络配置,跟以前的配置有很大的区别. 实际可行的办法是修改/etc/netplan/01-netcfg.yaml文件: sudo vim /etc/net ...
- 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什么好 ...
- ubuntu server 18.04的安装 以及配置网络还有ssh服务
ubuntu server 18.04的安装 以及配置网络还有ssh服务 服务器是 dell T420 安装过程中规中矩,其中最关键的是分区部分,由于是服务器,如果磁盘比较大的话,一定要用 uef ...
- 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(二):Apache安装和配置
基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...
- ubuntu server 14.04 LTS下搭建LAMP环境之最详细笔记之一U盘安装双系统
前言: 一直在WIN上使用PHP,不喜欢用WAMP,每次都是手动在windows配置环境,偶尔有一次装了小红帽玩了两天,感觉不是很习惯就换了回来,过了没几天见讨论LAMP环境,于是安装了ubuntu的 ...
- VMWare、Ubuntu Server 18.04 共享文件夹
背景:VMWare选项中配置了共享文件夹,装完Ubuntu Server 18.04在 /mnt/下都没有 hgfs文件夹,更别提共享文件夹了 参考:Ubuntu16.04版安装VMwareTools ...
随机推荐
- Word1-提取图片文字
1.OneNote # 将图片以图片格式粘贴在OneNote中-右键选择"复制图片中的文本"-粘贴"只保留文本"即可 这种方式识别率较高!!! 2.手机QQ图片 ...
- P3287 [SCOI2014]方伯伯的玉米田
首先可以证明,一定存在一种最优解,每次选择的区间结尾都是 \(n\).因为如果某一个区间结尾不是 \(n\),将其替换成 \(n\) 仍然保持单调不下降.接着都按这个策略拔高玉米. 令 \(f_{i, ...
- 蓝桥杯——分组比赛(2017JavaB组第3题)
分组比赛(17JavaB3) 9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 标记运动员为 A,B,C,... I 下面的程序列出了所有的分组方法: ABC DEF GHI ABC D ...
- PowerManagerService流程分析
一.PowerManagerService简介 PowerManagerService主要服务Android系统电源管理工作,这样讲比较笼统,就具体细节上大致可以认为PowerManagerServi ...
- equals的推荐写法
我们在重写equals的时候必须满足几个原则,否则,类在容器和其他场景下会出现奇怪的行为: 1.A.equals(A)=true, 2.对称性.即A.equals(B)=true;则B.equals( ...
- 【mq学习笔记】mq查找路由信息与故障延迟
路由发现:缓存中的路由信息什么时候更新呢? 由QueueData转topicPublishInfo的List<QueueMessage>: 选择消息队列: sendLatencyFault ...
- C中memcpy函数用法
1.函数原型 void *memcpy(void *destin,void *source,unsigned n); 其中, destin代表用于存储复制内容的目标数组,类型强制转换为void*指针. ...
- uwsgi+nginx的三种配置方式
第一种 vi /etc/uwsgi.ini uwsgi --reload uwsgi.pid vi /etc/nginx/conf.d/iot.conf service nginx restart 第 ...
- 文艺splay,占坑等着填
昨天CF上去就A了前三道题,然后自闭罚坐一个小时什么也没写出来23333.似乎D题人均wa3发就很烦.还是肤浅了 今天精神状态不太好,可能是晚睡的缘故,那不如明天一起写了算了 蹲一波大选结果,蹲一波s ...
- java并发编程实战《八》管程
管程:并发编程的万能钥匙 为什么 Java 在 1.5 之前仅仅提供了 synchronized 关键字及 wait().notify().notifyAll() 这三个看似从天而降的方法? Java ...