Linux设置静态IP教程详解
时间:2026-04-05 09:15:17 282浏览 收藏
本文全面详解了在Linux系统中为网络接口配置静态IP的四种主流方法——适用于现代发行版的Netplan声明式配置、传统Debian系的/etc/network/interfaces编辑、桌面环境常用的nmcli命令行工具,以及仅限临时调试的ip命令操作,覆盖Ubuntu、Debian、Fedora、RHEL等主流系统,并兼顾服务器托管、局域网服务部署和网络隔离等实际场景,每种方法均提供清晰步骤、典型配置示例及关键验证命令,助你快速、准确、可靠地完成静态IP设置。

如果您在Linux系统中需要将网络接口从动态获取IP切换为固定IP地址,则可能是由于服务器托管、局域网服务部署或网络环境隔离等需求。以下是多种兼容主流发行版的静态IP配置方法:
一、使用Netplan配置静态IP(适用于Ubuntu 18.04+、Debian 11+等)
Netplan是现代Ubuntu及部分Debian/Cloud发行版默认采用的声明式网络配置工具,通过YAML文件定义接口行为,并由后端(如systemd-networkd或NetworkManager)渲染生效。配置修改后需显式应用,且缩进错误会导致失败。
1、列出当前Netplan配置文件:sudo ls /etc/netplan/
2、用文本编辑器打开主配置文件(如01-network-manager-all.yaml):sudo nano /etc/netplan/01-network-manager-all.yaml
3、将原DHCP配置段替换为静态配置,确保使用空格缩进(不可用Tab),示例内容如下:
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: false
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
4、保存退出后立即应用配置:sudo netplan apply
5、验证是否生效:ip -br a show ens33
二、编辑/etc/network/interfaces配置静态IP(适用于Debian系传统系统)
该方式依赖ifupdown工具链,常见于未启用Netplan的旧版Debian、Ubuntu Server或定制嵌入式系统。配置写入后需重启网络服务,不与NetworkManager共存。
1、备份原始配置文件:sudo cp /etc/network/interfaces /etc/network/interfaces.bak
2、编辑接口配置文件:sudo nano /etc/network/interfaces
3、定位对应网卡(如eth0或enp0s3),将其配置改为静态模式,示例:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 114.114.114.114
4、保存退出后重启网络服务:sudo systemctl restart networking
5、确认路由表是否包含默认网关:ip route | grep default
三、使用nmcli命令行工具配置静态IP(适用于启用NetworkManager的系统)
nmcli是NetworkManager官方命令行接口,适用于桌面版Ubuntu、Fedora、RHEL 8+等,默认管理有线/无线连接。所有操作实时生效,无需重启服务,且自动同步至后台配置。
1、查看当前活动连接名称:nmcli connection show --active
2、将目标连接设为手动IPv4模式:nmcli connection modify "Wired connection 1" ipv4.method manual
3、设置IP地址与子网前缀:nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.1.100/24
4、配置默认网关:nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.1.1
5、指定DNS服务器并禁用自动获取:nmcli connection modify "Wired connection 1" ipv4.dns "223.5.5.5,223.6.6.6" ipv4.ignore-auto-dns yes
6、重新加载并激活连接:nmcli connection down "Wired connection 1" && nmcli connection up "Wired connection 1"
四、使用ip命令临时设置静态IP(仅当前会话有效)
ip命令直接操作内核网络栈,不依赖任何服务或配置文件,适合调试、应急或一次性测试。该配置在系统重启、网卡重载或执行flush操作后即失效,不会持久化。
1、确认网卡名称:ip -br a | grep UP
2、清除原有IP地址(含DHCP分配的):sudo ip addr flush dev ens33
3、添加新IP及子网掩码:sudo ip addr add 192.168.1.100/24 dev ens33
4、设置默认路由:sudo ip route add default via 192.168.1.1
5、临时修改DNS(影响范围限于当前会话):echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
终于介绍完啦!小伙伴们,这篇关于《Linux设置静态IP教程详解》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
208 收藏
-
273 收藏
-
236 收藏
-
178 收藏
-
155 收藏
-
348 收藏
-
163 收藏
-
486 收藏
-
211 收藏
-
241 收藏
-
247 收藏
-
379 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习