当前位置: 首页 > news >正文

Ubuntu 配置网络接口端点(静态 IP 地址)详细教程

在 Ubuntu 系统中,配置网络接口端点通常指的是为您的有线或无线网卡设置一个固定的 IP 地址、子网掩码、网关以及 DNS 服务器。这对于服务器或者需要稳定网络标识的设备来说非常重要。

  1. 使用 Netplan (Ubuntu 17.10 及更高版本的默认方式)
  2. 使用 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 配置文件:

使用您喜欢的文本编辑器(如 nanovim)打开配置文件。这里以 nano 为例:

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

3. 配置静态 IP 地址:

您需要修改文件内容,使其包含静态 IP 的配置。以下是一个示例,请根据您的实际网络环境和需求进行修改:

network:version: 2renderer: networkd  # 或者 network-manager,取决于您的系统,通常服务器为 networkdethernets:enp0s3:  # <-- 将 'enp0s3' 替换为您的实际网络接口名称dhcp4: no          # 关闭 IPv4 DHCPdhcp6: no          # 可选:关闭 IPv6 DHCPaddresses:- 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,并删除 addressesgateway4/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
如果同时存在 gateway4routes 中定义的默认网关,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 staticaddress 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 downsudo 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 和外网连接

相关文章:

  • 紫光同创FPGA实现HSSTHP光口视频传输+图像缩放,基于Aurora 8b/10b编解码架构,提供3套PDS工程源码和技术支持
  • 如何有效防御服务器DDoS攻击
  • Tiny Machine Learning在人类行为分析中的全面综述
  • spring4.x详解介绍
  • 力扣热题100之反转链表
  • vue3 element-plus 输入框回车跳转页面问题处理
  • 《Python星球日记》 第43天:机器学习概述与Scikit-learn入门
  • 协方差与皮尔逊相关系数:从定义到应用的全面解析
  • Coze平台 搭建「AI美食视频制作工作流」的详细实现方案
  • Java消息队列性能优化实践:从理论到实战
  • JVM的双亲委派模型
  • Spark 之 YarnCoarseGrainedExecutorBackend
  • Kubernetes学习笔记
  • Python训练营打卡——DAY18(2025.5.7)
  • 按拼音首字母进行排序组成新的数组(vue)
  • Prometheus实战教程:k8s平台-Redis监控案例
  • MySQL-数据查询(多表连接JOIN)-04-(11-2)
  • Go——项目实战
  • Kotlin zip 函数的作用和使用场景
  • 【纯小白博客搭建】Hugo+Github博客部署及主题(stack)美化等界面优化记录
  • 重温经典|开播20周年,仙剑的那些幕后你知道吗?
  • 巴总理召开国家指挥当局紧急会议
  • 要更加冷静地看待“东升西降”的判断
  • 冯德莱恩:欧美贸易谈判前不会前往美国会见特朗普
  • 习近平会见古巴国家主席迪亚斯-卡内尔
  • 构建菌株有效降解有机污染物,上海交大科研成果登上《自然》