如何使用 Netplan 在 Ubuntu 上配置静态 IP 地址:可靠网络的完整指南

1. 什么是静态 IP 地址?

理解静态 IP 地址

IP 地址是分配给网络中每个设备的唯一标识符。在大多数环境中,IP 地址是通过 DHCP(动态主机配置协议)动态分配的。然而,在特定使用场景下,使用静态 IP 地址是有益的。静态 IP 地址确保即使在重新连接后仍分配相同的地址,从而实现一致且可预测的访问。

静态 IP 地址的优势

使用静态 IP 地址的主要优势包括:

  • 稳定的连接性:重启或重新连接后仍保留相同的地址,便于对服务器、打印机和网络存储(NAS)等设备进行稳定访问。
  • 简化的访问管理:使远程访问和端口转发更容易。例如,在设置 SSH 或远程桌面访问时,使用一致的 IP 地址可以简化配置。
  • 提升的网络安全:通过分配静态 IP,可以限制对特定设备的访问,从而加强网络内部的安全管理。

2. 在 Ubuntu 上准备配置静态 IP 地址

检查你的 Ubuntu 版本

配置静态 IP 地址的步骤可能会因 Ubuntu 版本而异。你可以使用以下命令验证版本:

lsb_release -a

自 Ubuntu 17.10 起,Netplan 已被引入作为网络配置工具。Netplan 允许使用基于 YAML 的设置简洁地编写网络配置。

检查并安装 Netplan

要确认是否已安装 Netplan,请使用以下命令:

netplan --version

如果系统未安装 Netplan,你可以通过以下方式进行安装:

sudo apt install netplan.io

现在,你已经准备好配置静态 IP 地址了。

3. 使用 Netplan 配置静态 IP 地址

创建 YAML 配置文件

要使用 Netplan 配置静态 IP 地址,首先创建一个配置文件。该文件通常存放在 /etc/netplan/ 目录下。虽然文件名可以随意,但建议使用数字前缀,例如 99-config.yaml。使用以下命令创建并打开配置文件:

sudo nano /etc/netplan/99-config.yaml

编辑 YAML 文件

接下来,编辑 YAML 文件以定义静态 IP 配置:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
  • enp3s0 是网络接口名称。使用 ip addr 命令确认正确的接口名称。
  • addresses 指定所需的静态 IP 地址及其子网掩码(例如 192.168.1.100/24)。
  • gateway4 设置路由器的 IP 地址。
  • nameservers 列出 DNS 服务器地址。常用的公共 DNS 如 Google 的 8.8.8.8。

保存并应用配置

文件保存后,使用以下命令应用设置:

sudo netplan apply

这将重新配置网络并应用静态 IP 地址。

4. 验证配置并进行故障排除

如何验证配置

要确认静态 IP 已正确应用,运行:

ip addr show enp3s0

该命令会显示分配给 enp3s0 接口的 IP 地址,帮助你验证配置是否成功。

常见错误及解决方法

缩进错误
YAML 文件对正确的缩进要求极高。缩进不当会导致错误。如果看到类似 “Error in network definition” 的信息,请检查你的空格并确保对齐正确。

网络连接不稳定
如果在设置静态 IP 后网络变得不稳定,IP 地址冲突是常见原因。确保没有其他设备使用相同的地址,并在必要时修改地址。

5. 高级用法:多网络接口和桥接连接

配置多个接口

某些配置需要为多个网络接口分配不同的 IP 地址。Netplan 可以同时配置多个接口。例如:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false
      addresses: [192.168.1.100/24]
    enp4s0:
      dhcp4: false
      addresses: [192.168.2.100/24]

此配置为 enp3s0enp4s0 分配了不同的静态 IP 地址。

设置 VLAN 和桥接

桥接连接和 VLAN 在虚拟机和容器环境中尤为有用。Netplan 使配置桥接变得简便。例如:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
  bridges:
    br0:
      interfaces: [eth0]
      addresses: [192.168.1.50/24]
      gateway4: 192.168.1.1

此配置将 eth0 接口连接到桥接 br0,并分配了静态 IP 地址。

6. 使用静态 IP 地址时的重要注意事项

避免 IP 地址冲突

在分配静态 IP 地址时,确保没有其他设备使用相同的地址。冲突可能导致不稳定和通信问题。分配 IP 前请始终检查网络使用情况。

验证网络配置

子网掩码和网关设置取决于您的网络结构。错误的子网掩码会导致设备无法在同一网络内通信。请查阅路由器文档或咨询网络管理员以获取正确的数值。

侍エンジニア塾