如何在Ubuntu 18.04上配置静态IP地址

时间:2020-03-05 15:31:59  来源:igfitidea点击:

在本教程中,我们将说明如何在Ubuntu 18.04上设置静态IP地址。

通常,IP地址是由路由器DHCP服务器动态分配的。
在不同情况下,例如配置端口转发或者在网络上运行媒体服务器,可能需要在Ubuntu计算机上设置静态IP地址。

使用DHCP配置静态IP地址

向LAN上的设备分配静态IP地址的最简单和建议的方法是在路由器上设置静态DHCP。
静态DHCP或者DHCP保留功能是大多数路由器上都可以使用的功能,每当设备向DHCP服务器请求地址时,它就使DHCP服务器自动将相同的IP地址分配给特定的网络设备。
通过将静态IP分配给设备的唯一MAC地址来起作用。
每个路由器上配置DHCP保留的步骤各不相同,建议查阅供应商的文档。

网络计划

从17.10版本开始,Netplan是Ubuntu上的默认网络管理工具,它取代了以前用于在Ubuntu上配置网络的配置文件“/etc/network/interfaces”。

Netplan使用YAML语法的配置文件。
要使用Netplan配置网络接口,我们需要为该接口创建YAML描述,然后Netplan将为我们选择的渲染器工具生成所需的配置文件。

Netplan当前支持两个渲染器NetworkManager和Systemd-networked。
NetworkManager通常在台式机上使用,而Systemd网络在没有GUI的服务器上使用。

在Ubuntu服务器上配置静态IP地址

较新版本的Ubuntu使用的是“可预测的网络接口名称”,默认情况下,该名称以“ en [letter] [number]”开头。

第一步是确定要配置的以太网接口的名称。
为此,请使用“ ip link”命令,如下所示:

ip link

该命令将打印所有可用网络接口的列表。
在这种情况下,接口的名称为'ens3':

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 56:00:00:60:20:0a brd ff:ff:ff:ff:ff:ff

Netplan配置文件存储在“/etc/netplan”目录中,并具有扩展名“ .yaml”。
我们可能会在此目录中找到一个或者两个YAML文件。
该文件可能会因安装程序而异。
通常,该文件名为'01 -netcfg.yaml','50 -cloud-init.yaml'或者'NN_interfaceName.yaml',但是在系统中,它可能有所不同。

使用文本编辑器打开YAML配置文件:

sudo nano /etc/netplan/01-netcfg.yaml

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes

在更改配置之前,让我们简要说明一下代码。

每个Netplan Yaml文件都以“网络”密钥开头,该密钥至少包含两个必需的元素。
第一个必需元素是网络配置格式的版本,第二个是设备类型。
设备类型可以是'ethernets','bonds','bridges'或者'vlans'。

上面的配置还包括“渲染器”类型。
开箱即用,如果我们在服务器模式下安装Ubuntu,则渲染器配置为使用“网络”作为后端。

在设备的类型(在本例中为“ ethernets”)下,我们可以指定一个或者多个网络接口。
在此示例中,我们只有一个接口“ ens3”,该接口被配置为从DHCP服务器“ dhcp4:yes”获取IP寻址。

要将静态IP地址分配给“ ens3”接口,请按如下所示编辑文件:

  • 将DHCP设置为'dhcp4:no'。
  • 指定静态IP地址'192.168.121.199/24'。在“地址:”下,我们可以添加一个或者多个将分配给网络接口的IPv4或者IPv6 IP地址。
  • 指定网关“ gateway4:192.168.121.1”
  • 在“名称服务器”下,设置名称服务器“地址:[8.8.8.8,1.1.1.1]”的IP地址

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.121.199/24
      gateway4: 192.168.121.1
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1]

编辑Yaml文件时,请确保遵循YAML代码缩进标准。
如果配置中存在语法错误,则不会应用更改。

完成后,保存并关闭文件,并使用以下命令应用更改:

sudo netplan apply

通过键入以下内容来验证更改:

ip addr show dev ens3
3: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 56:00:00:60:20:0a brd ff:ff:ff:ff:ff:ff
    inet 192.168.121.199/24 brd 192.168.121.255 scope global dynamic ens3
       valid_lft 3575sec preferred_lft 3575sec
    inet6 fe80::5054:ff:feb0:f500/64 scope link 
       valid_lft forever preferred_lft forever

就是这样!我们已为Ubuntu服务器分配了静态IP。

在Ubuntu桌面上配置静态IP地址

在Ubuntu桌面计算机上设置静态IP地址不需要任何技术知识。

  • 在“活动”屏幕中,搜索“网络”,然后单击“网络”图标。这将打开GNOME网络配置设置。单击齿轮图标。
  • 将打开“网络接口设置”对话框:
  • 在“ IPV4”方法部分中,选择“手动”,然后输入静态IP地址,网络掩码和网关。完成后,单击“应用”按钮。

既然我们已经设置了静态IP地址,请使用“ Ctrl + Alt + T”键盘快捷方式或者单击终端图标打开终端,然后通过键入以下内容来验证更改:

ip addr

输出将显示接口IP地址:

...
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:e9:40:f2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.121.106/24 brd 192.168.121.255 scope global dynamic noprefixroute ens3
       valid_lft 3523sec preferred_lft 3523sec
    inet6 fe80::5054:ff:fee9:40f2/64 scope link 
       valid_lft forever preferred_lft forever