在 Ubuntu 系统中,配置网络接口端点通常指的是为您的有线或无线网卡设置一个固定的 IP 地址、子网掩码、网关以及 DNS 服务器。这对于服务器或者需要稳定网络标识的设备来说非常重要。
- 使用 Netplan (Ubuntu 17.10 及更高版本的默认方式)
- 使用 ifupdown (通过
/etc/network/interfaces
文件,适用于 Ubuntu 16.04 及更早版本,或某些特定场景下仍可能使用)
Ubuntu博客: https://cn.ubuntu.com/blog/
Ubuntu文档: https://ubuntu.com/blog/tag/documentation/
Ubuntu教程: https://ubuntu.com/tutorials/
步骤一:识别您的网络接口名称
在开始配置之前,您需要知道要配置的网络接口的名称。
打开终端,输入以下命令之一:
ip addr
或者,如果 ifconfig
已安装(较旧的系统或手动安装):
ifconfig -a
在输出中,您会看到类似 eth0
, enp0s3
, wlp2s0
(无线网卡) 等名称。记下您希望配置静态 IP 的那个接口的名称。例如,我们假设您的接口名称是 enp0s3
。
方法一:使用 Netplan 配置静态 IP (Ubuntu 17.10 及更高版本)
Netplan 是 Ubuntu 较新版本中用于网络配置的工具。它使用 YAML 格式的配置文件。
1. 定位并备份 Netplan 配置文件:
Netplan 的配置文件通常位于 /etc/netplan/
目录下。文件名可能有所不同,常见的有 01-netcfg.yaml
, 50-cloud-init.yaml
, 或其他以 .yaml
结尾的文件。
首先,列出该目录下的文件以确定您的配置文件名:
ls /etc/netplan/
假设您的配置文件是 01-netcfg.yaml
。在编辑之前,强烈建议备份它:
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
2. 编辑 Netplan 配置文件:
使用您喜欢的文本编辑器(如 nano
或 vim
)打开配置文件。这里以 nano
为例:
sudo nano /etc/netplan/01-netcfg.yaml
3. 配置静态 IP 地址:
您需要修改文件内容,使其包含静态 IP 的配置。以下是一个示例,请根据您的实际网络环境和需求进行修改:
network:
version: 2
renderer: networkd # 或者 network-manager,取决于您的系统,通常服务器为 networkd
ethernets:
enp0s3: # <-- 将 'enp0s3' 替换为您的实际网络接口名称
dhcp4: no # 关闭 IPv4 DHCP
dhcp6: no # 可选:关闭 IPv6 DHCP
addresses:
- 192.168.1.100/24 # <-- 设置您的静态 IP 地址和子网掩码 (CIDR 格式)
# - 2001:db8::c001/64 # 可选:IPv6 地址示例
# routes: # 旧版 Netplan 使用 'gateway4:',新版倾向于使用 'routes:'
# - to: default
# via: 192.168.1.1 # <-- 设置您的默认网关
gateway4: 192.168.1.1 # <-- 设置您的 IPv4 默认网关 (对于较新版 Netplan,可注释掉此行,使用上面的 routes)
# gateway6: 2001:db8::1 # 可选:IPv6 网关示例
nameservers:
addresses: [8.8.8.8, 1.1.1.1] # <-- 设置您的 DNS 服务器地址 (例如 Google DNS 和 Cloudflare DNS)
# search: [mydomain.local] # 可选:DNS 搜索域
关键参数解释:
* version: 2
: Netplan 配置文件的版本。
* renderer
: 指定后端网络管理工具。服务器通常使用 networkd
,桌面版可能使用 NetworkManager
。您可以通过 cat /etc/netplan/your-config-file.yaml
查看当前 renderer。如果您的系统使用 NetworkManager 并且希望继续由它管理,请将 renderer
设置为 NetworkManager
。
* ethernets
: 定义有线网络接口的配置。如果是无线接口,这里可能是 wifis
。
* enp0s3
: 将此替换为您的实际网络接口名称。
* dhcp4: no
: 禁用 IPv4 DHCP。如果您希望通过 DHCP 获取 IP,请设置为 yes
,并删除 addresses
和 gateway4
/routes
的配置。
* addresses
: 一个列表,包含一个或多个 IP 地址及其子网掩码(使用 CIDR 表示法)。
* 例如 192.168.1.100/24
表示 IP 地址 192.168.1.100
,子网掩码 255.255.255.0
。
* gateway4
: IPv4 默认网关的 IP 地址。
* 注意: 较新版本的 Netplan 推荐使用 routes
来定义默认网关,如下所示:
yaml routes: - to: default via: 192.168.1.1
如果同时存在 gateway4
和 routes
中定义的默认网关,Netplan 可能会报错或行为不确定。建议使用其中一种。
* nameservers
:
* addresses
: 一个 DNS 服务器 IP 地址的列表。
4. 应用 Netplan 配置:
保存并关闭文件后(在 nano
中是 Ctrl+O
保存, Enter
确认, Ctrl+X
退出),应用新的网络配置:
sudo netplan apply
如果命令执行成功且没有错误提示,那么配置应该已经生效。
如果遇到问题,可以使用以下命令来获取更详细的调试信息:
sudo netplan --debug apply
这将帮助您定位 YAML 文件中的语法错误或其他配置问题。
5. 验证网络配置:
使用以下命令检查 IP 地址是否已正确设置:
ip addr show enp0s3 # 将 'enp0s3' 替换为您的接口名称
您应该能看到您配置的静态 IP 地址。
测试网络连接和 DNS 解析:
ping -c 3 192.168.1.1 # ping 您的网关
ping -c 3 google.com # ping 一个外部地址以测试 DNS 和外网连接
方法二:使用 ifupdown (通过 /etc/network/interfaces
) 配置静态 IP (Ubuntu 16.04 及更早版本或特定情况)
对于较旧的 Ubuntu 版本,或者在某些特定情况下(例如,如果系统明确配置为不使用 Netplan),您可能需要编辑 /etc/network/interfaces
文件。
1. 备份 /etc/network/interfaces
文件:
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
2. 编辑 /etc/network/interfaces
文件:
sudo nano /etc/network/interfaces
3. 配置静态 IP 地址:
您需要修改或添加与您的网络接口相关的配置段。以下是一个示例:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface (将 'enp0s3' 替换为您的接口名称)
auto enp0s3
iface enp0s3 inet static
address 192.168.1.100 # <-- 您的静态 IP 地址
netmask 255.255.255.0 # <-- 您的子网掩码
gateway 192.168.1.1 # <-- 您的默认网关
dns-nameservers 8.8.8.8 1.1.1.1 # <-- 您的 DNS 服务器 (用空格分隔多个)
# dns-search mydomain.local # 可选:DNS 搜索域
关键参数解释:
* auto enp0s3
: 表示在系统启动时自动启用名为 enp0s3
的接口。
* iface enp0s3 inet static
: 表示将 enp0s3
接口配置为使用静态 IPv4 地址。
* address
: 您的静态 IP 地址。
* netmask
: 您的子网掩码。
* gateway
: 您的默认网关 IP 地址。
* dns-nameservers
: 一个或多个 DNS 服务器的 IP 地址,用空格分隔。
如果您的接口之前是通过 DHCP 配置的,相关的行可能看起来像:
# iface enp0s3 inet dhcp
您需要注释掉(在行首加 #
)或删除 DHCP 配置行,然后添加上面的静态配置。
4. 应用网络配置:
保存并关闭文件后,您需要重新启动网络服务或单独重置该接口以使更改生效。
-
重启网络服务 (可能会短暂中断所有网络连接):
sudo systemctl restart networking.service
或者在非常旧的系统上:
sudo /etc/init.d/networking restart
-
单独重置接口 (推荐,影响范围较小):
sudo ifdown enp0s3 && sudo ifup enp0s3
这会先禁用接口,然后再启用它,加载新的配置。如果
ifdown
失败(例如,因为接口正忙),您可能需要先sudo ifconfig enp0s3 down
再sudo ifup enp0s3
,或者直接重启网络服务/系统。
5. 验证网络配置:
使用以下命令检查 IP 地址是否已正确设置:
ip addr show enp0s3 # 或者 ifconfig enp0s3
您应该能看到您配置的静态 IP 地址。
测试网络连接和 DNS 解析:
ping -c 3 192.168.1.1 # ping 您的网关
ping -c 3 google.com # ping 一个外部地址以测试 DNS 和外网连接