原文: Setting a Static IP in Ubuntu – Linux IP Address Tutorial

在大多数网络配置中,路由器 DHCP 服务器默认动态分配 IP 地址。如果你想确保系统 IP 每次都保持不变,可以强制它使用静态 IP。

这就是我们将在本文中学习的内容。我们将探讨在 Ubuntu 中设置静态 IP 的两种方法。

静态 IP 地址适用于以下情况:

  • 配置端口转发
  • 将系统配置为服务器,如 FTP 服务器、Web 服务器或媒体服务器

前提条件:

要学习本教程,你需要具备以下条件:

  • 安装 Ubuntu,最好有图形用户界面
  • sudo权限,因为我们将修改系统配置文件

如何使用命令行设置静态 IP

在本节中,我们将详细介绍配置静态 IP 所需的所有步骤。

第 1 步:启动终端

可以使用快捷键Ctrl+ Shift+t 启动终端。

第 2 步:记录当前网络的信息

我们需要当前网络的详细信息,如当前分配的 IP、子网掩码和网络适配器名称,以便在配置中进行必要的更改。

使用下面的命令查找可用适配器的详细信息和各自的 IP 信息。

ip a

输出如下:

image-14

对我的网络来说,当前的适配器是eth0。你的系统可能与此不同

  • 注意当前网络适配器名称

由于我的当前适配器是eth0,因此下面的详细信息与之相关。

6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:df:c3:ad brd ff:ff:ff:ff:ff:ff
    inet 172.23.199.129/20 brd 172.23.207.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fedf:c3ad/64 scope link
       valid_lft forever preferred_lft forever

值得注意的是,当前的 IP172.23.199.129是动态分配的。它为网络掩码预留了20位。广播地址为 172.23.207.255

  • 注意子网

我们可以使用下面的命令查找子网掩码的详细信息:

ifconfig -a

根据你的适配器选择输出,并仔细阅读。

image
IP 是 172.23.199.129,子网掩码是 255.255.240.0

根据类和子网掩码,我的网络可用主机 IP 范围是:172.23.192.1 - 172.23.207.254

子网划分是一个庞大的话题。有关子网划分和可用 IP 范围的更多信息,请查看本文

第 3 步:更改配置

Netplan是最新版 Ubuntu 的默认网络管理工具。Netplan 的配置文件使用 YAML 编写,扩展名为.yaml

注意:要小心配置文件中的空格,因为它们是语法的一部分。如果缩进不对,文件将无法正常读取。

  • 转到位于/etc/netplannetplan目录。

ls进入/etc/netplan目录。

如果你没有看到任何文件,可以创建一个。文件名可以是任何名字,但按照惯例,应该以01-这样的数字开头,以.yaml 结尾。如果有多个配置文件,数字会设定优先级。

我将创建一个名为01-network-manager-all.yaml 的文件。

让我们把这些行添加到文件中。我们将逐步创建文件。

network:
 version: 2
01-network-manager-all.yaml

Netplan 配置文件的顶层节点是一个network:映射,其中包含 version:2(表示使用网络定义版本 2)。

接下来,我们将添加一个渲染器来控制整个网络。默认情况下,渲染器为systemd-networkd,但我们将其设置为NetworkManager

现在,我们的文件看起来是这样的:

network:
 version: 2
 renderer: NetworkManager

接下来,我们将添加ethernets,并参考之前在步骤#2 中查找的网络适配器名称。其他支持的设备类型包括 modems:wifis:bridges:

network:
 version: 2
 renderer: NetworkManager
 ethernets:
   eth0:
01-network-manager-all.yaml

由于我们设置的是静态 IP,不想为该网络适配器动态分配 IP,因此将dhcp4设置为 no

network:
 version: 2
 renderer: NetworkManager
 ethernets:
   eth0:
     dhcp4: no
01-network-manager-all.yaml

现在,我们将根据子网和可用 IP 范围指定第 2 步中提到的特定静态 IP。它是172.23.207.254

接下来,我们要指定网关,即分配 IP 地址的路由器或网络设备。我的网关是192.168.1.1

network:
 version: 2
 renderer: NetworkManager
 ethernets:
   eth0:
     dhcp4: no
     addresses: [172.23.207.254/20]
     gateway4: 192.168.1.1
01-network-manager-all.yaml

接下来,我们将定义 nameservers。这是定义 DNS 服务器或第二个 DNS 服务器的地方。这里的第一个值是 8.8.8.8,它是 Google 的主 DNS 服务器,第二个值是8.8.8.4,它是 Google 的辅助 DNS 服务器。这些值可根据你的要求而有所不同。

network:
 version: 2
 renderer: NetworkManager
 ethernets:
   eth0:
     dhcp4: no
     addresses: [172.23.207.254/20]
     gateway4: 192.168.1.1
     nameservers:
         addresses: [8.8.8.8,8.8.8.4]
01-network-manager-all.yaml

第 4 步:应用并测试更改

在永久应用更改之前,我们可以先使用该命令测试更改:

sudo netplan try

如果没有错误,它会询问你是否要应用这些设置。

最后,使用 ip a 命令测试更改,你会发现静态 IP 已被应用。

image-17
应用静态 IP

如何使用图形用户界面设置静态 IP

通过 Ubuntu 图形用户界面/桌面设置静态 IP 非常简单。步骤如下:

  • 搜索 settings
  • 点击 “Network” 或 “Wi-Fi” 选项卡,具体取决于你要修改的界面
  • 要打开接口设置,点击接口名称旁边的齿轮图标
  • 在 IPV4 标签中选择 “Manual“,然后输入静态 IP 地址、掩码和网关
  • 单击 Apply 按钮
image-16
使用 Ubuntu 桌面手动设置静态 IP
  • 使用命令 ip a 来验证
image-18
通过图形用户界面更新静态 IP

总结

本文介绍了在 Ubuntu 中设置静态 IP 的两种方法。希望这篇文章对你有所帮助。

你从本教程中学到的最喜欢的东西是什么?在 Twitter 上告诉我!

你可以在这里阅读我的其他文章。