新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

如何在ubuntu配置静态ip地址?

发布时间:2023-03-03 08:35:46

在本文,小编我将介绍如何在ubuntu配置静态ip地址


通常,在大多数网络配置中,ip地址由路由器DHCP服务器动态分配。在不同情况下可能需要设置静态ip地址,例如配置端口转发或运行媒体服务器 。


如何在ubuntu配置静态ip地址?.png


一、使用DHCP配置静态ip地址

为LAN上的装备分配静态ip地址的最简单且推荐的方法是在路由器上配置静态DHCP。静态DHCP或DHCP预留是大多数路由器上的一项功能,它使DHCP服务器自动为特定网络装备分配相同的ip地址,每次装备从DHCP服务器要求地址时。这通过将静态ip分配给装备的唯一 MAC地址来实现。


二、网络计划

Ubuntu 17.10及更高版本使用Netplan作为默许网络管理工具。之前的Ubuntu版本 使用ifconfig它的配置文件/etc/network/interfaces来配置网络。

Netplan配置文件以带有文件扩大名的YAML语法编写.yaml。要使用 Netplan配置网络接口,我们需要为接口创建YAML描写,Netplan 将为所选渲染器工具生成所需的配置文件。

Netplan支持两种渲染器,NetworkManager和Systemd-networkd。NetworkManager主要用于台式机,而Systemd-networkd用于没有 GUI的服务器。


三、在Ubuntu服务器上配置静态ip地址

在Ubuntu 20.04上,系统使用“可预测的网络接口名称”来辨认网络接口。

设置静态ip地址的第一步是肯定要配置的以太网接口的名称。为此,请使用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

2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000

    link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff

Netplan配置文件存储在该/etc/netplan目录中。我们可能会在此目录中找到一个或多个YAML文件。文件的名称可能因设置而异。通常,该文件被命名为01-netcfg.yaml、50-cloud-init.yaml或NN_interfaceName.yaml,但在我们的系统中它可能不同。

sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

network: {config: disabled}

要在网络接口上分配静态ip地址,请使用文本编辑器打开YAML配置文件:

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

/etc/netplan/01-netcfg.yaml

network:

  version: 2

  renderer: networkd

  ethernets:

    ens3:

      dhcp4: yes

在更改配置之前,让我们扼要解释一下代码。

network每一个Netplan Yaml文件都以致少包括两个一定要元素的键开头。第一个一定要元素是网络配置格式的版本,第二个是装备类型。装备类型可以是ethernets、bonds、bridges或vlans。

上面的配置还有一行显示类型renderer。开箱即用,如果我们在服务器模式下安装Ubuntu,渲染器将配置为用作networkd后端。

在装备类型 ( ethernets) 下,我们可以指定一个或多个网络接口。在此示例中,我们只有一个接口ens3配置为从DHCP服务器获得ip地址dhcp4: yes。

要为接口分配静态ip地址ens3,请按以下方式编辑文件:

将DHCP设置为dhcp4: no.

指定静态ip地址。我们可以在下面addresses:添加一个或多个将分配给网络接口的IPv4或IPv6 IP地址。

指定网关。

在下nameservers,设置名称服务器的ip地址。

/etc/netplan/01-netcfg.yaml

network:

  version: 2

  renderer: networkd

  ethernets:

    ens3:

      dhcp4: no

      addresses:

        - 192.168.121.221/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

2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

    link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff

    inet 192.168.121.221/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。